ui5plugin-parser
Version:
87 lines (86 loc) • 3.47 kB
TypeScript
import { UI5JSParser } from "../../../../parser/UI5JSParser";
import { IAcornLocation } from "../../jsparser/AcornSyntaxAnalyzer";
import { ISyntaxAnalyser } from "../../jsparser/ISyntaxAnalyser";
import { IUIAssociation, IUIMethod } from "../AbstractBaseClass";
import { AbstractCustomClass, ICustomClassField, ICustomClassMethod, ICustomMember, IUIDefine } from "../AbstractCustomClass";
interface ILooseObject {
[key: string]: any;
}
interface IComment {
text: string;
start: number;
end: number;
jsdoc: any;
loc: IAcornLocation;
}
export interface UI5Ignoreable {
ui5ignored?: boolean;
}
export interface ICustomClassJSMethod extends ICustomClassMethod<any> {
acornParams?: any;
}
export interface ICustomClassJSField extends ICustomClassField<any> {
customData?: ILooseObject;
}
export declare class CustomJSClass extends AbstractCustomClass<any, any, any, any> {
classText: string;
node: any;
UIDefine: IUIDefine<any>[];
parentClassNameDotNotation: string;
fsPath: string;
methods: ICustomClassJSMethod[];
fields: ICustomClassJSField[];
comments: IComment[];
acornClassBody: any;
acornMethodsAndFields: any[];
fileContent: any;
private _parentVariableName;
defaultModelClassName?: string;
acornReturnedClassExtendBody: any | undefined;
classBodyAcornVariableName: string | undefined;
private readonly syntaxAnalyser;
constructor(className: string, syntaxAnalyser: ISyntaxAnalyser, parser: UI5JSParser, documentText?: string);
private _enrichClassInfoWithJSDocs;
getMembers(): ICustomMember<any>[];
protected _fillIsAbstract(): void;
private _enrichMemberInfoWithJSDocs;
private _fillParamJSTypesFromTag;
private _fillFieldsRecursively;
private _enrichMethodParamsWithHungarianNotation;
private _readFileContainingThisClassCode;
protected _getUIDefine(): IUIDefine<any>[];
private _generateClassNameDotNotationFor;
private _getThisClassBodyAcorn;
private _getReturnKeywordFromBody;
private _getClassBodyFromPartAcorn;
private _getParentNameFromManifest;
private _getClassBodyFromClassExtendAcorn;
private _isThisPartAClassBodyAcorn;
isAssignmentStatementForThisVariable(node: any): any;
protected _fillMethods(): ICustomClassMethod<any>[];
protected _fillFields(): ICustomClassField<any>[];
protected _fillParentClassName(): void;
protected _fillMethodsAndFields(): void;
private _generateParamTextForMethod;
private _generateCustomDataForObject;
getUIDefineAcornBody(): any;
private _getUIDefineItself;
private _fillMethodsAndFieldsFromPrototype;
static generateDescriptionForMethod(method: IUIMethod): string;
fillTypesFromHungarionNotation(): void;
static getTypeFromHungarianNotation(variable?: string): string | undefined;
private _fillMethodsFromMetadata;
private _fillPropertyMethods;
private _fillAggregationMethods;
private _fillEventMethods;
private _fillAssociationMethods;
protected _fillUI5Metadata(): void;
protected _fillInterfaces(metadata: any): any;
protected _fillCustomInterfaces(customMetadata: any): void;
protected _fillAggregations(metadata: any): any;
protected _fillEvents(metadata: any): any;
protected _fillProperties(metadata: any): any;
protected _fillAssociations(metadata: any): IUIAssociation[];
private _enrichVariablesWithJSDocTypesAndVisibility;
}
export {};