ui5plugin-parser
Version:
29 lines (28 loc) • 1.53 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ParentMethodStrategy = void 0;
const CustomJSClass_1 = require("../../ui5class/js/CustomJSClass");
const FieldPropertyMethodGetterStrategy_1 = require("./abstraction/FieldPropertyMethodGetterStrategy");
class ParentMethodStrategy extends FieldPropertyMethodGetterStrategy_1.FieldPropertyMethodGetterStrategy {
getFieldsAndMethods(document, position) {
let fieldsAndMethods;
const className = this.parser.fileReader.getClassNameFromPath(document.fileName);
if (className) {
const UIClass = this.parser.classFactory.getUIClass(className);
if (UIClass instanceof CustomJSClass_1.CustomJSClass && UIClass.parentClassNameDotNotation) {
const positionAtClassBodyPropertyName = this.parser.reusableMethods.getIfPositionIsInPropertyName(UIClass, position);
if (positionAtClassBodyPropertyName) {
const fields = this.parser.classFactory.getClassFields(UIClass.parentClassNameDotNotation, false);
const methods = this.parser.classFactory.getClassMethods(UIClass.parentClassNameDotNotation, false);
fieldsAndMethods = {
className: "__override__",
fields: fields,
methods: methods
};
}
}
}
return fieldsAndMethods;
}
}
exports.ParentMethodStrategy = ParentMethodStrategy;