ui5plugin-parser
Version:
37 lines (36 loc) • 1.94 kB
TypeScript
import { MethodDeclaration, ObjectLiteralElementLike, ObjectLiteralExpression, PropertyAssignment, TypeChecker } from "ts-morph";
import { UI5TSParser } from "../../../../parser/UI5TSParser";
import { AbstractCustomClass, ICustomClassField, ICustomClassMethod, IUIDefine, IViewsAndFragmentsCache } from "../AbstractCustomClass";
export interface ICustomClassTSObjectField extends ICustomClassField<PropertyAssignment> {
}
export interface ICustomClassTSObjectMethod extends ICustomClassMethod<PropertyAssignment | MethodDeclaration> {
}
export declare class CustomTSObject extends AbstractCustomClass<ObjectLiteralElementLike, ObjectLiteralElementLike, ObjectLiteralExpression> {
defaultModelClassName?: string;
parentClassNameDotNotation: string;
readonly typeChecker: TypeChecker;
protected _fillIsAbstract(): void;
protected _getUIDefine(): IUIDefine<any>[];
protected _fillParentClassName(): void;
methods: ICustomClassTSObjectMethod[];
fields: ICustomClassTSObjectField[];
fsPath: string;
readonly classText: string;
UIDefine: IUIDefine[];
relatedViewsAndFragments?: IViewsAndFragmentsCache[];
readonly node: ObjectLiteralExpression;
private readonly _sourceFile;
constructor(objectLiteralExpression: ObjectLiteralExpression, parser: UI5TSParser, typeChecker: TypeChecker);
loadTypes(): void;
_fillUIDefine(): void;
private _generateClassNameDotNotationFor;
protected _fillFields(metadata?: any, fillTypes?: boolean): ICustomClassTSObjectField[];
protected _fillMethods(metadata?: any, fillTypes?: boolean): ICustomClassTSObjectMethod[];
private _modifyType;
protected _fillUI5Metadata(classInfo?: any, fillTypes?: boolean): void;
protected _fillInterfaces(): never[];
protected _fillAggregations(): never[];
protected _fillEvents(): never[];
protected _fillProperties(): never[];
protected _fillAssociations(): never[];
}