UNPKG

@lcap/nasl

Version:

NetEase Application Specific Language

60 lines 3.02 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getFullAnnotationAndModuleGraph = void 0; const nasl_utils_1 = require("@lcap/nasl-utils"); const body_1 = require("../release-body/body"); const utils_1 = require("./utils"); /** 全量标注 */ async function getFullAnnotationAndModuleGraph(app, server, logger = nasl_utils_1.internalLogger) { await logger.info(utils_1.LogEventName, '开始进行全量标注'); await logger.info(utils_1.LogEventName, '开始 TS 代码翻译'); await server.openApp(app); await logger.info(utils_1.LogEventName, '结束 TS 代码翻译'); await logger.info(utils_1.LogEventName, '开始类型标注'); // // 使用增量标注的模块图建立初始引用关系图 // // @ts-ignore // server.symbolGraph = new SymbolGraph(app); // // @ts-ignore // server.refMgr = new ReferenceManager(server.symbolGraph, app); // console.time('Collect All Global Definitions'); // // TODO wudengke 重构一下,把所有对nasl的加载放到一个函数里处理 // parseBuiltInFnTsDeclToMaps('nasl.util', naslStdlibMap['nasl.util.ts']); // server.refMgr.buildTsQNameDefs('nasl.auth', naslStdlibMap['nasl.auth.ts']); // server.refMgr.buildTsQNameDefs('nasl.http', naslStdlibMap['nasl.http.ts']); // server.refMgr.buildTsQNameDefs('nasl.logging', naslStdlibMap['nasl.logging.ts']); // server.refMgr.buildTsQNameDefs('nasl.error', naslStdlibMap['nasl.error.ts']); // server.refMgr.buildTsQNameDefs('nasl.configuration', naslStdlibMap['nasl.configuration.ts']); // server.refMgr.buildTsQNameDefs('nasl.ui', naslStdlibMap['nasl.ui.ts']); // server.typingEnv = env.typeBindings; // // @ts-ignore // globalserver.getAllDiagnostics = () => { // errorDiagnoser.getAllDiagnostics(server.toRaw(app)); // }; // // @ts-ignore // globalserver.checkNode = (node) => { // const { semErr, checkNode } = errorDiagnoser; // semErr.clear(); // checkNode(server.toRaw(node)); // return semErr; // }; // console.timeEnd('Collect All Global Definitions'); // // 必须先做这个 // env.setRefMgr(server.toRaw(server.refMgr)); // // 先检查 Entity、Structure、Enum // console.log('先检查 Entity、Structure、Enum、依赖库、连接器中的定义'); // // 检查所有全局逻辑 const annotationData = await (0, body_1.__getNaslAnnotatedJSON)(app); await logger.info(utils_1.LogEventName, '结束类型标注'); await logger.info(utils_1.LogEventName, '开始构建模块依赖图'); const moduleGraph = (0, utils_1.createModuleGraphByAnnotation)(app); await logger.info(utils_1.LogEventName, '完成构建模块依赖图'); return { annotationData, moduleGraph, updatedModules: [], isFull: true, isSkipFrontendGenerator: false, }; } exports.getFullAnnotationAndModuleGraph = getFullAnnotationAndModuleGraph; //# sourceMappingURL=full.js.map