arkanalyzer 1.0.93 → 2.0.0-beta1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/Config.d.ts +7 -0
- package/lib/Config.d.ts.map +1 -1
- package/lib/Scene.d.ts +134 -170
- package/lib/Scene.d.ts.map +1 -1
- package/lib/Scene.js +412 -976
- package/lib/callgraph/algorithm/AbstractAnalysis.js +3 -2
- package/lib/callgraph/algorithm/RapidTypeAnalysis.d.ts.map +1 -1
- package/lib/callgraph/algorithm/RapidTypeAnalysis.js +2 -3
- package/lib/callgraph/model/CallGraph.js +1 -1
- package/lib/callgraph/pointerAnalysis/PTAUtils.d.ts +1 -3
- package/lib/callgraph/pointerAnalysis/PTAUtils.d.ts.map +1 -1
- package/lib/callgraph/pointerAnalysis/PTAUtils.js +17 -7
- package/lib/callgraph/pointerAnalysis/Pag.d.ts.map +1 -1
- package/lib/callgraph/pointerAnalysis/Pag.js +4 -14
- package/lib/callgraph/pointerAnalysis/PagBuilder.d.ts.map +1 -1
- package/lib/callgraph/pointerAnalysis/PagBuilder.js +2 -1
- package/lib/callgraph/pointerAnalysis/PointerAnalysis.d.ts.map +1 -1
- package/lib/callgraph/pointerAnalysis/PointerAnalysis.js +1 -2
- package/lib/callgraph/pointerAnalysis/plugins/WorkerPlugin.d.ts.map +1 -1
- package/lib/callgraph/pointerAnalysis/plugins/WorkerPlugin.js +0 -1
- package/lib/cli/commands/cg.d.ts +1 -0
- package/lib/cli/commands/cg.d.ts.map +1 -1
- package/lib/cli/commands/cg.js +22 -18
- package/lib/cli/commands/ir.d.ts +1 -0
- package/lib/cli/commands/ir.d.ts.map +1 -1
- package/lib/cli/commands/ir.js +5 -2
- package/lib/core/base/Constant.d.ts +5 -5
- package/lib/core/base/Constant.d.ts.map +1 -1
- package/lib/core/base/Constant.js +12 -9
- package/lib/core/base/Expr.d.ts +36 -20
- package/lib/core/base/Expr.d.ts.map +1 -1
- package/lib/core/base/Expr.js +206 -94
- package/lib/core/base/Local.d.ts +10 -20
- package/lib/core/base/Local.d.ts.map +1 -1
- package/lib/core/base/Local.js +25 -28
- package/lib/core/base/Position.d.ts +6 -0
- package/lib/core/base/Position.d.ts.map +1 -1
- package/lib/core/base/Position.js +37 -11
- package/lib/core/base/Ref.d.ts +45 -33
- package/lib/core/base/Ref.d.ts.map +1 -1
- package/lib/core/base/Ref.js +225 -51
- package/lib/core/base/Stmt.d.ts +19 -9
- package/lib/core/base/Stmt.d.ts.map +1 -1
- package/lib/core/base/Stmt.js +135 -52
- package/lib/core/base/Type.d.ts +67 -4
- package/lib/core/base/Type.d.ts.map +1 -1
- package/lib/core/base/Type.js +391 -20
- package/lib/core/base/TypeExpr.d.ts +6 -4
- package/lib/core/base/TypeExpr.d.ts.map +1 -1
- package/lib/core/base/TypeExpr.js +34 -10
- package/lib/core/base/Value.d.ts +20 -2
- package/lib/core/base/Value.d.ts.map +1 -1
- package/lib/core/base/Value.js +12 -0
- package/lib/core/common/ArkIRTransformer.d.ts +18 -0
- package/lib/core/common/ArkIRTransformer.d.ts.map +1 -1
- package/lib/core/common/ArkIRTransformer.js +94 -75
- package/lib/core/common/ArkValueTransformer.d.ts +21 -3
- package/lib/core/common/ArkValueTransformer.d.ts.map +1 -1
- package/lib/core/common/ArkValueTransformer.js +458 -266
- package/lib/core/common/Builtin.d.ts +48 -24
- package/lib/core/common/Builtin.d.ts.map +1 -1
- package/lib/core/common/Builtin.js +90 -52
- package/lib/core/common/CanonicalizerValidator.d.ts +308 -0
- package/lib/core/common/CanonicalizerValidator.d.ts.map +1 -0
- package/lib/core/common/CanonicalizerValidator.js +888 -0
- package/lib/core/common/Const.d.ts +3 -3
- package/lib/core/common/Const.d.ts.map +1 -1
- package/lib/core/common/Const.js +3 -3
- package/lib/core/common/DummyMainCreater.d.ts +2 -21
- package/lib/core/common/DummyMainCreater.d.ts.map +1 -1
- package/lib/core/common/DummyMainCreater.js +8 -105
- package/lib/core/common/IRInference.d.ts +55 -3
- package/lib/core/common/IRInference.d.ts.map +1 -1
- package/lib/core/common/IRInference.js +407 -126
- package/lib/core/common/IRUtils.d.ts +1 -0
- package/lib/core/common/IRUtils.d.ts.map +1 -1
- package/lib/core/common/IRUtils.js +44 -13
- package/lib/core/common/ModelUtils.d.ts +44 -20
- package/lib/core/common/ModelUtils.d.ts.map +1 -1
- package/lib/core/common/ModelUtils.js +378 -208
- package/lib/core/common/SdkUtils.d.ts +35 -5
- package/lib/core/common/SdkUtils.d.ts.map +1 -1
- package/lib/core/common/SdkUtils.js +203 -59
- package/lib/core/common/SignatureCanonicalizer.d.ts +95 -0
- package/lib/core/common/SignatureCanonicalizer.d.ts.map +1 -0
- package/lib/core/common/SignatureCanonicalizer.js +116 -0
- package/lib/core/common/SignatureCanonicalizerRegistry.d.ts +176 -0
- package/lib/core/common/SignatureCanonicalizerRegistry.d.ts.map +1 -0
- package/lib/core/common/SignatureCanonicalizerRegistry.js +343 -0
- package/lib/core/common/SignatureModelCanonicalizer.d.ts +69 -0
- package/lib/core/common/SignatureModelCanonicalizer.d.ts.map +1 -0
- package/lib/core/common/SignatureModelCanonicalizer.js +109 -0
- package/lib/core/common/StmtUseReplacer.d.ts +1 -0
- package/lib/core/common/StmtUseReplacer.d.ts.map +1 -1
- package/lib/core/common/StmtUseReplacer.js +9 -0
- package/lib/core/common/StringUtils.d.ts +12 -1
- package/lib/core/common/StringUtils.d.ts.map +1 -1
- package/lib/core/common/StringUtils.js +36 -17
- package/lib/core/common/TempSignatureCanonicalizer.d.ts +82 -0
- package/lib/core/common/TempSignatureCanonicalizer.d.ts.map +1 -0
- package/lib/core/common/TempSignatureCanonicalizer.js +177 -0
- package/lib/core/common/TypeInference.d.ts +24 -6
- package/lib/core/common/TypeInference.d.ts.map +1 -1
- package/lib/core/common/TypeInference.js +243 -117
- package/lib/core/common/ValueUtil.d.ts +2 -1
- package/lib/core/common/ValueUtil.d.ts.map +1 -1
- package/lib/core/common/ValueUtil.js +4 -1
- package/lib/core/graph/Cfg.d.ts.map +1 -1
- package/lib/core/graph/Cfg.js +21 -6
- package/lib/core/graph/builder/CfgBuilder.d.ts.map +1 -1
- package/lib/core/graph/builder/CfgBuilder.js +46 -33
- package/lib/core/graph/builder/IfBuilder.d.ts.map +1 -1
- package/lib/core/graph/builder/IfBuilder.js +6 -2
- package/lib/core/graph/builder/ViewTreeBuilder.d.ts.map +1 -1
- package/lib/core/graph/builder/ViewTreeBuilder.js +6 -2
- package/lib/core/inference/ModelInference.d.ts +24 -4
- package/lib/core/inference/ModelInference.d.ts.map +1 -1
- package/lib/core/inference/ModelInference.js +273 -79
- package/lib/core/inference/ValueInference.d.ts +3 -2
- package/lib/core/inference/ValueInference.d.ts.map +1 -1
- package/lib/core/inference/ValueInference.js +90 -40
- package/lib/core/inference/abc/AbcInference.d.ts.map +1 -1
- package/lib/core/inference/abc/AbcInference.js +28 -15
- package/lib/core/inference/arkts/ArkTsInference.d.ts +9 -3
- package/lib/core/inference/arkts/ArkTsInference.d.ts.map +1 -1
- package/lib/core/inference/arkts/ArkTsInference.js +54 -16
- package/lib/core/model/ArkClass.d.ts +192 -18
- package/lib/core/model/ArkClass.d.ts.map +1 -1
- package/lib/core/model/ArkClass.js +852 -122
- package/lib/core/model/ArkExport.d.ts.map +1 -1
- package/lib/core/model/ArkExport.js +1 -2
- package/lib/core/model/ArkField.d.ts +34 -2
- package/lib/core/model/ArkField.d.ts.map +1 -1
- package/lib/core/model/ArkField.js +89 -14
- package/lib/core/model/ArkFile.d.ts +72 -12
- package/lib/core/model/ArkFile.d.ts.map +1 -1
- package/lib/core/model/ArkFile.js +275 -65
- package/lib/core/model/ArkImport.d.ts.map +1 -1
- package/lib/core/model/ArkImport.js +1 -2
- package/lib/core/model/ArkMethod.d.ts +101 -15
- package/lib/core/model/ArkMethod.d.ts.map +1 -1
- package/lib/core/model/ArkMethod.js +252 -39
- package/lib/core/model/ArkModule.d.ts +1 -1
- package/lib/core/model/ArkModule.js +1 -1
- package/lib/core/model/ArkNamespace.d.ts +80 -10
- package/lib/core/model/ArkNamespace.d.ts.map +1 -1
- package/lib/core/model/ArkNamespace.js +309 -76
- package/lib/core/model/ArkSignature.d.ts +242 -18
- package/lib/core/model/ArkSignature.d.ts.map +1 -1
- package/lib/core/model/ArkSignature.js +725 -95
- package/lib/core/model/builder/ArkClassBuilder.d.ts +6 -3
- package/lib/core/model/builder/ArkClassBuilder.d.ts.map +1 -1
- package/lib/core/model/builder/ArkClassBuilder.js +119 -73
- package/lib/core/model/builder/ArkExportBuilder.d.ts +1 -1
- package/lib/core/model/builder/ArkExportBuilder.d.ts.map +1 -1
- package/lib/core/model/builder/ArkExportBuilder.js +1 -1
- package/lib/core/model/builder/ArkFieldBuilder.d.ts +0 -2
- package/lib/core/model/builder/ArkFieldBuilder.d.ts.map +1 -1
- package/lib/core/model/builder/ArkFieldBuilder.js +9 -43
- package/lib/core/model/builder/ArkFileBuilder.d.ts.map +1 -1
- package/lib/core/model/builder/ArkFileBuilder.js +32 -33
- package/lib/core/model/builder/ArkMethodBuilder.d.ts +10 -3
- package/lib/core/model/builder/ArkMethodBuilder.d.ts.map +1 -1
- package/lib/core/model/builder/ArkMethodBuilder.js +40 -26
- package/lib/core/model/builder/ArkNamespaceBuilder.d.ts +3 -2
- package/lib/core/model/builder/ArkNamespaceBuilder.d.ts.map +1 -1
- package/lib/core/model/builder/ArkNamespaceBuilder.js +45 -77
- package/lib/core/model/builder/ArkSignatureBuilder.d.ts +9 -0
- package/lib/core/model/builder/ArkSignatureBuilder.d.ts.map +1 -1
- package/lib/core/model/builder/ArkSignatureBuilder.js +26 -3
- package/lib/core/model/builder/BodyBuilder.d.ts +1 -0
- package/lib/core/model/builder/BodyBuilder.d.ts.map +1 -1
- package/lib/core/model/builder/BodyBuilder.js +37 -11
- package/lib/core/model/builder/builderUtils.d.ts +11 -1
- package/lib/core/model/builder/builderUtils.d.ts.map +1 -1
- package/lib/core/model/builder/builderUtils.js +124 -90
- package/lib/frontend/FrontendBuilder.d.ts +10 -6
- package/lib/frontend/FrontendBuilder.d.ts.map +1 -1
- package/lib/frontend/FrontendBuilder.js +19 -45
- package/lib/frontend/ModuleScene.d.ts +43 -0
- package/lib/frontend/ModuleScene.d.ts.map +1 -0
- package/lib/frontend/ModuleScene.js +143 -0
- package/lib/frontend/SceneBuildStage.d.ts +15 -0
- package/lib/frontend/SceneBuildStage.d.ts.map +1 -0
- package/lib/frontend/SceneBuildStage.js +32 -0
- package/lib/frontend/SceneBuilder.d.ts +153 -0
- package/lib/frontend/SceneBuilder.d.ts.map +1 -0
- package/lib/frontend/SceneBuilder.js +859 -0
- package/lib/frontend/arktsFrontend/ArktsFrontend.d.ts +0 -2
- package/lib/frontend/arktsFrontend/ArktsFrontend.d.ts.map +1 -1
- package/lib/frontend/arktsFrontend/ArktsFrontend.js +0 -18
- package/lib/frontend/arktsFrontend/FileBodyRemount.d.ts +17 -0
- package/lib/frontend/arktsFrontend/FileBodyRemount.d.ts.map +1 -0
- package/lib/frontend/arktsFrontend/FileBodyRemount.js +187 -0
- package/lib/frontend/common/ModuleBuilder.d.ts +4 -2
- package/lib/frontend/common/ModuleBuilder.d.ts.map +1 -1
- package/lib/frontend/common/ModuleBuilder.js +19 -9
- package/lib/frontend/cppFrontend/CppFrontend.d.ts +0 -6
- package/lib/frontend/cppFrontend/CppFrontend.d.ts.map +1 -1
- package/lib/frontend/cppFrontend/CppFrontend.js +0 -56
- package/lib/frontend/cppFrontend/base/Type.d.ts +7 -0
- package/lib/frontend/cppFrontend/base/Type.d.ts.map +1 -1
- package/lib/frontend/cppFrontend/base/Type.js +29 -0
- package/lib/frontend/cppFrontend/common/ArkIRTransformer.d.ts.map +1 -1
- package/lib/frontend/cppFrontend/common/ArkIRTransformer.js +56 -56
- package/lib/frontend/cppFrontend/common/ArkValueTransformer.d.ts +1 -1
- package/lib/frontend/cppFrontend/common/ArkValueTransformer.d.ts.map +1 -1
- package/lib/frontend/cppFrontend/common/ArkValueTransformer.js +124 -113
- package/lib/frontend/cppFrontend/common/Builtin.d.ts +29 -19
- package/lib/frontend/cppFrontend/common/Builtin.d.ts.map +1 -1
- package/lib/frontend/cppFrontend/common/Builtin.js +56 -35
- package/lib/frontend/cppFrontend/common/IRInference.d.ts +7 -2
- package/lib/frontend/cppFrontend/common/IRInference.d.ts.map +1 -1
- package/lib/frontend/cppFrontend/common/IRInference.js +61 -28
- package/lib/frontend/cppFrontend/common/IRUtils.d.ts +1 -0
- package/lib/frontend/cppFrontend/common/IRUtils.d.ts.map +1 -1
- package/lib/frontend/cppFrontend/common/IRUtils.js +22 -10
- package/lib/frontend/cppFrontend/common/ModelUtils.d.ts +19 -0
- package/lib/frontend/cppFrontend/common/ModelUtils.d.ts.map +1 -1
- package/lib/frontend/cppFrontend/common/ModelUtils.js +84 -3
- package/lib/frontend/cppFrontend/common/TypeInference.d.ts.map +1 -1
- package/lib/frontend/cppFrontend/common/TypeInference.js +44 -54
- package/lib/frontend/cppFrontend/graph/builder/CfgBuilder.d.ts.map +1 -1
- package/lib/frontend/cppFrontend/graph/builder/CfgBuilder.js +2 -1
- package/lib/frontend/cppFrontend/inference/CxxModelInference.d.ts +1 -1
- package/lib/frontend/cppFrontend/inference/CxxModelInference.d.ts.map +1 -1
- package/lib/frontend/cppFrontend/inference/CxxValueInference.d.ts.map +1 -1
- package/lib/frontend/cppFrontend/inference/CxxValueInference.js +41 -5
- package/lib/frontend/cppFrontend/model/builder/ArkClassBuilder.d.ts.map +1 -1
- package/lib/frontend/cppFrontend/model/builder/ArkClassBuilder.js +18 -28
- package/lib/frontend/cppFrontend/model/builder/ArkFieldBuilder.d.ts.map +1 -1
- package/lib/frontend/cppFrontend/model/builder/ArkFieldBuilder.js +2 -3
- package/lib/frontend/cppFrontend/model/builder/ArkFileBuilder.d.ts +2 -2
- package/lib/frontend/cppFrontend/model/builder/ArkFileBuilder.d.ts.map +1 -1
- package/lib/frontend/cppFrontend/model/builder/ArkFileBuilder.js +31 -24
- package/lib/frontend/cppFrontend/model/builder/ArkMethodBuilder.d.ts.map +1 -1
- package/lib/frontend/cppFrontend/model/builder/ArkMethodBuilder.js +10 -16
- package/lib/frontend/cppFrontend/model/builder/ArkNamespaceBuilder.d.ts +0 -2
- package/lib/frontend/cppFrontend/model/builder/ArkNamespaceBuilder.d.ts.map +1 -1
- package/lib/frontend/cppFrontend/model/builder/ArkNamespaceBuilder.js +19 -37
- package/lib/frontend/cppFrontend/model/builder/BodyBuilder.d.ts +1 -0
- package/lib/frontend/cppFrontend/model/builder/BodyBuilder.d.ts.map +1 -1
- package/lib/frontend/cppFrontend/model/builder/BodyBuilder.js +30 -3
- package/lib/frontend/cppFrontend/model/builder/builderUtils.d.ts.map +1 -1
- package/lib/frontend/cppFrontend/model/builder/builderUtils.js +8 -4
- package/lib/index.d.ts +3 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +10 -2
- package/lib/save/json/JsonSerialization.js +2 -2
- package/lib/save/source/SourceStmt.js +1 -1
- package/lib/save/source/SourceTransformer.d.ts.map +1 -1
- package/lib/save/source/SourceTransformer.js +0 -9
- package/lib/statistics/StageStatistics.d.ts +195 -0
- package/lib/statistics/StageStatistics.d.ts.map +1 -0
- package/lib/statistics/StageStatistics.js +346 -0
- package/lib/statistics/StageStatisticsReporter.d.ts +58 -0
- package/lib/statistics/StageStatisticsReporter.d.ts.map +1 -0
- package/lib/statistics/StageStatisticsReporter.js +255 -0
- package/lib/utils/Canonicalizer.d.ts +9 -2
- package/lib/utils/Canonicalizer.d.ts.map +1 -1
- package/lib/utils/Canonicalizer.js +19 -2
- package/lib/utils/CxxSceneUtils.d.ts +7 -0
- package/lib/utils/CxxSceneUtils.d.ts.map +1 -1
- package/lib/utils/CxxSceneUtils.js +10 -1
- package/lib/utils/FileUtils.d.ts +0 -1
- package/lib/utils/FileUtils.d.ts.map +1 -1
- package/lib/utils/FileUtils.js +1 -9
- package/lib/utils/HashUtils.d.ts +9 -0
- package/lib/utils/HashUtils.d.ts.map +1 -0
- package/lib/utils/HashUtils.js +65 -0
- package/lib/utils/ModuleUtils.d.ts.map +1 -1
- package/lib/utils/ModuleUtils.js +24 -5
- package/lib/utils/VisitedSegment.d.ts +23 -0
- package/lib/utils/VisitedSegment.d.ts.map +1 -0
- package/lib/utils/VisitedSegment.js +64 -0
- package/lib/utils/callGraphUtils.d.ts.map +1 -1
- package/lib/utils/callGraphUtils.js +7 -7
- package/lib/utils/getAllFiles.d.ts.map +1 -1
- package/lib/utils/getAllFiles.js +11 -8
- package/lib/utils/logger.d.ts +4 -0
- package/lib/utils/logger.d.ts.map +1 -1
- package/lib/utils/logger.js +16 -0
- package/lib/utils/parseArkSourceFile.d.ts +33 -0
- package/lib/utils/parseArkSourceFile.d.ts.map +1 -0
- package/lib/utils/parseArkSourceFile.js +131 -0
- package/package.json +1 -1
- package/lib/node_modules/ohos-typescript/README.OpenSource +0 -11
- package/lib/node_modules/ohos-typescript/README.md +0 -81
- package/lib/node_modules/ohos-typescript/SECURITY.md +0 -41
- package/lib/node_modules/ohos-typescript/ThirdPartyNoticeText.txt +0 -193
- package/lib/node_modules/ohos-typescript/bin/tsc +0 -2
- package/lib/node_modules/ohos-typescript/bin/tsserver +0 -2
- package/lib/node_modules/ohos-typescript/lib/README.md +0 -5
- package/lib/node_modules/ohos-typescript/lib/cancellationToken.js +0 -86
- package/lib/node_modules/ohos-typescript/lib/cs/diagnosticMessages.generated.json +0 -1880
- package/lib/node_modules/ohos-typescript/lib/de/diagnosticMessages.generated.json +0 -1880
- package/lib/node_modules/ohos-typescript/lib/es/diagnosticMessages.generated.json +0 -1880
- package/lib/node_modules/ohos-typescript/lib/fr/diagnosticMessages.generated.json +0 -1880
- package/lib/node_modules/ohos-typescript/lib/it/diagnosticMessages.generated.json +0 -1880
- package/lib/node_modules/ohos-typescript/lib/ja/diagnosticMessages.generated.json +0 -1880
- package/lib/node_modules/ohos-typescript/lib/ko/diagnosticMessages.generated.json +0 -1880
- package/lib/node_modules/ohos-typescript/lib/lib.dom.d.ts +0 -18505
- package/lib/node_modules/ohos-typescript/lib/lib.dom.iterable.d.ts +0 -341
- package/lib/node_modules/ohos-typescript/lib/lib.scripthost.d.ts +0 -327
- package/lib/node_modules/ohos-typescript/lib/lib.webworker.d.ts +0 -6192
- package/lib/node_modules/ohos-typescript/lib/lib.webworker.importscripts.d.ts +0 -26
- package/lib/node_modules/ohos-typescript/lib/lib.webworker.iterable.d.ts +0 -175
- package/lib/node_modules/ohos-typescript/lib/pl/diagnosticMessages.generated.json +0 -1880
- package/lib/node_modules/ohos-typescript/lib/pt-br/diagnosticMessages.generated.json +0 -1880
- package/lib/node_modules/ohos-typescript/lib/ru/diagnosticMessages.generated.json +0 -1880
- package/lib/node_modules/ohos-typescript/lib/tr/diagnosticMessages.generated.json +0 -1880
- package/lib/node_modules/ohos-typescript/lib/tsc.js +0 -114551
- package/lib/node_modules/ohos-typescript/lib/tsserver.js +0 -179691
- package/lib/node_modules/ohos-typescript/lib/tsserverlibrary.d.ts +0 -13648
- package/lib/node_modules/ohos-typescript/lib/tsserverlibrary.js +0 -178688
- package/lib/node_modules/ohos-typescript/lib/typesMap.json +0 -497
- package/lib/node_modules/ohos-typescript/lib/typingsInstaller.js +0 -39871
- package/lib/node_modules/ohos-typescript/lib/watchGuard.js +0 -49
- package/lib/node_modules/ohos-typescript/lib/zh-cn/diagnosticMessages.generated.json +0 -1880
- package/lib/node_modules/ohos-typescript/lib/zh-tw/diagnosticMessages.generated.json +0 -1880
- package/lib/utils/DependenciesSort.d.ts +0 -3
- package/lib/utils/DependenciesSort.d.ts.map +0 -1
- package/lib/utils/DependenciesSort.js +0 -72
- package/lib/utils/crypto_utils.d.ts +0 -6
- package/lib/utils/crypto_utils.d.ts.map +0 -1
- package/lib/utils/crypto_utils.js +0 -57
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Scene } from '../../Scene';
|
|
2
2
|
import { ArkFile } from '../../core/model/ArkFile';
|
|
3
|
-
import { FrontendParseResult } from '../FrontendBuilder';
|
|
4
3
|
/**
|
|
5
4
|
* ArkTS/TS/JS: builds {@link ArkFile}s using the core TS/ArkTS pipeline (see {@link buildArkFileFromFile}).
|
|
6
5
|
*/
|
|
@@ -22,6 +21,5 @@ export declare class ArktsFrontend {
|
|
|
22
21
|
* Non-project SDK file load (e.g. OpenHarmony SDK sources); mirrors the former {@link Scene} path for SDK files.
|
|
23
22
|
*/
|
|
24
23
|
static buildArkFileFromSdkPath(absoluteFilePath: string, sdkPath: string, arkFile: ArkFile, sdkName: string): void;
|
|
25
|
-
buildProjectFiles(scene: Scene, filePaths: string[]): FrontendParseResult;
|
|
26
24
|
}
|
|
27
25
|
//# sourceMappingURL=ArktsFrontend.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArktsFrontend.d.ts","sourceRoot":"","sources":["../../../src/frontend/arktsFrontend/ArktsFrontend.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"ArktsFrontend.d.ts","sourceRoot":"","sources":["../../../src/frontend/arktsFrontend/ArktsFrontend.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAGnD;;GAEG;AACH,qBAAa,aAAa;IACtB,qGAAqG;IAC9F,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAI/E;;;OAGG;IACI,0BAA0B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIzD;;;;OAIG;IACI,6BAA6B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAI5D;;OAEG;WACW,uBAAuB,CAAC,gBAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;CAG5H"}
|
|
@@ -15,9 +15,7 @@
|
|
|
15
15
|
*/
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
exports.ArktsFrontend = void 0;
|
|
18
|
-
const ArkFile_1 = require("../../core/model/ArkFile");
|
|
19
18
|
const ArkFileBuilder_1 = require("../../core/model/builder/ArkFileBuilder");
|
|
20
|
-
const FileUtils_1 = require("../../utils/FileUtils");
|
|
21
19
|
/**
|
|
22
20
|
* ArkTS/TS/JS: builds {@link ArkFile}s using the core TS/ArkTS pipeline (see {@link buildArkFileFromFile}).
|
|
23
21
|
*/
|
|
@@ -47,21 +45,5 @@ class ArktsFrontend {
|
|
|
47
45
|
static buildArkFileFromSdkPath(absoluteFilePath, sdkPath, arkFile, sdkName) {
|
|
48
46
|
(0, ArkFileBuilder_1.buildArkFileFromFile)(absoluteFilePath, sdkPath, arkFile, sdkName);
|
|
49
47
|
}
|
|
50
|
-
buildProjectFiles(scene, filePaths) {
|
|
51
|
-
const arkFiles = [];
|
|
52
|
-
const failedFiles = [];
|
|
53
|
-
for (const filePath of filePaths) {
|
|
54
|
-
try {
|
|
55
|
-
const arkFile = new ArkFile_1.ArkFile(FileUtils_1.FileUtils.getFileLanguage(filePath, scene.getFileLanguages()));
|
|
56
|
-
arkFile.setScene(scene);
|
|
57
|
-
this.buildProjectFile(scene, filePath, arkFile);
|
|
58
|
-
arkFiles.push(arkFile);
|
|
59
|
-
}
|
|
60
|
-
catch (error) {
|
|
61
|
-
failedFiles.push({ filePath, reason: error });
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
return { arkFiles, failedFiles };
|
|
65
|
-
}
|
|
66
48
|
}
|
|
67
49
|
exports.ArktsFrontend = ArktsFrontend;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ArkFile } from '../../core/model/ArkFile';
|
|
2
|
+
/**
|
|
3
|
+
* Build a file's method bodies from a fresh parse of the file, so the signature round does not
|
|
4
|
+
* have to keep every file's AST (and the BodyBuilders mounted on it) alive until the body phase.
|
|
5
|
+
*
|
|
6
|
+
* The signature round records each implementation method's source position on its ArkMethod
|
|
7
|
+
* (`implOriginFullPosition`), so a re-parsed tree can be indexed by position and every builder
|
|
8
|
+
* reconstructed exactly as the signature round built it.
|
|
9
|
+
*
|
|
10
|
+
* `implOriginFullPosition` is 1-based (FullPosition) while `getLineAndCharacterOfPosition` is
|
|
11
|
+
* 0-based: the +1 belongs on both sides of the packed key or nothing matches. Methods whose
|
|
12
|
+
* position is absent or synthetic (0,0,0,0) never had a builder in the signature round - %dflt
|
|
13
|
+
* (built with the signature round's AST), instanceInit/staticInit and generated constructors -
|
|
14
|
+
* and are skipped; static blocks are generated but carry a real position and are re-built here.
|
|
15
|
+
*/
|
|
16
|
+
export declare function buildFileBodies(arkFile: ArkFile): void;
|
|
17
|
+
//# sourceMappingURL=FileBodyRemount.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileBodyRemount.d.ts","sourceRoot":"","sources":["../../../src/frontend/arktsFrontend/FileBodyRemount.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAWnD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA0CtD"}
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2026 Huawei Device Co., Ltd.
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
17
|
+
if (k2 === undefined) k2 = k;
|
|
18
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
19
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
20
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
21
|
+
}
|
|
22
|
+
Object.defineProperty(o, k2, desc);
|
|
23
|
+
}) : (function(o, m, k, k2) {
|
|
24
|
+
if (k2 === undefined) k2 = k;
|
|
25
|
+
o[k2] = m[k];
|
|
26
|
+
}));
|
|
27
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
28
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
29
|
+
}) : function(o, v) {
|
|
30
|
+
o["default"] = v;
|
|
31
|
+
});
|
|
32
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
33
|
+
if (mod && mod.__esModule) return mod;
|
|
34
|
+
var result = {};
|
|
35
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
36
|
+
__setModuleDefault(result, mod);
|
|
37
|
+
return result;
|
|
38
|
+
};
|
|
39
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
40
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
41
|
+
};
|
|
42
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
43
|
+
exports.buildFileBodies = void 0;
|
|
44
|
+
const fs_1 = __importDefault(require("fs"));
|
|
45
|
+
const ohos_typescript_1 = __importDefault(require("ohos-typescript"));
|
|
46
|
+
const Position_1 = require("../../core/base/Position");
|
|
47
|
+
const BodyBuilder_1 = require("../../core/model/builder/BodyBuilder");
|
|
48
|
+
const ModelUtils_1 = require("../../core/common/ModelUtils");
|
|
49
|
+
const EtsConst_1 = require("../../core/common/EtsConst");
|
|
50
|
+
const StringUtils_1 = require("../../core/common/StringUtils");
|
|
51
|
+
const parseArkSourceFile_1 = require("../../utils/parseArkSourceFile");
|
|
52
|
+
const logger_1 = __importStar(require("../../utils/logger"));
|
|
53
|
+
const logger = logger_1.default.getLogger(logger_1.LOG_MODULE_TYPE.ARKANALYZER, 'FileBodyRemount');
|
|
54
|
+
/**
|
|
55
|
+
* Build a file's method bodies from a fresh parse of the file, so the signature round does not
|
|
56
|
+
* have to keep every file's AST (and the BodyBuilders mounted on it) alive until the body phase.
|
|
57
|
+
*
|
|
58
|
+
* The signature round records each implementation method's source position on its ArkMethod
|
|
59
|
+
* (`implOriginFullPosition`), so a re-parsed tree can be indexed by position and every builder
|
|
60
|
+
* reconstructed exactly as the signature round built it.
|
|
61
|
+
*
|
|
62
|
+
* `implOriginFullPosition` is 1-based (FullPosition) while `getLineAndCharacterOfPosition` is
|
|
63
|
+
* 0-based: the +1 belongs on both sides of the packed key or nothing matches. Methods whose
|
|
64
|
+
* position is absent or synthetic (0,0,0,0) never had a builder in the signature round - %dflt
|
|
65
|
+
* (built with the signature round's AST), instanceInit/staticInit and generated constructors -
|
|
66
|
+
* and are skipped; static blocks are generated but carry a real position and are re-built here.
|
|
67
|
+
*/
|
|
68
|
+
function buildFileBodies(arkFile) {
|
|
69
|
+
let sourceText;
|
|
70
|
+
try {
|
|
71
|
+
sourceText = fs_1.default.readFileSync(arkFile.getFilePath(), 'utf8');
|
|
72
|
+
}
|
|
73
|
+
catch (error) {
|
|
74
|
+
logger.error(`Failed to read file for body build: ${arkFile.getFilePath()} ${error}`);
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
const sourceFile = (0, parseArkSourceFile_1.parseArkSourceFile)(arkFile.getName(), sourceText, true, EtsConst_1.ETS_COMPILER_OPTIONS);
|
|
78
|
+
const nodesByPosition = new Map();
|
|
79
|
+
collectBuilderNodes(sourceFile, nodesByPosition);
|
|
80
|
+
// Generated methods are included on purpose: static blocks are generated but carry a real
|
|
81
|
+
// position and had a builder, unlike instanceInit/staticInit (synthetic (0,0,0,0) position).
|
|
82
|
+
for (const cls of ModelUtils_1.ModelUtils.getAllClassesInFile(arkFile)) {
|
|
83
|
+
for (const method of cls.getMethods(true)) {
|
|
84
|
+
const position = method.getImplOriginFullPosition();
|
|
85
|
+
if (!position || position.getFirstLine() === 0) {
|
|
86
|
+
continue;
|
|
87
|
+
}
|
|
88
|
+
if (!method.isGenerated() && !method.getImplementationSignature()) {
|
|
89
|
+
continue;
|
|
90
|
+
}
|
|
91
|
+
const node = nodesByPosition.get(positionKey(position));
|
|
92
|
+
if (!node) {
|
|
93
|
+
logger.warn(`Body build missed a method (position not found in the fresh parse): ` +
|
|
94
|
+
`${arkFile.getName()}#${method.getName()}@${position.getFirstLine()}:${position.getFirstCol()}`);
|
|
95
|
+
continue;
|
|
96
|
+
}
|
|
97
|
+
try {
|
|
98
|
+
const builder = new BodyBuilder_1.BodyBuilder(method.getSignature(), node, method, sourceFile);
|
|
99
|
+
builder.setParamsPositions(buildParamsPositions(node, sourceFile));
|
|
100
|
+
method.setBodyBuilder(builder);
|
|
101
|
+
method.buildBody();
|
|
102
|
+
}
|
|
103
|
+
catch (error) {
|
|
104
|
+
logger.error('Error building body:', method.getSignature(), error);
|
|
105
|
+
}
|
|
106
|
+
finally {
|
|
107
|
+
method.freeBodyBuilder();
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
exports.buildFileBodies = buildFileBodies;
|
|
113
|
+
function positionKey(position) {
|
|
114
|
+
return position.getFirstLine() * 0x100000 + position.getFirstCol();
|
|
115
|
+
}
|
|
116
|
+
const remountStack = [];
|
|
117
|
+
const remountChildren = [];
|
|
118
|
+
let remountStackTop = 0;
|
|
119
|
+
let remountChildCount = 0;
|
|
120
|
+
const collectRemountChild = (child) => {
|
|
121
|
+
remountChildren[remountChildCount++] = child;
|
|
122
|
+
};
|
|
123
|
+
/**
|
|
124
|
+
* Explicit-stack replacement for the former closure recursion, which allocated one
|
|
125
|
+
* `child => collectBuilderNodes(child, ...)` closure per AST node of every remounted file.
|
|
126
|
+
* Children are staged in a cursor-reset scratch and pushed reversed so the walk reproduces
|
|
127
|
+
* the exact DFS pre-order of the recursion - the position map's insertion order and its
|
|
128
|
+
* last-write-wins outcome for duplicate keys stay identical.
|
|
129
|
+
*/
|
|
130
|
+
function collectBuilderNodes(sourceFile, into) {
|
|
131
|
+
remountStack[remountStackTop++] = sourceFile;
|
|
132
|
+
let stackHighWater = remountStackTop;
|
|
133
|
+
let childHighWater = 0;
|
|
134
|
+
while (remountStackTop > 0) {
|
|
135
|
+
const node = remountStack[--remountStackTop];
|
|
136
|
+
if (ohos_typescript_1.default.isFunctionDeclaration(node) ||
|
|
137
|
+
ohos_typescript_1.default.isMethodDeclaration(node) ||
|
|
138
|
+
ohos_typescript_1.default.isConstructorDeclaration(node) ||
|
|
139
|
+
ohos_typescript_1.default.isGetAccessorDeclaration(node) ||
|
|
140
|
+
ohos_typescript_1.default.isSetAccessorDeclaration(node) ||
|
|
141
|
+
ohos_typescript_1.default.isArrowFunction(node) ||
|
|
142
|
+
ohos_typescript_1.default.isFunctionExpression(node) ||
|
|
143
|
+
ohos_typescript_1.default.isClassStaticBlockDeclaration(node)) {
|
|
144
|
+
const { line, character } = ohos_typescript_1.default.getLineAndCharacterOfPosition(sourceFile, node.getStart(sourceFile));
|
|
145
|
+
into.set((line + 1) * 0x100000 + (character + 1), node);
|
|
146
|
+
}
|
|
147
|
+
remountChildCount = 0;
|
|
148
|
+
ohos_typescript_1.default.forEachChild(node, collectRemountChild);
|
|
149
|
+
if (remountChildCount > childHighWater) {
|
|
150
|
+
childHighWater = remountChildCount;
|
|
151
|
+
}
|
|
152
|
+
for (let i = remountChildCount - 1; i >= 0; i--) {
|
|
153
|
+
remountStack[remountStackTop++] = remountChildren[i];
|
|
154
|
+
}
|
|
155
|
+
if (remountStackTop > stackHighWater) {
|
|
156
|
+
stackHighWater = remountStackTop;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
const nullNode = null;
|
|
160
|
+
for (let i = 0; i < stackHighWater; i++) {
|
|
161
|
+
remountStack[i] = nullNode;
|
|
162
|
+
}
|
|
163
|
+
for (let i = 0; i < childHighWater; i++) {
|
|
164
|
+
remountChildren[i] = nullNode;
|
|
165
|
+
}
|
|
166
|
+
remountStackTop = 0;
|
|
167
|
+
remountChildCount = 0;
|
|
168
|
+
}
|
|
169
|
+
function buildParamsPositions(node, sourceFile) {
|
|
170
|
+
const map = new Map();
|
|
171
|
+
const parameters = node.parameters;
|
|
172
|
+
if (!parameters) {
|
|
173
|
+
return map;
|
|
174
|
+
}
|
|
175
|
+
for (const parameter of parameters) {
|
|
176
|
+
if (ohos_typescript_1.default.isIdentifier(parameter.name)) {
|
|
177
|
+
map.set((0, StringUtils_1.cloneText)(parameter.name.text), Position_1.FullPosition.buildFromNode(parameter.name, sourceFile));
|
|
178
|
+
}
|
|
179
|
+
else if (ohos_typescript_1.default.isObjectBindingPattern(parameter.name)) {
|
|
180
|
+
map.set('ObjectBindingPattern', Position_1.FullPosition.buildFromNode(parameter.name, sourceFile));
|
|
181
|
+
}
|
|
182
|
+
else if (ohos_typescript_1.default.isArrayBindingPattern(parameter.name)) {
|
|
183
|
+
map.set('ArrayBindingPattern', Position_1.FullPosition.buildFromNode(parameter.name, sourceFile));
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
return map;
|
|
187
|
+
}
|
|
@@ -302,8 +302,10 @@ export declare class ModuleBuilder {
|
|
|
302
302
|
* types, parameter types, signature return types, import/export resolution). At BODIES level,
|
|
303
303
|
* full type inference runs (including stmt-level propagation and return type aggregation).
|
|
304
304
|
*
|
|
305
|
-
* Does NOT
|
|
306
|
-
*
|
|
305
|
+
* Does NOT rebuild the global method index (the former Scene.getMethodsMap(true) was
|
|
306
|
+
* removed with the registry refactor — methodSigCanonicalizer is now the single source
|
|
307
|
+
* of truth): rebuilding would clear caches for other modules. Does NOT set {@link Scene.buildStage}
|
|
308
|
+
* to TYPE_INFERRED: that is a
|
|
307
309
|
* whole-scene flag. Does NOT call {@link SdkUtils.dispose} / {@link ModuleUtils.dispose} /
|
|
308
310
|
* {@link ValueUtil.dispose}: the global caches are shared across modules and should be
|
|
309
311
|
* released by the caller after all modules are processed.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModuleBuilder.d.ts","sourceRoot":"","sources":["../../../src/frontend/common/ModuleBuilder.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,OAAO,EAAE,SAAS,EAAE,QAAQ,EAA+B,MAAM,4BAA4B,CAAC;AAC9F,OAAO,EAAE,cAAc,EAAkB,MAAM,iCAAiC,CAAC;AAMjF,OAAO,EAAyB,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAiB9D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"ModuleBuilder.d.ts","sourceRoot":"","sources":["../../../src/frontend/common/ModuleBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -67,7 +67,8 @@ const ArkClass_1 = require("../../core/model/ArkClass");
|
|
|
67
67
|
const ArkMethod_1 = require("../../core/model/ArkMethod");
|
|
68
68
|
const ArkNamespace_1 = require("../../core/model/ArkNamespace");
|
|
69
69
|
const ModuleUtils_1 = require("../../utils/ModuleUtils");
|
|
70
|
-
const
|
|
70
|
+
const SceneBuildStage_1 = require("../SceneBuildStage");
|
|
71
|
+
const SignatureCanonicalizerRegistry_1 = require("../../core/common/SignatureCanonicalizerRegistry");
|
|
71
72
|
const logger = logger_1.default.getLogger(logger_1.LOG_MODULE_TYPE.ARKANALYZER, 'ModuleBuilder');
|
|
72
73
|
/**
|
|
73
74
|
* ModuleBuilder holds the build logic for module-level analysis embedded in {@link Scene}.
|
|
@@ -266,7 +267,7 @@ class ModuleBuilder {
|
|
|
266
267
|
* Idempotent: guarded by {@link SceneBuildStage.SDK_INFERRED}.
|
|
267
268
|
*/
|
|
268
269
|
buildSdkModules() {
|
|
269
|
-
if (this.scene.getBuildStage() >=
|
|
270
|
+
if (this.scene.getBuildStage() >= SceneBuildStage_1.SceneBuildStage.SDK_INFERRED) {
|
|
270
271
|
return;
|
|
271
272
|
}
|
|
272
273
|
this.setEsVersionFromBuildProfile();
|
|
@@ -292,7 +293,7 @@ class ModuleBuilder {
|
|
|
292
293
|
}
|
|
293
294
|
// SDK type inference + global API merge
|
|
294
295
|
const sdkArkFiles = this.scene.getSdkArkFiles();
|
|
295
|
-
const sdkGlobalMap =
|
|
296
|
+
const sdkGlobalMap = SignatureCanonicalizerRegistry_1.SignatureCanonicalizerRegistry.getInstance().sdkGlobalMap;
|
|
296
297
|
for (const file of sdkArkFiles) {
|
|
297
298
|
if (file.getLanguage() === ArkFile_1.Language.CXX) {
|
|
298
299
|
continue;
|
|
@@ -303,7 +304,7 @@ class ModuleBuilder {
|
|
|
303
304
|
for (const file of sdkArkFiles) {
|
|
304
305
|
SdkUtils_1.SdkUtils.postInferredSdk(file, sdkGlobalMap);
|
|
305
306
|
}
|
|
306
|
-
this.scene.setBuildStage(
|
|
307
|
+
this.scene.setBuildStage(SceneBuildStage_1.SceneBuildStage.SDK_INFERRED);
|
|
307
308
|
SdkUtils_1.SdkUtils.extendArkUI(this.scene);
|
|
308
309
|
}
|
|
309
310
|
/**
|
|
@@ -371,7 +372,7 @@ class ModuleBuilder {
|
|
|
371
372
|
module.addFile(arkFile);
|
|
372
373
|
this.scene.addSdkArkFile(arkFile);
|
|
373
374
|
SdkUtils_1.SdkUtils.buildSdkImportMap(arkFile);
|
|
374
|
-
SdkUtils_1.SdkUtils.loadGlobalAPI(arkFile,
|
|
375
|
+
SdkUtils_1.SdkUtils.loadGlobalAPI(arkFile, SignatureCanonicalizerRegistry_1.SignatureCanonicalizerRegistry.getInstance().sdkGlobalMap);
|
|
375
376
|
}
|
|
376
377
|
catch (error) {
|
|
377
378
|
logger.error('Error parsing file:', file, error);
|
|
@@ -835,8 +836,10 @@ class ModuleBuilder {
|
|
|
835
836
|
* types, parameter types, signature return types, import/export resolution). At BODIES level,
|
|
836
837
|
* full type inference runs (including stmt-level propagation and return type aggregation).
|
|
837
838
|
*
|
|
838
|
-
* Does NOT
|
|
839
|
-
*
|
|
839
|
+
* Does NOT rebuild the global method index (the former Scene.getMethodsMap(true) was
|
|
840
|
+
* removed with the registry refactor — methodSigCanonicalizer is now the single source
|
|
841
|
+
* of truth): rebuilding would clear caches for other modules. Does NOT set {@link Scene.buildStage}
|
|
842
|
+
* to TYPE_INFERRED: that is a
|
|
840
843
|
* whole-scene flag. Does NOT call {@link SdkUtils.dispose} / {@link ModuleUtils.dispose} /
|
|
841
844
|
* {@link ValueUtil.dispose}: the global caches are shared across modules and should be
|
|
842
845
|
* released by the caller after all modules are processed.
|
|
@@ -920,6 +923,10 @@ class ModuleBuilder {
|
|
|
920
923
|
if (module.getLoadState() === ArkModule_1.ModuleLoadState.INDEX) {
|
|
921
924
|
this.resetModuleIrForRebuild(module);
|
|
922
925
|
}
|
|
926
|
+
// 模块化按需加载 project 模块前锁定 project/SDK FileSigID 边界(幂等:首次为准)。
|
|
927
|
+
// 覆盖不经 buildBasicInfo 的直用场景(loadModule API);此时 SDK 段已结束,
|
|
928
|
+
// 此后将注册的都是 project 文件。
|
|
929
|
+
SignatureCanonicalizerRegistry_1.SignatureCanonicalizerRegistry.getInstance().markProjectFileBoundary();
|
|
923
930
|
// Record heapUsed before actual build (for heapUsed table population)
|
|
924
931
|
const recordHeapUsed = (_c = (_b = this.monitor) === null || _b === void 0 ? void 0 : _b.isEnabled()) !== null && _c !== void 0 ? _c : false;
|
|
925
932
|
const heapUsedBefore = recordHeapUsed ? this.monitor.getCurrentHeapUsed() : 0;
|
|
@@ -1278,12 +1285,15 @@ class ModuleBuilder {
|
|
|
1278
1285
|
continue;
|
|
1279
1286
|
}
|
|
1280
1287
|
for (const base of cls.getAllHeritageClasses()) {
|
|
1281
|
-
base.
|
|
1288
|
+
base.removeExtendedClass(cls);
|
|
1282
1289
|
}
|
|
1283
1290
|
for (const mtd of cls.getMethods(true)) {
|
|
1284
|
-
|
|
1291
|
+
SignatureCanonicalizerRegistry_1.SignatureCanonicalizerRegistry.getInstance().removeMethod(mtd);
|
|
1285
1292
|
mtd.clearBodyAndSupplementary();
|
|
1286
1293
|
}
|
|
1294
|
+
for (const fld of cls.getFields()) {
|
|
1295
|
+
SignatureCanonicalizerRegistry_1.SignatureCanonicalizerRegistry.getInstance().removeField(fld);
|
|
1296
|
+
}
|
|
1287
1297
|
const ns = cls.getDeclaringArkNamespace();
|
|
1288
1298
|
if (ns) {
|
|
1289
1299
|
ns.removeArkClass(cls);
|
|
@@ -1,23 +1,17 @@
|
|
|
1
1
|
import { Scene } from '../../Scene';
|
|
2
2
|
import { ArkFile } from '../../core/model/ArkFile';
|
|
3
|
-
import { FrontendParseResult } from '../FrontendBuilder';
|
|
4
3
|
/**
|
|
5
4
|
* C++ language frontend. Matches the former {@link Scene} branches for {@link Language#CXX}.
|
|
6
5
|
*/
|
|
7
6
|
export declare class CppFrontend {
|
|
8
|
-
private static readonly AUTO_MAX_PARALLEL_PROCESSES;
|
|
9
|
-
private static readonly AUTO_MAX_PENDING_AST_RESULTS;
|
|
10
7
|
buildProjectFile(scene: Scene, filePath: string, arkFile: ArkFile): void;
|
|
11
8
|
/**
|
|
12
9
|
* Imports-only build for a single C++ file: parses #include directives and fills
|
|
13
10
|
* ImportInfo without building ArkClass/ArkMethod/ArkBody.
|
|
14
11
|
*/
|
|
15
12
|
buildProjectFileForImports(arkFile: ArkFile): void;
|
|
16
|
-
buildProjectFiles(scene: Scene, filePaths: string[]): FrontendParseResult;
|
|
17
13
|
/** Returns true if astJsonDumper and cxx-ast-parser are available; otherwise logs a warning. */
|
|
18
14
|
private requireAstJsonDumper;
|
|
19
|
-
private resolveMaxParallelProcesses;
|
|
20
|
-
private resolveMaxPendingAstResults;
|
|
21
15
|
private resolveLogAstInfo;
|
|
22
16
|
}
|
|
23
17
|
//# sourceMappingURL=CppFrontend.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CppFrontend.d.ts","sourceRoot":"","sources":["../../../src/frontend/cppFrontend/CppFrontend.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CppFrontend.d.ts","sourceRoot":"","sources":["../../../src/frontend/cppFrontend/CppFrontend.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAOnD;;GAEG;AACH,qBAAa,WAAW;IACb,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAO/E;;;OAGG;IACI,0BAA0B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAOzD,gGAAgG;IAChG,OAAO,CAAC,oBAAoB;IAgB5B,OAAO,CAAC,iBAAiB;CAG5B"}
|
|
@@ -36,12 +36,8 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
36
36
|
__setModuleDefault(result, mod);
|
|
37
37
|
return result;
|
|
38
38
|
};
|
|
39
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
40
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
41
|
-
};
|
|
42
39
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
43
40
|
exports.CppFrontend = void 0;
|
|
44
|
-
const os_1 = __importDefault(require("os"));
|
|
45
41
|
const logger_1 = __importStar(require("../../utils/logger"));
|
|
46
42
|
const ArkFileBuilder_1 = require("./model/builder/ArkFileBuilder");
|
|
47
43
|
const cxxAstParserTypes_1 = require("./utils/cxxAstParserTypes");
|
|
@@ -66,17 +62,6 @@ class CppFrontend {
|
|
|
66
62
|
}
|
|
67
63
|
(0, ArkFileBuilder_1.buildImportExportInfoFromFile)(arkFile);
|
|
68
64
|
}
|
|
69
|
-
buildProjectFiles(scene, filePaths) {
|
|
70
|
-
if (!this.requireAstJsonDumper()) {
|
|
71
|
-
return { arkFiles: [], failedFiles: [] };
|
|
72
|
-
}
|
|
73
|
-
const maxParallelProcesses = this.resolveMaxParallelProcesses(scene);
|
|
74
|
-
const maxPendingAstResults = this.resolveMaxPendingAstResults(scene, maxParallelProcesses);
|
|
75
|
-
const logAstInfo = this.resolveLogAstInfo(scene);
|
|
76
|
-
const result = (0, ArkFileBuilder_1.prepareArkFiles)(scene, filePaths, maxParallelProcesses, maxPendingAstResults, logAstInfo);
|
|
77
|
-
const failedFiles = result.failedFiles;
|
|
78
|
-
return { arkFiles: result.arkFiles, failedFiles };
|
|
79
|
-
}
|
|
80
65
|
/** Returns true if astJsonDumper and cxx-ast-parser are available; otherwise logs a warning. */
|
|
81
66
|
requireAstJsonDumper() {
|
|
82
67
|
try {
|
|
@@ -92,50 +77,9 @@ class CppFrontend {
|
|
|
92
77
|
return false;
|
|
93
78
|
}
|
|
94
79
|
}
|
|
95
|
-
resolveMaxParallelProcesses(scene) {
|
|
96
|
-
var _a, _b, _c, _d;
|
|
97
|
-
const configured = (_b = (_a = scene.getOptions().languages) === null || _a === void 0 ? void 0 : _a.cpp) === null || _b === void 0 ? void 0 : _b.maxParallelProcesses;
|
|
98
|
-
if (configured === CppFrontend.AUTO_MAX_PARALLEL_PROCESSES) {
|
|
99
|
-
try {
|
|
100
|
-
const cpuCount = (_d = (_c = os_1.default.cpus()) === null || _c === void 0 ? void 0 : _c.length) !== null && _d !== void 0 ? _d : 0;
|
|
101
|
-
return Math.max(1, cpuCount - 1);
|
|
102
|
-
}
|
|
103
|
-
catch (_e) {
|
|
104
|
-
return 1;
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
if (configured !== undefined && !Number.isInteger(configured)) {
|
|
108
|
-
logger.warn(`languages.cpp.maxParallelProcesses must be a positive integer or ` +
|
|
109
|
-
`${CppFrontend.AUTO_MAX_PARALLEL_PROCESSES} for auto; got ${JSON.stringify(configured)}, using 1.`);
|
|
110
|
-
}
|
|
111
|
-
if (Number.isInteger(configured) && configured !== undefined && configured > 0) {
|
|
112
|
-
return configured;
|
|
113
|
-
}
|
|
114
|
-
return 1;
|
|
115
|
-
}
|
|
116
|
-
resolveMaxPendingAstResults(scene, maxParallelProcesses) {
|
|
117
|
-
var _a, _b;
|
|
118
|
-
const configured = (_b = (_a = scene.getOptions().languages) === null || _a === void 0 ? void 0 : _a.cpp) === null || _b === void 0 ? void 0 : _b.maxPendingAstResults;
|
|
119
|
-
const fallback = Math.max(1, maxParallelProcesses * 2);
|
|
120
|
-
if (configured === CppFrontend.AUTO_MAX_PENDING_AST_RESULTS || configured === undefined) {
|
|
121
|
-
return fallback;
|
|
122
|
-
}
|
|
123
|
-
if (!Number.isInteger(configured)) {
|
|
124
|
-
logger.warn(`languages.cpp.maxPendingAstResults must be a positive integer or ` +
|
|
125
|
-
`${CppFrontend.AUTO_MAX_PENDING_AST_RESULTS} for auto; got ${JSON.stringify(configured)}, using ` +
|
|
126
|
-
`${fallback}.`);
|
|
127
|
-
return fallback;
|
|
128
|
-
}
|
|
129
|
-
if (configured > 0) {
|
|
130
|
-
return configured;
|
|
131
|
-
}
|
|
132
|
-
return fallback;
|
|
133
|
-
}
|
|
134
80
|
resolveLogAstInfo(scene) {
|
|
135
81
|
var _a, _b;
|
|
136
82
|
return ((_b = (_a = scene.getOptions().languages) === null || _a === void 0 ? void 0 : _a.cpp) === null || _b === void 0 ? void 0 : _b.logAstInfo) === true;
|
|
137
83
|
}
|
|
138
84
|
}
|
|
139
85
|
exports.CppFrontend = CppFrontend;
|
|
140
|
-
CppFrontend.AUTO_MAX_PARALLEL_PROCESSES = -1;
|
|
141
|
-
CppFrontend.AUTO_MAX_PENDING_AST_RESULTS = -1;
|
|
@@ -144,6 +144,7 @@ export declare class CxxCharType extends Type {
|
|
|
144
144
|
getSignType(): CxxTypeSigned;
|
|
145
145
|
getBitWidth(): CxxTypeBitWidth;
|
|
146
146
|
getOriTypeName(): CxxStdTypeName | undefined;
|
|
147
|
+
isUnclearWithVisited(_visited: Set<Type>): boolean;
|
|
147
148
|
getTypeString(): string;
|
|
148
149
|
}
|
|
149
150
|
/**
|
|
@@ -169,6 +170,7 @@ export declare class PointerType extends Type {
|
|
|
169
170
|
getBaseType(): Type;
|
|
170
171
|
setBaseType(newBaseType: Type): void;
|
|
171
172
|
getLevel(): number;
|
|
173
|
+
isUnclearWithVisited(visited: Set<Type>): boolean;
|
|
172
174
|
getTypeString(): string;
|
|
173
175
|
getIsConstPointer(): boolean;
|
|
174
176
|
setIsConstPointer(isConstPointer: boolean): void;
|
|
@@ -215,6 +217,7 @@ export declare class ReferenceType extends Type {
|
|
|
215
217
|
getBaseType(): Type;
|
|
216
218
|
setBaseType(newBaseType: Type): void;
|
|
217
219
|
getCategory(): ReferCategory;
|
|
220
|
+
isUnclearWithVisited(visited: Set<Type>): boolean;
|
|
218
221
|
setSourceValue(sourceValue: Value): void;
|
|
219
222
|
getSourceValue(): Value | undefined;
|
|
220
223
|
getTypeString(): string;
|
|
@@ -225,6 +228,7 @@ export declare class ReferenceType extends Type {
|
|
|
225
228
|
*/
|
|
226
229
|
export declare class Thread extends Type {
|
|
227
230
|
constructor();
|
|
231
|
+
isUnclearWithVisited(_visited: Set<Type>): boolean;
|
|
228
232
|
getTypeString(): string;
|
|
229
233
|
}
|
|
230
234
|
export declare class TypeInfo extends Type {
|
|
@@ -233,6 +237,7 @@ export declare class TypeInfo extends Type {
|
|
|
233
237
|
constructor(name: string, type: Type);
|
|
234
238
|
getName(): string;
|
|
235
239
|
getType(): Type;
|
|
240
|
+
isUnclearWithVisited(_visited: Set<Type>): boolean;
|
|
236
241
|
getTypeString(): string;
|
|
237
242
|
}
|
|
238
243
|
export declare class CxxNonType extends GenericType {
|
|
@@ -249,6 +254,7 @@ export declare class CxxArrayType extends Type {
|
|
|
249
254
|
*/
|
|
250
255
|
getBaseType(): Type;
|
|
251
256
|
setBaseType(newType: Type): void;
|
|
257
|
+
isUnclearWithVisited(visited: Set<Type>): boolean;
|
|
252
258
|
getDimension(): number;
|
|
253
259
|
getDimensionSizes(): number[];
|
|
254
260
|
setDimensionSizes(sizes: number[]): void;
|
|
@@ -259,6 +265,7 @@ export declare class AutoType extends Type {
|
|
|
259
265
|
private static readonly INSTANCE;
|
|
260
266
|
static getInstance(): AutoType;
|
|
261
267
|
private constructor();
|
|
268
|
+
isUnclearWithVisited(_visited: Set<Type>): boolean;
|
|
262
269
|
getTypeString(): string;
|
|
263
270
|
}
|
|
264
271
|
//# sourceMappingURL=Type.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Type.d.ts","sourceRoot":"","sources":["../../../../src/frontend/cppFrontend/base/Type.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAa,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACnF,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAEjD,mDAAmD;AACnD,oBAAY,eAAe;IACvB,UAAU,IAAI;IACd,YAAY,KAAK;IACjB,eAAe,KAAK;IACpB,eAAe,KAAK;IACpB,OAAO,KAAK;CACf;AAED,+DAA+D;AAC/D,oBAAY,aAAa;IACrB,QAAQ,IAAI;IACZ,MAAM,IAAI;IACV,OAAO,KAAK;CACf;AAED,kDAAkD;AAClD,oBAAY,cAAc;IACtB,IAAI,IAAI;IACR,WAAW,IAAA;IACX,aAAa,IAAA;IACb,OAAO,IAAA;IACP,QAAQ,IAAA;IACR,QAAQ,IAAA;IACR,KAAK,IAAA;IACL,cAAc,IAAA;IACd,GAAG,IAAA;IACH,YAAY,KAAA;IACZ,IAAI,KAAA;IACJ,aAAa,KAAA;IACb,SAAS,KAAA;IACT,kBAAkB,KAAA;IAClB,OAAO,KAAA;IACP,QAAQ,KAAA;IACR,QAAQ,KAAA;IACR,QAAQ,KAAA;IACR,MAAM,KAAA;IACN,OAAO,KAAA;IACP,OAAO,KAAA;IACP,OAAO,KAAA;IACP,MAAM,KAAA;IACN,QAAQ,KAAA;IACR,SAAS,KAAA;CACZ;AAED;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,UAAU;IAC3C,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IAC3C,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IAC7C,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,cAAc,CAAC;IAEhD,SAAS,aAAa,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,eAAe,EAAE,WAAW,CAAC,EAAE,cAAc;WAOxF,WAAW,CAAC,QAAQ,GAAE,aAAqC,EAC/C,IAAI,GAAE,eAAyC,EAC/C,WAAW,CAAC,EAAE,cAAc,GAAG,eAAe;IAIjE,WAAW,IAAI,aAAa;IAI5B,WAAW,IAAI,eAAe;IAI9B,cAAc,IAAI,cAAc,GAAG,SAAS;CAGtD;AAED;;;GAGG;AACH,qBAAa,UAAW,SAAQ,eAAe;WAC7B,WAAW,CAAC,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,eAAe,EAAE,WAAW,CAAC,EAAE,cAAc,GAAG,UAAU;IAIhH,aAAa,IAAI,MAAM;CAQjC;AAED;;;GAGG;AACH,qBAAa,YAAa,SAAQ,eAAe;WAC/B,WAAW,CAAC,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,eAAe,EAAE,WAAW,CAAC,EAAE,cAAc,GAAG,YAAY;IAIlH,aAAa,IAAI,MAAM;CAOjC;AAED;;;GAGG;AACH,qBAAa,WAAY,SAAQ,eAAe;WAC9B,WAAW,CAAC,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,eAAe,EAAE,WAAW,CAAC,EAAE,cAAc,GAAG,WAAW;IAIjH,aAAa,IAAI,MAAM;CAOjC;AAED;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,eAAe;WAClC,WAAW,CAAC,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,eAAe,EAAE,WAAW,CAAC,EAAE,cAAc,GAAG,eAAe;IAIrH,aAAa,IAAI,MAAM;CAOjC;AAED;;;GAGG;AACH,qBAAa,YAAa,SAAQ,eAAe;WAC/B,WAAW,CAAC,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,eAAe,EAAE,WAAW,CAAC,EAAE,cAAc,GAAG,YAAY;IAIlH,aAAa,IAAI,MAAM;CAGjC;AAED;;;GAGG;AACH,qBAAa,oBAAqB,SAAQ,UAAU;WAClC,WAAW,IAAI,oBAAoB;IAG1C,UAAU,IAAI,eAAe;CAGvC;AAED;;;GAGG;AACH,qBAAa,YAAa,SAAQ,oBAAoB;WACpC,WAAW,IAAI,YAAY;IAIlC,aAAa,IAAI,MAAM;IAIvB,WAAW,IAAI,eAAe;CAGxC;AAED;;;GAGG;AACH,qBAAa,aAAc,SAAQ,oBAAoB;WACrC,WAAW,IAAI,aAAa;IAInC,aAAa,IAAI,MAAM;IAIvB,WAAW,IAAI,eAAe;CAGxC;AAED;;;GAGG;AACH,qBAAa,iBAAkB,SAAQ,oBAAoB;WACzC,WAAW,IAAI,iBAAiB;IAIvC,aAAa,IAAI,MAAM;IAIvB,WAAW,IAAI,eAAe;CAGxC;AAED;;;GAGG;AACH,qBAAa,WAAY,SAAQ,IAAI;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgB;IACzC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;IAC3C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAiB;IAE9C,OAAO;WAOO,WAAW,CAAC,QAAQ,GAAE,aAAqC,EAC/C,IAAI,GAAE,eAAyC,EAC/C,WAAW,CAAC,EAAE,cAAc,GAAG,WAAW;IAI7D,WAAW,IAAI,aAAa;IAI5B,WAAW,IAAI,eAAe;IAI9B,cAAc,IAAI,cAAc,GAAG,SAAS;IAI5C,aAAa,IAAI,MAAM;CAQjC;AAED;;;GAGG;AACH,qBAAa,YAAa,SAAQ,eAAe;WAC/B,WAAW,CAAC,QAAQ,GAAE,aAAqC,EAC/C,IAAI,GAAE,eAAyC,EAC/C,WAAW,CAAC,EAAE,cAAc,GAAG,YAAY;IAI9D,aAAa,IAAI,MAAM;CAGjC;AA2DD;;;GAGG;AACH,qBAAa,WAAY,SAAQ,IAAI;IACjC,OAAO,CAAC,QAAQ,CAAO;IACvB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,gBAAgB,CAAkB;IAC1C,OAAO,CAAC,iBAAiB,CAAkB;IAC3C,OAAO,CAAC,uBAAuB,CAAkB;gBACrC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM;IAMlC,WAAW,IAAI,IAAI;IAInB,WAAW,CAAC,WAAW,EAAE,IAAI,GAAG,IAAI;IAIpC,QAAQ,IAAI,MAAM;IAIlB,aAAa,IAAI,MAAM;IAavB,iBAAiB,IAAI,OAAO;IAI5B,iBAAiB,CAAC,cAAc,EAAE,OAAO,GAAG,IAAI;IAIhD,mBAAmB,IAAI,OAAO;IAI9B,mBAAmB,CAAC,gBAAgB,EAAE,OAAO,GAAG,IAAI;IAIpD,oBAAoB,IAAI,OAAO;IAI/B,oBAAoB,CAAC,iBAAiB,EAAE,OAAO,GAAG,IAAI;IAItD,0BAA0B,IAAI,OAAO;IAIrC,0BAA0B,CAAC,uBAAuB,EAAE,OAAO,GAAG,IAAI;CAG5E;AAED,oBAAY,oBAAoB;IAC5B,OAAO,KAAK;IACZ,UAAU,IAAI;IACd,UAAU,IAAI;IACd,QAAQ,IAAI;CACf;AAED,qBAAa,gBAAiB,SAAQ,WAAW;IAC7C,OAAO,CAAC,QAAQ,CAAuB;gBAC3B,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAalD,WAAW,IAAI,oBAAoB;IAInC,WAAW,CAAC,QAAQ,EAAE,oBAAoB,GAAG,IAAI;IAIjD,aAAa,IAAI,MAAM;CAajC;AAED;;;;;GAKG;AACH,oBAAY,aAAa;IACrB,UAAU,IAAI;IACd,UAAU,IAAI;IACd,aAAa,IAAI;CACpB;AAED;;;GAGG;AACH,qBAAa,aAAc,SAAQ,IAAI;IACnC,OAAO,CAAC,QAAQ,CAAO;IACvB,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,WAAW,CAAC,CAAQ;gBAEhB,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,CAAC,EAAE,KAAK;IAOjE,WAAW,IAAI,IAAI;IAInB,WAAW,CAAC,WAAW,EAAE,IAAI,GAAG,IAAI;IAIpC,WAAW,IAAI,aAAa;IAI5B,cAAc,CAAC,WAAW,EAAE,KAAK,GAAG,IAAI;IAIxC,cAAc,IAAI,KAAK,GAAG,SAAS;IAInC,aAAa,IAAI,MAAM;CAejC;AAED;;;GAGG;AACH,qBAAa,MAAO,SAAQ,IAAI;;
|
|
1
|
+
{"version":3,"file":"Type.d.ts","sourceRoot":"","sources":["../../../../src/frontend/cppFrontend/base/Type.ts"],"names":[],"mappings":"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"}
|