arkanalyzer 1.0.94 → 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.js +1 -1
- 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 +455 -265
- 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 +181 -53
- 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 +116 -71
- 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/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
package/lib/core/base/Stmt.js
CHANGED
|
@@ -18,14 +18,16 @@ exports.ArkAliasTypeDefineStmt = exports.ArkThrowStmt = exports.ArkReturnVoidStm
|
|
|
18
18
|
const StmtUseReplacer_1 = require("../common/StmtUseReplacer");
|
|
19
19
|
const Expr_1 = require("./Expr");
|
|
20
20
|
const Ref_1 = require("./Ref");
|
|
21
|
+
const Value_1 = require("./Value");
|
|
21
22
|
const Position_1 = require("./Position");
|
|
22
|
-
const StringUtils_1 = require("../common/StringUtils");
|
|
23
23
|
const ArkMetadata_1 = require("../model/ArkMetadata");
|
|
24
24
|
const StmtDefReplacer_1 = require("../common/StmtDefReplacer");
|
|
25
25
|
const IRUtils_1 = require("../common/IRUtils");
|
|
26
26
|
const Type_1 = require("./Type");
|
|
27
27
|
const ArkBaseModel_1 = require("../model/ArkBaseModel");
|
|
28
28
|
const TypeExpr_1 = require("./TypeExpr");
|
|
29
|
+
const usesScratch = [null];
|
|
30
|
+
const POSITION_HOLE = -1;
|
|
29
31
|
/**
|
|
30
32
|
* @category core/base/stmt
|
|
31
33
|
*/
|
|
@@ -42,8 +44,8 @@ class Stmt {
|
|
|
42
44
|
return (_a = this.metadata) === null || _a === void 0 ? void 0 : _a.setMetadata(kind, value);
|
|
43
45
|
}
|
|
44
46
|
/** Return a list of values which are uesd in this statement */
|
|
45
|
-
getUses() {
|
|
46
|
-
return
|
|
47
|
+
getUses(acc) {
|
|
48
|
+
return acc !== null && acc !== void 0 ? acc : Value_1.EMPTY_USES;
|
|
47
49
|
}
|
|
48
50
|
replaceUse(oldUse, newUse) {
|
|
49
51
|
const stmtUseReplacer = new StmtUseReplacer_1.StmtUseReplacer(oldUse, newUse);
|
|
@@ -72,13 +74,13 @@ class Stmt {
|
|
|
72
74
|
const stmtDefReplacer = new StmtDefReplacer_1.StmtDefReplacer(oldDef, newDef);
|
|
73
75
|
stmtDefReplacer.caseStmt(this);
|
|
74
76
|
}
|
|
75
|
-
getDefAndUses() {
|
|
76
|
-
const defAndUses = [];
|
|
77
|
+
getDefAndUses(acc) {
|
|
78
|
+
const defAndUses = acc !== null && acc !== void 0 ? acc : [];
|
|
77
79
|
const def = this.getDef();
|
|
78
80
|
if (def) {
|
|
79
81
|
defAndUses.push(def);
|
|
80
82
|
}
|
|
81
|
-
|
|
83
|
+
this.getUses(defAndUses);
|
|
82
84
|
return defAndUses;
|
|
83
85
|
}
|
|
84
86
|
/**
|
|
@@ -118,7 +120,12 @@ class Stmt {
|
|
|
118
120
|
return 1;
|
|
119
121
|
}
|
|
120
122
|
containsInvokeExpr() {
|
|
121
|
-
|
|
123
|
+
while (usesScratch.length > 1) {
|
|
124
|
+
usesScratch.pop();
|
|
125
|
+
}
|
|
126
|
+
this.getUses(usesScratch);
|
|
127
|
+
for (let usesIdx = 1; usesIdx < usesScratch.length; usesIdx++) {
|
|
128
|
+
const use = usesScratch[usesIdx];
|
|
122
129
|
if (use instanceof Expr_1.AbstractInvokeExpr) {
|
|
123
130
|
return true;
|
|
124
131
|
}
|
|
@@ -137,7 +144,12 @@ class Stmt {
|
|
|
137
144
|
```
|
|
138
145
|
*/
|
|
139
146
|
getInvokeExpr() {
|
|
140
|
-
|
|
147
|
+
while (usesScratch.length > 1) {
|
|
148
|
+
usesScratch.pop();
|
|
149
|
+
}
|
|
150
|
+
this.getUses(usesScratch);
|
|
151
|
+
for (let usesIdx = 1; usesIdx < usesScratch.length; usesIdx++) {
|
|
152
|
+
const use = usesScratch[usesIdx];
|
|
141
153
|
if (use instanceof Expr_1.AbstractInvokeExpr) {
|
|
142
154
|
return use;
|
|
143
155
|
}
|
|
@@ -157,8 +169,10 @@ class Stmt {
|
|
|
157
169
|
```
|
|
158
170
|
*/
|
|
159
171
|
getExprs() {
|
|
160
|
-
|
|
161
|
-
|
|
172
|
+
const uses = this.getUses();
|
|
173
|
+
const exprs = [];
|
|
174
|
+
for (let i = 0; i < uses.length; i++) {
|
|
175
|
+
const use = uses[i];
|
|
162
176
|
if (use instanceof Expr_1.AbstractExpr) {
|
|
163
177
|
exprs.push(use);
|
|
164
178
|
}
|
|
@@ -176,7 +190,12 @@ class Stmt {
|
|
|
176
190
|
return typeExprs;
|
|
177
191
|
}
|
|
178
192
|
containsArrayRef() {
|
|
179
|
-
|
|
193
|
+
while (usesScratch.length > 1) {
|
|
194
|
+
usesScratch.pop();
|
|
195
|
+
}
|
|
196
|
+
this.getUses(usesScratch);
|
|
197
|
+
for (let usesIdx = 1; usesIdx < usesScratch.length; usesIdx++) {
|
|
198
|
+
const use = usesScratch[usesIdx];
|
|
180
199
|
if (use instanceof Ref_1.ArkArrayRef) {
|
|
181
200
|
return true;
|
|
182
201
|
}
|
|
@@ -187,7 +206,12 @@ class Stmt {
|
|
|
187
206
|
return false;
|
|
188
207
|
}
|
|
189
208
|
getArrayRef() {
|
|
190
|
-
|
|
209
|
+
while (usesScratch.length > 1) {
|
|
210
|
+
usesScratch.pop();
|
|
211
|
+
}
|
|
212
|
+
this.getUses(usesScratch);
|
|
213
|
+
for (let usesIdx = 1; usesIdx < usesScratch.length; usesIdx++) {
|
|
214
|
+
const use = usesScratch[usesIdx];
|
|
191
215
|
if (use instanceof Ref_1.ArkArrayRef) {
|
|
192
216
|
return use;
|
|
193
217
|
}
|
|
@@ -198,7 +222,12 @@ class Stmt {
|
|
|
198
222
|
return undefined;
|
|
199
223
|
}
|
|
200
224
|
containsFieldRef() {
|
|
201
|
-
|
|
225
|
+
while (usesScratch.length > 1) {
|
|
226
|
+
usesScratch.pop();
|
|
227
|
+
}
|
|
228
|
+
this.getUses(usesScratch);
|
|
229
|
+
for (let usesIdx = 1; usesIdx < usesScratch.length; usesIdx++) {
|
|
230
|
+
const use = usesScratch[usesIdx];
|
|
202
231
|
if (use instanceof Ref_1.AbstractFieldRef) {
|
|
203
232
|
return true;
|
|
204
233
|
}
|
|
@@ -209,7 +238,12 @@ class Stmt {
|
|
|
209
238
|
return false;
|
|
210
239
|
}
|
|
211
240
|
getFieldRef() {
|
|
212
|
-
|
|
241
|
+
while (usesScratch.length > 1) {
|
|
242
|
+
usesScratch.pop();
|
|
243
|
+
}
|
|
244
|
+
this.getUses(usesScratch);
|
|
245
|
+
for (let usesIdx = 1; usesIdx < usesScratch.length; usesIdx++) {
|
|
246
|
+
const use = usesScratch[usesIdx];
|
|
213
247
|
if (use instanceof Ref_1.AbstractFieldRef) {
|
|
214
248
|
return use;
|
|
215
249
|
}
|
|
@@ -274,8 +308,7 @@ class Stmt {
|
|
|
274
308
|
* @deprecated Source text is now stored on ArkFile only. This method has no effect.
|
|
275
309
|
* @param originalText - The source text (ignored).
|
|
276
310
|
*/
|
|
277
|
-
setOriginalText(originalText) {
|
|
278
|
-
}
|
|
311
|
+
setOriginalText(originalText) { }
|
|
279
312
|
/**
|
|
280
313
|
* Returns the source text of this statement extracted from the declaring ArkFile
|
|
281
314
|
* using the statement's origin position. Implements lazy loading with caching.
|
|
@@ -291,12 +324,36 @@ class Stmt {
|
|
|
291
324
|
return undefined;
|
|
292
325
|
}
|
|
293
326
|
const arkFile = (_b = (_a = this.cfg) === null || _a === void 0 ? void 0 : _a.getDeclaringMethod()) === null || _b === void 0 ? void 0 : _b.getDeclaringArkFile();
|
|
294
|
-
const code =
|
|
327
|
+
const code = arkFile === null || arkFile === void 0 ? void 0 : arkFile.getSourceTextByFullPosition(this.originFullPosition);
|
|
295
328
|
if (code !== undefined) {
|
|
296
329
|
this.sourceCode = code;
|
|
297
330
|
}
|
|
298
331
|
return code;
|
|
299
332
|
}
|
|
333
|
+
/**
|
|
334
|
+
* Returns the absolute full position of this statement's invoke.
|
|
335
|
+
* Start is the callee identifier; end is the CallExpression span end (right of `)`),
|
|
336
|
+
* same half-open convention as {@link getOriginFullPosition}.
|
|
337
|
+
* The span is captured from the AST at IR construction.
|
|
338
|
+
* @returns Absolute `FullPosition` of `methodName(...)`, or `FullPosition.DEFAULT` if not found.
|
|
339
|
+
*/
|
|
340
|
+
getInvokeFullPosition() {
|
|
341
|
+
var _a;
|
|
342
|
+
let invoke;
|
|
343
|
+
if (this instanceof ArkInvokeStmt) {
|
|
344
|
+
invoke = this.getInvokeExpr();
|
|
345
|
+
}
|
|
346
|
+
else if (this instanceof ArkAssignStmt && this.getRightOp() instanceof Expr_1.AbstractInvokeExpr) {
|
|
347
|
+
invoke = this.getRightOp();
|
|
348
|
+
}
|
|
349
|
+
else {
|
|
350
|
+
return Position_1.FullPosition.DEFAULT;
|
|
351
|
+
}
|
|
352
|
+
if (!invoke) {
|
|
353
|
+
return Position_1.FullPosition.DEFAULT;
|
|
354
|
+
}
|
|
355
|
+
return (_a = invoke.getInvokeFullPosition()) !== null && _a !== void 0 ? _a : Position_1.FullPosition.DEFAULT;
|
|
356
|
+
}
|
|
300
357
|
/**
|
|
301
358
|
* Clears the cached source text, forcing re-extraction on next getOriginalText call.
|
|
302
359
|
*/
|
|
@@ -304,10 +361,35 @@ class Stmt {
|
|
|
304
361
|
this.sourceCode = undefined;
|
|
305
362
|
}
|
|
306
363
|
setOperandOriginalPositions(operandOriginalPositions) {
|
|
307
|
-
|
|
364
|
+
const packed = new Array(operandOriginalPositions.length * 2);
|
|
365
|
+
for (let i = 0; i < operandOriginalPositions.length; i++) {
|
|
366
|
+
const position = operandOriginalPositions[i];
|
|
367
|
+
if (position === undefined || position === null) {
|
|
368
|
+
packed[2 * i] = POSITION_HOLE;
|
|
369
|
+
packed[2 * i + 1] = POSITION_HOLE;
|
|
370
|
+
}
|
|
371
|
+
else {
|
|
372
|
+
packed[2 * i] = position.getFirstPacked();
|
|
373
|
+
packed[2 * i + 1] = position.getLastPacked();
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
this.operandPositionsPacked = packed;
|
|
308
377
|
}
|
|
309
378
|
getOperandOriginalPositions() {
|
|
310
|
-
|
|
379
|
+
const packed = this.operandPositionsPacked;
|
|
380
|
+
if (packed === undefined) {
|
|
381
|
+
return undefined;
|
|
382
|
+
}
|
|
383
|
+
const positions = new Array(packed.length >> 1);
|
|
384
|
+
for (let i = 0; i < positions.length; i++) {
|
|
385
|
+
const first = packed[2 * i];
|
|
386
|
+
positions[i] = first < 0 ? undefined : Position_1.FullPosition.fromPacked(first, packed[2 * i + 1]);
|
|
387
|
+
}
|
|
388
|
+
return positions;
|
|
389
|
+
}
|
|
390
|
+
/** @internal Compact interleaved [first, last] storage; splice in pairs. */
|
|
391
|
+
getOperandPositionsPacked() {
|
|
392
|
+
return this.operandPositionsPacked;
|
|
311
393
|
}
|
|
312
394
|
getOperandOriginalPosition(indexOrOperand) {
|
|
313
395
|
let index = -1;
|
|
@@ -317,10 +399,15 @@ class Stmt {
|
|
|
317
399
|
else {
|
|
318
400
|
index = indexOrOperand;
|
|
319
401
|
}
|
|
320
|
-
|
|
402
|
+
const packed = this.operandPositionsPacked;
|
|
403
|
+
if (!packed || index < 0 || index > packed.length >> 1) {
|
|
321
404
|
return null;
|
|
322
405
|
}
|
|
323
|
-
|
|
406
|
+
if (index === packed.length >> 1) {
|
|
407
|
+
return undefined;
|
|
408
|
+
}
|
|
409
|
+
const first = packed[2 * index];
|
|
410
|
+
return first < 0 ? undefined : Position_1.FullPosition.fromPacked(first, packed[2 * index + 1]);
|
|
324
411
|
}
|
|
325
412
|
}
|
|
326
413
|
exports.Stmt = Stmt;
|
|
@@ -367,12 +454,11 @@ class ArkAssignStmt extends Stmt {
|
|
|
367
454
|
getDef() {
|
|
368
455
|
return this.leftOp;
|
|
369
456
|
}
|
|
370
|
-
getUses() {
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
return uses;
|
|
457
|
+
getUses(acc = []) {
|
|
458
|
+
this.leftOp.getUses(acc);
|
|
459
|
+
acc.push(this.rightOp);
|
|
460
|
+
this.rightOp.getUses(acc);
|
|
461
|
+
return acc;
|
|
376
462
|
}
|
|
377
463
|
}
|
|
378
464
|
exports.ArkAssignStmt = ArkAssignStmt;
|
|
@@ -391,11 +477,10 @@ class ArkInvokeStmt extends Stmt {
|
|
|
391
477
|
const str = this.invokeExpr.toString();
|
|
392
478
|
return str;
|
|
393
479
|
}
|
|
394
|
-
getUses() {
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
return uses;
|
|
480
|
+
getUses(acc = []) {
|
|
481
|
+
acc.push(this.invokeExpr);
|
|
482
|
+
this.invokeExpr.getUses(acc);
|
|
483
|
+
return acc;
|
|
399
484
|
}
|
|
400
485
|
}
|
|
401
486
|
exports.ArkInvokeStmt = ArkInvokeStmt;
|
|
@@ -433,11 +518,10 @@ class ArkIfStmt extends Stmt {
|
|
|
433
518
|
const str = 'if ' + this.conditionExpr;
|
|
434
519
|
return str;
|
|
435
520
|
}
|
|
436
|
-
getUses() {
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
return uses;
|
|
521
|
+
getUses(acc = []) {
|
|
522
|
+
acc.push(this.conditionExpr);
|
|
523
|
+
this.conditionExpr.getUses(acc);
|
|
524
|
+
return acc;
|
|
441
525
|
}
|
|
442
526
|
}
|
|
443
527
|
exports.ArkIfStmt = ArkIfStmt;
|
|
@@ -459,11 +543,10 @@ class ArkReturnStmt extends Stmt {
|
|
|
459
543
|
const str = 'return ' + this.op;
|
|
460
544
|
return str;
|
|
461
545
|
}
|
|
462
|
-
getUses() {
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
return uses;
|
|
546
|
+
getUses(acc = []) {
|
|
547
|
+
acc.push(this.op);
|
|
548
|
+
this.op.getUses(acc);
|
|
549
|
+
return acc;
|
|
467
550
|
}
|
|
468
551
|
}
|
|
469
552
|
exports.ArkReturnStmt = ArkReturnStmt;
|
|
@@ -495,11 +578,10 @@ class ArkThrowStmt extends Stmt {
|
|
|
495
578
|
const str = 'throw ' + this.op;
|
|
496
579
|
return str;
|
|
497
580
|
}
|
|
498
|
-
getUses() {
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
return uses;
|
|
581
|
+
getUses(acc = []) {
|
|
582
|
+
acc.push(this.op);
|
|
583
|
+
this.op.getUses(acc);
|
|
584
|
+
return acc;
|
|
503
585
|
}
|
|
504
586
|
}
|
|
505
587
|
exports.ArkThrowStmt = ArkThrowStmt;
|
|
@@ -541,11 +623,12 @@ class ArkAliasTypeDefineStmt extends Stmt {
|
|
|
541
623
|
}
|
|
542
624
|
return str;
|
|
543
625
|
}
|
|
544
|
-
getUses() {
|
|
545
|
-
const
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
626
|
+
getUses(acc = []) {
|
|
627
|
+
for (const e of this.getTypeExprs()) {
|
|
628
|
+
e.getUses(acc);
|
|
629
|
+
}
|
|
630
|
+
acc.push(this.aliasTypeExpr);
|
|
631
|
+
return acc;
|
|
549
632
|
}
|
|
550
633
|
getTypeExprs() {
|
|
551
634
|
function getTypeExprsInType(originalObject) {
|
package/lib/core/base/Type.d.ts
CHANGED
|
@@ -6,6 +6,27 @@ import { Constant } from './Constant';
|
|
|
6
6
|
/**
|
|
7
7
|
* @category core/base/type
|
|
8
8
|
*/
|
|
9
|
+
/**
|
|
10
|
+
* @internal Minimal visited-set for the isUnclearWithVisited recursion. The former
|
|
11
|
+
* per-call `new Set<Type>()` allocated on every isUnclear() - tens of millions of
|
|
12
|
+
* times per build (the preInfer frame alone attributed 3.6GB of it). Recursion depth
|
|
13
|
+
* is a handful of types, so a cursor-reset array segment with linear scan is both
|
|
14
|
+
* allocation-free and faster than hashing; base/top keeps nested isUnclear() calls
|
|
15
|
+
* (should any appear) from disturbing an in-flight segment.
|
|
16
|
+
*/
|
|
17
|
+
export interface UnclearVisited {
|
|
18
|
+
has(type: Type): boolean;
|
|
19
|
+
add(type: Type): void;
|
|
20
|
+
}
|
|
21
|
+
export declare class ArrayUnclearVisited implements UnclearVisited {
|
|
22
|
+
private readonly items;
|
|
23
|
+
private base;
|
|
24
|
+
private top;
|
|
25
|
+
enter(): number;
|
|
26
|
+
has(type: Type): boolean;
|
|
27
|
+
add(type: Type): void;
|
|
28
|
+
leave(prevBase: number): void;
|
|
29
|
+
}
|
|
9
30
|
export declare abstract class Type {
|
|
10
31
|
/** True if this type can contain other types and thus participate in cycles */
|
|
11
32
|
protected canParticipateInCycle(): boolean;
|
|
@@ -28,6 +49,9 @@ export declare abstract class Type {
|
|
|
28
49
|
*/
|
|
29
50
|
toStringWithVisited(visited?: Set<Type>): string;
|
|
30
51
|
protected abstract getTypeString(visited?: Set<Type>): string;
|
|
52
|
+
isUnclear(): boolean;
|
|
53
|
+
/** @internal */
|
|
54
|
+
abstract isUnclearWithVisited(visited: UnclearVisited): boolean;
|
|
31
55
|
}
|
|
32
56
|
/**
|
|
33
57
|
* any type
|
|
@@ -37,6 +61,7 @@ export declare class AnyType extends Type {
|
|
|
37
61
|
private static readonly INSTANCE;
|
|
38
62
|
static getInstance(): AnyType;
|
|
39
63
|
private constructor();
|
|
64
|
+
isUnclearWithVisited(_visited: UnclearVisited): boolean;
|
|
40
65
|
protected getTypeString(_visited?: Set<Type>): string;
|
|
41
66
|
}
|
|
42
67
|
/**
|
|
@@ -47,6 +72,7 @@ export declare class UnknownType extends Type {
|
|
|
47
72
|
private static readonly INSTANCE;
|
|
48
73
|
static getInstance(): UnknownType;
|
|
49
74
|
private constructor();
|
|
75
|
+
isUnclearWithVisited(_visited: UnclearVisited): boolean;
|
|
50
76
|
protected getTypeString(_visited?: Set<Type>): string;
|
|
51
77
|
}
|
|
52
78
|
/**
|
|
@@ -61,6 +87,7 @@ export declare class UnclearReferenceType extends Type {
|
|
|
61
87
|
constructor(name: string, genericTypes?: Type[]);
|
|
62
88
|
getName(): string;
|
|
63
89
|
getGenericTypes(): Type[];
|
|
90
|
+
isUnclearWithVisited(_visited: UnclearVisited): boolean;
|
|
64
91
|
protected getTypeString(visited?: Set<Type>): string;
|
|
65
92
|
}
|
|
66
93
|
/**
|
|
@@ -71,6 +98,7 @@ export declare abstract class PrimitiveType extends Type {
|
|
|
71
98
|
private name;
|
|
72
99
|
constructor(name: string);
|
|
73
100
|
getName(): string;
|
|
101
|
+
isUnclearWithVisited(_visited: UnclearVisited): boolean;
|
|
74
102
|
protected getTypeString(_visited?: Set<Type>): string;
|
|
75
103
|
}
|
|
76
104
|
export declare class BooleanType extends PrimitiveType {
|
|
@@ -109,6 +137,7 @@ export declare class NullType extends PrimitiveType {
|
|
|
109
137
|
private static readonly INSTANCE;
|
|
110
138
|
static getInstance(): NullType;
|
|
111
139
|
private constructor();
|
|
140
|
+
isUnclearWithVisited(_visited: UnclearVisited): boolean;
|
|
112
141
|
}
|
|
113
142
|
/**
|
|
114
143
|
* undefined type
|
|
@@ -118,6 +147,7 @@ export declare class UndefinedType extends PrimitiveType {
|
|
|
118
147
|
private static readonly INSTANCE;
|
|
119
148
|
static getInstance(): UndefinedType;
|
|
120
149
|
private constructor();
|
|
150
|
+
isUnclearWithVisited(_visited: UnclearVisited): boolean;
|
|
121
151
|
}
|
|
122
152
|
/**
|
|
123
153
|
* literal type
|
|
@@ -143,6 +173,7 @@ export declare class UnionType extends Type {
|
|
|
143
173
|
getTypes(): Type[];
|
|
144
174
|
getCurrType(): Type;
|
|
145
175
|
setCurrType(newType: Type): void;
|
|
176
|
+
isUnclearWithVisited(visited: UnclearVisited): boolean;
|
|
146
177
|
protected getTypeString(visited?: Set<Type>): string;
|
|
147
178
|
flatType(): Type[];
|
|
148
179
|
}
|
|
@@ -155,6 +186,7 @@ export declare class IntersectionType extends Type {
|
|
|
155
186
|
protected canParticipateInCycle(): boolean;
|
|
156
187
|
constructor(types: Type[]);
|
|
157
188
|
getTypes(): Type[];
|
|
189
|
+
isUnclearWithVisited(visited: UnclearVisited): boolean;
|
|
158
190
|
protected getTypeString(visited?: Set<Type>): string;
|
|
159
191
|
}
|
|
160
192
|
/**
|
|
@@ -165,6 +197,7 @@ export declare class VoidType extends Type {
|
|
|
165
197
|
private static readonly INSTANCE;
|
|
166
198
|
static getInstance(): VoidType;
|
|
167
199
|
private constructor();
|
|
200
|
+
isUnclearWithVisited(_visited: UnclearVisited): boolean;
|
|
168
201
|
protected getTypeString(_visited?: Set<Type>): string;
|
|
169
202
|
}
|
|
170
203
|
/**
|
|
@@ -175,6 +208,7 @@ export declare class NeverType extends Type {
|
|
|
175
208
|
private static readonly INSTANCE;
|
|
176
209
|
static getInstance(): NeverType;
|
|
177
210
|
private constructor();
|
|
211
|
+
isUnclearWithVisited(_visited: UnclearVisited): boolean;
|
|
178
212
|
protected getTypeString(_visited?: Set<Type>): string;
|
|
179
213
|
}
|
|
180
214
|
/**
|
|
@@ -182,12 +216,18 @@ export declare class NeverType extends Type {
|
|
|
182
216
|
* @category core/base/type
|
|
183
217
|
*/
|
|
184
218
|
export declare class FunctionType extends Type {
|
|
185
|
-
private
|
|
219
|
+
private methodSigID;
|
|
186
220
|
private realGenericTypes?;
|
|
221
|
+
private tempSigID?;
|
|
187
222
|
protected canParticipateInCycle(): boolean;
|
|
188
223
|
constructor(methodSignature: MethodSignature, realGenericTypes?: Type[]);
|
|
189
224
|
getMethodSignature(): MethodSignature;
|
|
225
|
+
/** @internal Get the formal MethodSigID. */
|
|
226
|
+
getMethodSigID(): number;
|
|
227
|
+
/** @internal Get the temp sigID for the unresolved-signature registration. */
|
|
228
|
+
getTempSigID(): number | undefined;
|
|
190
229
|
getRealGenericTypes(): Type[] | undefined;
|
|
230
|
+
isUnclearWithVisited(_visited: UnclearVisited): boolean;
|
|
191
231
|
protected getTypeString(visited?: Set<Type>): string;
|
|
192
232
|
}
|
|
193
233
|
/**
|
|
@@ -205,15 +245,21 @@ export declare class ClosureType extends FunctionType {
|
|
|
205
245
|
* @category core/base/type
|
|
206
246
|
*/
|
|
207
247
|
export declare class ClassType extends Type {
|
|
208
|
-
private
|
|
248
|
+
private classSigID;
|
|
209
249
|
private realGenericTypes?;
|
|
250
|
+
private tempSigID?;
|
|
210
251
|
protected canParticipateInCycle(): boolean;
|
|
211
252
|
protected getDisplayNameForCycle(): string;
|
|
212
253
|
constructor(classSignature: ClassSignature, realGenericTypes?: Type[]);
|
|
213
254
|
getClassSignature(): ClassSignature;
|
|
214
255
|
setClassSignature(newClassSignature: ClassSignature): void;
|
|
256
|
+
/** @internal Get the formal ClassSigID. */
|
|
257
|
+
getClassSigID(): number;
|
|
258
|
+
/** @internal Get the temp sigID for the unresolved-signature registration. */
|
|
259
|
+
getTempSigID(): number | undefined;
|
|
215
260
|
getRealGenericTypes(): Type[] | undefined;
|
|
216
261
|
setRealGenericTypes(types: Type[] | undefined): void;
|
|
262
|
+
isUnclearWithVisited(_visited: UnclearVisited): boolean;
|
|
217
263
|
protected getTypeString(visited?: Set<Type>): string;
|
|
218
264
|
}
|
|
219
265
|
/**
|
|
@@ -244,6 +290,7 @@ export declare class ArrayType extends Type {
|
|
|
244
290
|
getDimension(): number;
|
|
245
291
|
setReadonlyFlag(readonlyFlag: boolean): void;
|
|
246
292
|
getReadonlyFlag(): boolean | undefined;
|
|
293
|
+
isUnclearWithVisited(visited: UnclearVisited): boolean;
|
|
247
294
|
protected getTypeString(visited?: Set<Type>): string;
|
|
248
295
|
}
|
|
249
296
|
/**
|
|
@@ -267,6 +314,7 @@ export declare class TupleType extends Type {
|
|
|
267
314
|
getTypes(): Type[];
|
|
268
315
|
setReadonlyFlag(readonlyFlag: boolean): void;
|
|
269
316
|
getReadonlyFlag(): boolean | undefined;
|
|
317
|
+
isUnclearWithVisited(visited: UnclearVisited): boolean;
|
|
270
318
|
protected getTypeString(visited?: Set<Type>): string;
|
|
271
319
|
}
|
|
272
320
|
/**
|
|
@@ -300,6 +348,7 @@ export declare class AliasType extends Type implements ArkExport {
|
|
|
300
348
|
getName(): string;
|
|
301
349
|
setOriginalType(type: Type): void;
|
|
302
350
|
getOriginalType(): Type;
|
|
351
|
+
isUnclearWithVisited(visited: UnclearVisited): boolean;
|
|
303
352
|
protected getTypeString(visited?: Set<Type>): string;
|
|
304
353
|
getExportType(): ExportType;
|
|
305
354
|
getModifiers(): number;
|
|
@@ -328,12 +377,14 @@ export declare class GenericType extends Type {
|
|
|
328
377
|
setConstraint(type: Type): void;
|
|
329
378
|
setIndex(index: number): void;
|
|
330
379
|
getIndex(): number;
|
|
380
|
+
isUnclearWithVisited(_visited: UnclearVisited): boolean;
|
|
331
381
|
protected getTypeString(visited?: Set<Type>): string;
|
|
332
382
|
}
|
|
333
383
|
export declare abstract class AnnotationType extends Type {
|
|
334
384
|
private originType;
|
|
335
385
|
protected constructor(originType: string);
|
|
336
386
|
getOriginType(): string;
|
|
387
|
+
isUnclearWithVisited(_visited: UnclearVisited): boolean;
|
|
337
388
|
protected getTypeString(_visited?: Set<Type>): string;
|
|
338
389
|
}
|
|
339
390
|
export declare class AnnotationNamespaceType extends AnnotationType {
|
|
@@ -348,20 +399,32 @@ export declare class AnnotationTypeQueryType extends AnnotationType {
|
|
|
348
399
|
constructor(originType: string);
|
|
349
400
|
}
|
|
350
401
|
export declare class LexicalEnvType extends Type {
|
|
351
|
-
private
|
|
402
|
+
private nestedMethodSigID;
|
|
352
403
|
private closures;
|
|
404
|
+
private tempSigID?;
|
|
353
405
|
constructor(nestedMethod: MethodSignature, closures?: Local[]);
|
|
354
406
|
getNestedMethod(): MethodSignature;
|
|
407
|
+
/** @internal Get the formal MethodSigID. */
|
|
408
|
+
getMethodSigID(): number;
|
|
409
|
+
/** @internal Get the temp sigID for the unresolved-signature registration. */
|
|
410
|
+
getTempSigID(): number | undefined;
|
|
355
411
|
getClosures(): Local[];
|
|
356
412
|
addClosure(closure: Local): void;
|
|
413
|
+
isUnclearWithVisited(_visited: UnclearVisited): boolean;
|
|
357
414
|
protected getTypeString(_visited?: Set<Type>): string;
|
|
358
415
|
}
|
|
359
416
|
export declare class EnumValueType extends Type {
|
|
360
|
-
private
|
|
417
|
+
private fieldSigID;
|
|
361
418
|
private constant?;
|
|
419
|
+
private tempSigID?;
|
|
362
420
|
constructor(signature: FieldSignature, constant?: Constant);
|
|
363
421
|
getFieldSignature(): FieldSignature;
|
|
422
|
+
/** @internal Get the formal FieldSigID. */
|
|
423
|
+
getFieldSigID(): number;
|
|
424
|
+
/** @internal Get the temp sigID for the unresolved-signature registration. */
|
|
425
|
+
getTempSigID(): number | undefined;
|
|
364
426
|
getConstant(): Constant | undefined;
|
|
427
|
+
isUnclearWithVisited(_visited: UnclearVisited): boolean;
|
|
365
428
|
protected getTypeString(_visited?: Set<Type>): string;
|
|
366
429
|
}
|
|
367
430
|
//# sourceMappingURL=Type.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Type.d.ts","sourceRoot":"","sources":["../../../src/core/base/Type.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAChI,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAsB,YAAY,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"Type.d.ts","sourceRoot":"","sources":["../../../src/core/base/Type.ts"],"names":[],"mappings":"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"}
|