ui5plugin-parser
Version:
41 lines (40 loc) • 2.64 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.UI5JSParser = void 0;
const PackageParserConfigHandler_1 = require("../classes/config/PackageParserConfigHandler");
const HTTPHandler_1 = require("../classes/http/HTTPHandler");
const URLBuilder_1 = require("../classes/http/URLBuilder");
const SAPIcons_1 = require("../classes/librarydata/SAPIcons");
const SAPNodeDAO_1 = require("../classes/librarydata/SAPNodeDAO");
const UI5MetadataDAO_1 = require("../classes/librarydata/UI5MetadataDAO");
const AcornSyntaxAnalyzer_1 = require("../classes/parsing/jsparser/AcornSyntaxAnalyzer");
const JSClassFactory_1 = require("../classes/parsing/ui5class/factory/JSClassFactory");
const JSFileReader_1 = require("../classes/parsing/util/filereader/JSFileReader");
const ResourceModelData_1 = require("../classes/parsing/util/i18n/ResourceModelData");
const TextDocumentTransformer_1 = require("../classes/parsing/util/textdocument/TextDocumentTransformer");
const XMLParser_1 = require("../classes/parsing/util/xml/XMLParser");
const ReusableMethods_1 = require("../classes/ReusableMethods");
const AbstractUI5Parser_1 = require("./abstraction/AbstractUI5Parser");
class UI5JSParser extends AbstractUI5Parser_1.AbstractUI5Parser {
constructor(params, packagePath) {
super(packagePath);
this.workspaceFolder = params.workspaceFolder;
this.syntaxAnalyser = new AcornSyntaxAnalyzer_1.AcornSyntaxAnalyzer(this);
this.classFactory = params?.classFactory ?? new JSClassFactory_1.JSClassFactory(this.syntaxAnalyser);
this.classFactory.setParser(this);
this.configHandler = params?.configHandler ?? new PackageParserConfigHandler_1.PackageParserConfigHandler(packagePath);
this.fileReader = params?.fileReader ?? new JSFileReader_1.JSFileReader(this.configHandler, this.classFactory);
this.fileReader.setParser(this);
this.icons = new SAPIcons_1.SAPIcons(this);
this.metadataDAO = new UI5MetadataDAO_1.UI5MetadataDAO(this);
this.nodeDAO = new SAPNodeDAO_1.SAPNodeDAO(this);
this.urlBuilder = new URLBuilder_1.URLBuilder(this.configHandler);
this.httpHandler = new HTTPHandler_1.HTTPHandler(this.configHandler);
this.resourceModelData = new ResourceModelData_1.ResourceModelData(this);
this.textDocumentTransformer = new TextDocumentTransformer_1.TextDocumentTransformer(this);
this.reusableMethods = new ReusableMethods_1.ReusableMethods(this.textDocumentTransformer);
this.xmlParser = new XMLParser_1.XMLParser(this);
return this;
}
}
exports.UI5JSParser = UI5JSParser;