UNPKG

ui5plugin-parser

Version:
22 lines (21 loc) 1.09 kB
import { AbstractUI5Parser } from "../../../../parser/abstraction/AbstractUI5Parser"; import { AbstractCustomClass, ICustomMember } from "../../ui5class/AbstractCustomClass"; import { IXMLFile } from "../filereader/IFileReader"; import { IRange } from "../range/adapters/RangeAdapter"; export interface ILocation { filePath: string; range: IRange; } export interface IReferenceCodeLensCacheable { [className: string]: { [methodName: string]: ILocation[]; }; } export default abstract class ReferenceFinderBase<MemberType extends ICustomMember, ParserType extends AbstractUI5Parser<CustomClass>, CustomClass extends AbstractCustomClass> { protected readonly _parser: ParserType; constructor(parser: ParserType); abstract getReferenceLocations(member: MemberType): ILocation[]; protected abstract _addLocationsFromUIClass(member: MemberType, UIClass: CustomClass, locations: ILocation[]): void; protected _addLocationsFromXMLDocument(XMLDoc: IXMLFile, member: MemberType, locations: ILocation[]): void; private _gerIndexOfAttributeValue; }