ui5plugin-parser
Version:
77 lines (76 loc) • 3.44 kB
TypeScript
import { IUI5Parser } from "../../../../parser/abstraction/IUI5Parser";
import { IUIMethod } from "../../ui5class/AbstractBaseClass";
import { IXMLFile } from "../filereader/IFileReader";
export interface ITag {
text: string;
positionBegin: number;
positionEnd: number;
attributes?: string[];
}
export interface IHierarchicalTag extends ITag {
tags: IHierarchicalTag[];
}
export declare enum PositionType {
InExistingAttribute = "1",
InNewAttribute = "7",
Content = "2",
InTheString = "3",
InTheClassName = "4",
InComments = "5",
InBodyOfTheClass = "6"
}
export interface IXMLDocumentIdData {
id: string;
className: string;
tagText: string;
sourceClassName: string;
}
export declare class XMLParser {
private readonly _parser;
constructor(parser: IUI5Parser);
getXMLFunctionCallTagsAndAttributes(viewOrFragment: IXMLFile, eventHandlerName: string, functionCallClassName?: string): {
tag: ITag;
attributes: string[];
}[];
getClassPathFromRequire(attributesWithRequire: string[], className: string): string;
getAllAttributesWithRequire(tags: ITag[]): string[];
getAllIDsInCurrentView(XMLFile: IXMLFile): IXMLDocumentIdData[];
getLibraryNameInPosition(XMLFile: IXMLFile, currentPosition: number): any;
getClassNameInPosition(XMLFile: IXMLFile, currentPosition: number): string;
getParentTagAtPosition(XMLFile: IXMLFile, position: number, closedTags?: string[]): ITag;
getTagInPosition(XMLFile: IXMLFile, position: number): ITag;
private _getTagInPosition;
private _findInPosition;
getTagBeginEndPosition(XMLFile: IXMLFile, position: number): {
positionBegin: number;
positionEnd: number;
};
getIfPositionIsNotInComments(document: IXMLFile, position: number): boolean;
getIfPositionIsInString(XMLFile: IXMLFile, position: number): boolean;
getTagPrefix(tagText: string): string;
getFullClassNameFromTag(tag: ITag, XMLFile: IXMLFile): string;
getClassNameFromTag(tagText: string): string;
getLibraryPathFromTagPrefix(XMLFile: IXMLFile, tagPrefix: string, position: number): any;
getPositionType(XMLFile: IXMLFile, currentPosition: number): PositionType.InExistingAttribute | PositionType.InNewAttribute | PositionType.InTheString | PositionType.InTheClassName | PositionType.InBodyOfTheClass;
getPositionBeforeStringBegining(XMLViewText: string, currentPosition: number): number;
getNearestAttribute(XMLViewText: string, currentPosition: number): string;
getMethodsOfTheControl(controllerName: string): IUIMethod[];
private _getClassMethodsRecursively;
getPrefixForLibraryName(libraryName: string, document: string): string | undefined;
getTagHierarchy(XMLFile: IXMLFile): IHierarchicalTag[];
private _fillSubTags;
getAllTags(XMLFile: IXMLFile): ITag[];
fillXMLParsedData(XMLFile: IXMLFile): void;
getStringPositionMapping(document: IXMLFile): {
positionMapping: boolean[];
areAllStringsClosed: boolean;
};
private _getTagBeginingIndex;
getAttributesOfTheTag(tag: ITag | string): string[] | null;
getAttributeNameAndValue(attribute: string): {
attributeName: string;
attributeValue: string;
};
getPositionsOfFunctionCallInXMLText(functionCallName: string, XMLText: string): number[];
getEventHandlerNameFromAttributeValue(attributeValue: string): string;
}