ui5plugin-parser
Version:
22 lines (21 loc) • 1.09 kB
TypeScript
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;
}