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
|
@@ -10,32 +10,100 @@ export interface ArkSignature {
|
|
|
10
10
|
export declare class FileSignature {
|
|
11
11
|
private projectName;
|
|
12
12
|
private fileName;
|
|
13
|
-
private
|
|
14
|
-
|
|
13
|
+
private readonly hashCode;
|
|
14
|
+
/** The canonical DEFAULT signature (formal sigID 0 in the registry). */
|
|
15
|
+
static get DEFAULT(): FileSignature;
|
|
15
16
|
constructor(projectName: string, fileName: string);
|
|
16
17
|
getProjectName(): string;
|
|
17
18
|
getFileName(): string;
|
|
18
19
|
toString(): string;
|
|
20
|
+
/**
|
|
21
|
+
* @deprecated No longer used internally since the ID refactor: identity comparison
|
|
22
|
+
* uses {@link signatureEquals} (hash + equals), indexing uses the canonicalizer.
|
|
23
|
+
* Kept for backward compatibility only — for identity checks use `equals()`
|
|
24
|
+
* (with `getHashCode()` fast reject), for debug output use `toString()`.
|
|
25
|
+
*
|
|
26
|
+
* Implementation note: identity projection (= toString, projectName + fileName are the complete identity fields) — collision-free.
|
|
27
|
+
*/
|
|
19
28
|
toMapKey(): string;
|
|
29
|
+
getHashCode(): number;
|
|
30
|
+
equals(other: FileSignature): boolean;
|
|
31
|
+
/** @internal FileSignature is never unclear (it is the identity root). */
|
|
32
|
+
isUnclear(): boolean;
|
|
20
33
|
}
|
|
21
34
|
export declare class NamespaceSignature {
|
|
22
35
|
private namespaceName;
|
|
23
|
-
|
|
24
|
-
private
|
|
25
|
-
|
|
36
|
+
/** @internal Formal FileSigID for the declaring file. */
|
|
37
|
+
private declaringFileSigID;
|
|
38
|
+
/** @internal Formal NamespaceSigID for the declaring namespace. undefined = none (top-level). */
|
|
39
|
+
private declaringNamespaceSigID?;
|
|
40
|
+
private readonly hashCode;
|
|
41
|
+
private static readonly logger;
|
|
42
|
+
/** The canonical DEFAULT signature (formal sigID 0 in the registry). */
|
|
43
|
+
static get DEFAULT(): NamespaceSignature;
|
|
44
|
+
/**
|
|
45
|
+
* Build from signature instances (backward-compatible value constructor).
|
|
46
|
+
* @deprecated Pass formal SigIDs instead (e.g. via ArkFile.getFileSigID() /
|
|
47
|
+
* ArkNamespace.getNamespaceSigID()). The declaring signatures must already be
|
|
48
|
+
* interned — this overload resolves their existing IDs and fails fast otherwise
|
|
49
|
+
* (it never interns) — and will be removed in a future release.
|
|
50
|
+
*/
|
|
26
51
|
constructor(namespaceName: string, declaringFileSignature: FileSignature, declaringNamespaceSignature?: NamespaceSignature | null);
|
|
52
|
+
/**
|
|
53
|
+
* Build directly from formal SigIDs (must already be interned in the registry).
|
|
54
|
+
* This path has no registry dependency and is used by internal bootstrap code.
|
|
55
|
+
*/
|
|
56
|
+
constructor(namespaceName: string, declaringFileSigID: number, declaringNamespaceSigID?: number);
|
|
27
57
|
getNamespaceName(): string;
|
|
58
|
+
/** @internal Get the formal NamespaceSigID of this signature (interning it if needed). */
|
|
59
|
+
getNamespaceSigID(): number;
|
|
28
60
|
getDeclaringFileSignature(): FileSignature;
|
|
61
|
+
/** @internal Get the formal FileSigID of the declaring file. (Renamed from
|
|
62
|
+
* getDeclaringFileSigId to align the casing with ClassSignature/getFileSigID.) */
|
|
63
|
+
getDeclaringFileSigID(): number;
|
|
64
|
+
/** @internal Get the formal NamespaceSigID of the declaring namespace. undefined = top-level. */
|
|
65
|
+
getDeclaringNamespaceSigID(): number | undefined;
|
|
29
66
|
getDeclaringNamespaceSignature(): NamespaceSignature | null;
|
|
30
67
|
toString(): string;
|
|
68
|
+
/**
|
|
69
|
+
* @deprecated No longer used internally since the ID refactor: identity comparison
|
|
70
|
+
* uses {@link signatureEquals} (hash + equals), indexing uses the canonicalizer.
|
|
71
|
+
* Kept for backward compatibility only — for identity checks use `equals()`
|
|
72
|
+
* (with `getHashCode()` fast reject), for debug output use `toString()`.
|
|
73
|
+
*/
|
|
31
74
|
toMapKey(): string;
|
|
75
|
+
getHashCode(): number;
|
|
76
|
+
equals(other: NamespaceSignature): boolean;
|
|
77
|
+
/** Whether this signature's declaring file is unknown (FileSignature.DEFAULT). */
|
|
78
|
+
isUnclear(): boolean;
|
|
32
79
|
}
|
|
33
80
|
export declare class ClassSignature {
|
|
34
|
-
private declaringFileSignature;
|
|
35
|
-
private declaringNamespaceSignature;
|
|
36
81
|
private className;
|
|
37
|
-
|
|
82
|
+
/** @internal Formal FileSigID for the declaring file. */
|
|
83
|
+
private declaringFileSigID;
|
|
84
|
+
/** @internal Formal NamespaceSigID for the declaring namespace. undefined = none (top-level). */
|
|
85
|
+
private declaringNamespaceSigID?;
|
|
86
|
+
/**
|
|
87
|
+
* @internal Mutable for the shared lookup probe; kept consistent via recomputeHashCode.
|
|
88
|
+
* The constructor assigns through {@link recomputeHashCode} (TS cannot verify, hence `!`).
|
|
89
|
+
*/
|
|
90
|
+
private hashCode;
|
|
91
|
+
private static readonly logger;
|
|
92
|
+
/** The canonical DEFAULT signature (formal sigID 0 in the registry). */
|
|
93
|
+
static get DEFAULT(): ClassSignature;
|
|
94
|
+
/**
|
|
95
|
+
* Build from signature instances (backward-compatible value constructor).
|
|
96
|
+
* @deprecated Pass formal SigIDs instead (e.g. via ArkFile.getFileSigID() /
|
|
97
|
+
* ArkNamespace.getNamespaceSigID()). The declaring signatures must already be
|
|
98
|
+
* interned — this overload resolves their existing IDs and fails fast otherwise
|
|
99
|
+
* (it never interns) — and will be removed in a future release.
|
|
100
|
+
*/
|
|
38
101
|
constructor(className: string, declaringFileSignature: FileSignature, declaringNamespaceSignature?: NamespaceSignature | null);
|
|
102
|
+
/**
|
|
103
|
+
* Build directly from formal SigIDs (must already be interned in the registry).
|
|
104
|
+
* This path has no registry dependency and is used by internal bootstrap code.
|
|
105
|
+
*/
|
|
106
|
+
constructor(className: string, declaringFileSigID: number, declaringNamespaceSigID?: number);
|
|
39
107
|
/**
|
|
40
108
|
* Returns the declaring file signature.
|
|
41
109
|
* @returns The declaring file signature.
|
|
@@ -46,26 +114,62 @@ export declare class ClassSignature {
|
|
|
46
114
|
* @returns the declaring namespace's signature.
|
|
47
115
|
*/
|
|
48
116
|
getDeclaringNamespaceSignature(): NamespaceSignature | null;
|
|
117
|
+
/** @internal Get the formal FileSigID of the declaring file. */
|
|
118
|
+
getDeclaringFileSigID(): number;
|
|
119
|
+
/** @internal Get the formal NamespaceSigID of the declaring namespace. Returns undefined for top-level classes. */
|
|
120
|
+
getDeclaringNamespaceSigID(): number | undefined;
|
|
49
121
|
/**
|
|
50
122
|
* Get the **string** name of class from the the class signature. The default value is `""`.
|
|
51
123
|
* @returns The name of this class.
|
|
52
124
|
*/
|
|
53
125
|
getClassName(): string;
|
|
126
|
+
/** @internal Recompute the cached hash from the current parts (constructor and probe). */
|
|
127
|
+
private recomputeHashCode;
|
|
128
|
+
private static probeInstance;
|
|
129
|
+
/**
|
|
130
|
+
* @internal Shared mutable probe for existence-check lookups (getClassWithName and
|
|
131
|
+
* friends), which built a throwaway ClassSignature - object plus string hash - on every
|
|
132
|
+
* probe (~1.5GB per full build). Consume the result in a single expression: the next
|
|
133
|
+
* probe call rewrites the parts. Never store or intern the returned instance.
|
|
134
|
+
*/
|
|
135
|
+
static probe(className: string, declaringFileSigID: number, declaringNamespaceSigID?: number): ClassSignature;
|
|
54
136
|
/**
|
|
55
137
|
*
|
|
56
138
|
* @returns The name of the declare class.
|
|
57
139
|
*/
|
|
58
140
|
getDeclaringClassName(): string;
|
|
141
|
+
/**
|
|
142
|
+
* @deprecated Mutating the class name breaks the cached hash (the signature would intern
|
|
143
|
+
* to a different SigID than a freshly built one with the new name). Build a new
|
|
144
|
+
* ClassSignature instead.
|
|
145
|
+
*/
|
|
59
146
|
setClassName(className: string): void;
|
|
60
147
|
getType(): ClassType;
|
|
61
148
|
toString(): string;
|
|
149
|
+
/**
|
|
150
|
+
* @deprecated No longer used internally since the ID refactor: identity comparison
|
|
151
|
+
* uses {@link signatureEquals} (hash + equals), indexing uses the canonicalizer.
|
|
152
|
+
* Kept for backward compatibility only — for identity checks use `equals()`
|
|
153
|
+
* (with `getHashCode()` fast reject), for debug output use `toString()`.
|
|
154
|
+
*/
|
|
62
155
|
toMapKey(): string;
|
|
156
|
+
getHashCode(): number;
|
|
157
|
+
equals(other: ClassSignature): boolean;
|
|
158
|
+
/**
|
|
159
|
+
* @internal Whether this signature's declaring file is unknown (FileSignature.DEFAULT).
|
|
160
|
+
* Direct field check (no registry lookup): unclear iff declaring file is DEFAULT (FileSigID 0)
|
|
161
|
+
* and this is not the DEFAULT placeholder itself (distinguished by the '%unk' name).
|
|
162
|
+
* This is a hot path in Method/FieldSignature constructor temp/formal branching.
|
|
163
|
+
*/
|
|
164
|
+
isUnclear(): boolean;
|
|
63
165
|
}
|
|
64
166
|
/**
|
|
65
167
|
* `AliasClassSignature` is used to extend `ClassSignature`, preserving the actual name used during invocation.
|
|
66
168
|
*/
|
|
67
169
|
export declare class AliasClassSignature extends ClassSignature {
|
|
68
170
|
private readonly aliasName;
|
|
171
|
+
/** alias 身份 hash(与父类同构公式,className → aliasName)。 */
|
|
172
|
+
private readonly aliasHashCode;
|
|
69
173
|
constructor(aliasName: string, signature: ClassSignature);
|
|
70
174
|
/**
|
|
71
175
|
* Returns the name used in the code.
|
|
@@ -75,15 +179,80 @@ export declare class AliasClassSignature extends ClassSignature {
|
|
|
75
179
|
* Return the original name of declared class
|
|
76
180
|
*/
|
|
77
181
|
getOriginName(): string;
|
|
182
|
+
/** alias 身份 hash(aliasName 替代 origin className 参与)。 */
|
|
183
|
+
getHashCode(): number;
|
|
184
|
+
/** 比较 aliasName + origin 维度;alias 与普通签名永不相等。 */
|
|
185
|
+
equals(other: ClassSignature): boolean;
|
|
78
186
|
}
|
|
187
|
+
/**
|
|
188
|
+
* @internal
|
|
189
|
+
* display 归一化:将 alias MethodSignature intern 进 methodSig formal 空间并双注册 origin 的 ArkMethod model(与 AliasClassSignature 构造器的 class 侧双注册
|
|
190
|
+
* 对称)。产生点(组件 pop 构建 / Interface 替换)在把签名交给 expr 之前调用——expr 的 route() formal 命中持 SigID,scene.getMethod 经 getModel 直命中
|
|
191
|
+
* 真实方法(callgraph/ViewTree findMethod 全链路无需 fallback)。
|
|
192
|
+
*/
|
|
193
|
+
export declare function internAliasMethodSignature(aliasSignature: MethodSignature, originSignature: MethodSignature): void;
|
|
79
194
|
export type BaseSignature = ClassSignature | NamespaceSignature;
|
|
80
195
|
export declare class FieldSignature {
|
|
81
|
-
private declaringSignature;
|
|
82
196
|
private fieldName;
|
|
83
197
|
private type;
|
|
84
198
|
private staticFlag;
|
|
199
|
+
/**
|
|
200
|
+
* @internal 构造期按值固化;改写同步更新(就地演进原语——值与 hash 始终一致,不破坏 hash/equals 契约)。
|
|
201
|
+
* 构造器经 {@link recomputeHashCode} 完成首次赋值(TS 无法静态确认,`!` 断言)。
|
|
202
|
+
*/
|
|
203
|
+
private hashCode;
|
|
204
|
+
/** @internal Formal ClassSigID of the declaring class. -1 = unclear. undefined = declared by namespace. */
|
|
205
|
+
private declaringClassSigID?;
|
|
206
|
+
/** @internal Formal NamespaceSigID of the declaring namespace. -1 = unclear. undefined = declared by class. */
|
|
207
|
+
private declaringNamespaceSigID?;
|
|
208
|
+
/** @internal Temp ClassSigID for the unclear declaring class (reference-semantics). */
|
|
209
|
+
private declaringClassTempSigID?;
|
|
210
|
+
private static readonly logger;
|
|
211
|
+
/** The canonical DEFAULT signature (formal sigID 0 in the registry). */
|
|
212
|
+
static get DEFAULT(): FieldSignature;
|
|
213
|
+
/**
|
|
214
|
+
* Build from a declaring signature instance (backward-compatible value constructor).
|
|
215
|
+
* @deprecated Pass formal SigIDs (plus optional temp ClassSigID) instead.
|
|
216
|
+
*/
|
|
85
217
|
constructor(fieldName: string, declaringSignature: BaseSignature, type: Type, staticFlag?: boolean);
|
|
218
|
+
/**
|
|
219
|
+
* Build from SigIDs. Formal: `(name, classSigID, type, staticFlag?)` with classSigID >= 0.
|
|
220
|
+
* Temp: `(name, -1, type, staticFlag, false, tempClassSigID)` — classSigID = -1 marks unclear.
|
|
221
|
+
*/
|
|
222
|
+
constructor(fieldName: string, declaringClassSigID: number, type: Type, staticFlag?: boolean, namespaceDeclared?: false, declaringClassTempSigID?: number);
|
|
223
|
+
/**
|
|
224
|
+
* Build directly from the declaring namespace's formal NamespaceSigID (must already be
|
|
225
|
+
* interned). The trailing literal `true` disambiguates the namespace ID space from the
|
|
226
|
+
* class ID space. Note: staticFlag is required in this overload (TS optional-parameter
|
|
227
|
+
* ordering).
|
|
228
|
+
*/
|
|
229
|
+
constructor(fieldName: string, declaringNamespaceSigID: number, type: Type, staticFlag: boolean, namespaceDeclared: true);
|
|
230
|
+
/**
|
|
231
|
+
* @internal 解析 declaring 并写入三个 SigID 字段(构造器与 {@link applyFields}共用):
|
|
232
|
+
* 数字重载直存;
|
|
233
|
+
* 对象重载按 isUnclear 分流(unclear class → temp 登记;clear → formal 只读命中;unclear ns → 仅标记 -1)。
|
|
234
|
+
*/
|
|
235
|
+
private setDeclaringFields;
|
|
236
|
+
private static probeInstance;
|
|
237
|
+
/**
|
|
238
|
+
* @internal Shared mutable probe for existence-check lookups (getFieldWithName and
|
|
239
|
+
* friends). Consume the result in a single expression; never store or intern it.
|
|
240
|
+
*/
|
|
241
|
+
static probe(fieldName: string, declaringClassSigID: number, type: Type, staticFlag: boolean): FieldSignature;
|
|
242
|
+
/** @internal 按当前字段值重算 hash(applyFields 就地演进后调用,值与 hash 保持一致)。 */
|
|
243
|
+
private recomputeHashCode;
|
|
244
|
+
/**
|
|
245
|
+
* @internal 参数式就地演进原语——不经过中间实例 N,直接按参数赋值字段 + 解析 declaring + 重算 hash(编号不变)。供持有者更新入口的参数式路径
|
|
246
|
+
* (决策表"未毕业抄写"分支的零分配版)使用。
|
|
247
|
+
*/
|
|
248
|
+
applyFields(fieldName: string, declaringOrID: BaseSignature | number, type: Type, staticFlag: boolean, namespaceDeclared?: boolean): void;
|
|
86
249
|
getDeclaringSignature(): BaseSignature;
|
|
250
|
+
/** @internal Get the formal ClassSigID of the declaring class. Returns -1 if unclear (temp-held), undefined if declared by namespace. */
|
|
251
|
+
getDeclaringClassSigID(): number | undefined;
|
|
252
|
+
/** @internal Get the formal NamespaceSigID of the declaring namespace. Returns -1 if unclear (temp-held), undefined if declared by class. */
|
|
253
|
+
getDeclaringNamespaceSigID(): number | undefined;
|
|
254
|
+
/** @internal Get the temp ClassSigID of the unclear declaring class. Returns undefined if clear or declared by namespace. */
|
|
255
|
+
getDeclaringClassTempSigID(): number | undefined;
|
|
87
256
|
getBaseName(): string;
|
|
88
257
|
getFieldName(): string;
|
|
89
258
|
getType(): Type;
|
|
@@ -91,6 +260,26 @@ export declare class FieldSignature {
|
|
|
91
260
|
setType(type: Type): void;
|
|
92
261
|
setStaticFlag(flag: boolean): void;
|
|
93
262
|
toString(): string;
|
|
263
|
+
/**
|
|
264
|
+
* @deprecated No longer used internally since the ID refactor: identity comparison
|
|
265
|
+
* uses {@link signatureEquals} (hash + equals), indexing uses the canonicalizer.
|
|
266
|
+
* Kept for backward compatibility only — for identity checks use `equals()`
|
|
267
|
+
* (with `getHashCode()` fast reject), for debug output use `toString()`.
|
|
268
|
+
*/
|
|
269
|
+
toMapKey(): string;
|
|
270
|
+
getHashCode(): number;
|
|
271
|
+
equals(other: FieldSignature): boolean;
|
|
272
|
+
/**
|
|
273
|
+
* @internal Whether the declaring signature is unclear (temp-held, unresolved).
|
|
274
|
+
* Direct field check (no registry lookup, no declaring signature chain traversal):
|
|
275
|
+
* class-side unclear = declaringClassSigID is non-positive — -1 (temp-held) or 0
|
|
276
|
+
* (DEFAULT class as declaring, i.e. "method on an unknown class" — stub builders
|
|
277
|
+
* like ArkSignatureBuilder.buildMethodSignatureFromMethodName pass 0 directly);
|
|
278
|
+
* namespace-side unclear = declaringNamespaceSigID === -1.
|
|
279
|
+
* A positive formal declaring ID implies the declaring entity went through the
|
|
280
|
+
* formal path — no chain check needed.
|
|
281
|
+
*/
|
|
282
|
+
isUnclear(): boolean;
|
|
94
283
|
}
|
|
95
284
|
export declare class MethodSubSignature {
|
|
96
285
|
private methodName;
|
|
@@ -100,6 +289,15 @@ export declare class MethodSubSignature {
|
|
|
100
289
|
constructor(methodName: string, parameters: MethodParameter[], returnType: Type, staticFlag?: boolean);
|
|
101
290
|
getMethodName(): string;
|
|
102
291
|
getParameters(): MethodParameter[];
|
|
292
|
+
/**
|
|
293
|
+
* @internal Replace the parameter list.
|
|
294
|
+
*
|
|
295
|
+
* Parameter NAMES are not part of the signature identity (hash/equals/toString only use
|
|
296
|
+
* parameter types), so distinct declarations/implementations of the same method share one
|
|
297
|
+
* canonical signature instance. The implementation side is the authority for body-local
|
|
298
|
+
* generation, so its parameter names are refreshed onto the canonical instance.
|
|
299
|
+
*/
|
|
300
|
+
setParameters(parameters: MethodParameter[]): void;
|
|
103
301
|
getParameterTypes(): Type[];
|
|
104
302
|
getReturnType(): Type;
|
|
105
303
|
setReturnType(returnType: Type): void;
|
|
@@ -110,9 +308,24 @@ export declare class MethodSubSignature {
|
|
|
110
308
|
* @category core/model
|
|
111
309
|
*/
|
|
112
310
|
export declare class MethodSignature {
|
|
113
|
-
private declaringClassSignature;
|
|
114
311
|
private methodSubSignature;
|
|
312
|
+
private readonly hashCode;
|
|
313
|
+
/** @internal Formal ClassSigID for the declaring class. -1 = unclear (temp-held). */
|
|
314
|
+
private declaringClassSigID;
|
|
315
|
+
private declaringClassTempSigID?;
|
|
316
|
+
private static readonly logger;
|
|
317
|
+
/** The canonical DEFAULT signature (formal sigID 0 in the registry). */
|
|
318
|
+
static get DEFAULT(): MethodSignature;
|
|
319
|
+
/**
|
|
320
|
+
* Build from a declaring class signature instance (backward-compatible value constructor).
|
|
321
|
+
* @deprecated Pass the formal ClassSigID (plus optional temp ClassSigID) instead.
|
|
322
|
+
*/
|
|
115
323
|
constructor(declaringClassSignature: ClassSignature, methodSubSignature: MethodSubSignature);
|
|
324
|
+
/**
|
|
325
|
+
* Build from SigIDs. Formal: `(classSigID, subSig)` with classSigID >= 0.
|
|
326
|
+
* Temp: `(-1, subSig, tempClassSigID)` — declaringClassSigID = -1 marks unclear, tempClassSigID is the temp index.
|
|
327
|
+
*/
|
|
328
|
+
constructor(declaringClassSigID: number, methodSubSignature: MethodSubSignature, declaringClassTempSigID?: number);
|
|
116
329
|
/**
|
|
117
330
|
* Return the declaring class signature.
|
|
118
331
|
* A {@link ClassSignature} includes:
|
|
@@ -122,16 +335,12 @@ export declare class MethodSignature {
|
|
|
122
335
|
* A namespace signature can indicate its **string** name of namespace and its file signature.
|
|
123
336
|
* - Class Name: the **string** name of this class.
|
|
124
337
|
* @returns The declaring class signature.
|
|
125
|
-
* @example
|
|
126
|
-
* 1. get class signature from ArkMethod.
|
|
127
|
-
|
|
128
|
-
```typescript
|
|
129
|
-
let methodSignature = expr.getMethodSignature();
|
|
130
|
-
let name = methodSignature.getDeclaringClassSignature().getClassName();
|
|
131
|
-
```
|
|
132
|
-
*
|
|
133
338
|
*/
|
|
134
339
|
getDeclaringClassSignature(): ClassSignature;
|
|
340
|
+
/** @internal Get the formal ClassSigID of the declaring class. Returns -1 if unclear (temp-held). */
|
|
341
|
+
getDeclaringClassSigID(): number;
|
|
342
|
+
/** @internal Get the temp ClassSigID of the unclear declaring class. Returns undefined if clear. */
|
|
343
|
+
getDeclaringClassTempSigID(): number | undefined;
|
|
135
344
|
/**
|
|
136
345
|
* Returns the sub-signature of this method signature.
|
|
137
346
|
* The sub-signature is part of the method signature, which is used to
|
|
@@ -141,7 +350,16 @@ export declare class MethodSignature {
|
|
|
141
350
|
getMethodSubSignature(): MethodSubSignature;
|
|
142
351
|
getType(): Type;
|
|
143
352
|
toString(ptrName?: string, visited?: Set<Type>): string;
|
|
353
|
+
/**
|
|
354
|
+
* @deprecated No longer used internally since the ID refactor: identity comparison
|
|
355
|
+
* uses {@link signatureEquals} (hash + equals), indexing uses the canonicalizer.
|
|
356
|
+
* Kept for backward compatibility only — for identity checks use `equals()`
|
|
357
|
+
* (with `getHashCode()` fast reject), for debug output use `toString()`.
|
|
358
|
+
*/
|
|
144
359
|
toMapKey(): string;
|
|
360
|
+
getHashCode(): number;
|
|
361
|
+
equals(other: MethodSignature): boolean;
|
|
362
|
+
isUnclear(): boolean;
|
|
145
363
|
isMatch(signature: MethodSignature): boolean;
|
|
146
364
|
getParamLength(): number;
|
|
147
365
|
}
|
|
@@ -161,6 +379,12 @@ export declare class AliasTypeSignature {
|
|
|
161
379
|
getDeclaringMethodSignature(): MethodSignature;
|
|
162
380
|
toString(visited?: Set<Type>): string;
|
|
163
381
|
}
|
|
382
|
+
/**
|
|
383
|
+
* Legacy free-function comparators — kept for API compatibility (external callers may exist).
|
|
384
|
+
* Behavior aligns with the corresponding signature classes' `equals()`:
|
|
385
|
+
* - classSignatureCompare compares the declaring namespace (silently ignoring it misjudges same-name classes in different namespaces as equal);
|
|
386
|
+
* - methodSubSignatureCompare compares parameter/return types by value (`===` reference comparison misjudges value-equal distinct Type instances as different).
|
|
387
|
+
*/
|
|
164
388
|
export declare function fieldSignatureCompare(leftSig: FieldSignature, rightSig: FieldSignature): boolean;
|
|
165
389
|
export declare function methodSignatureCompare(leftSig: MethodSignature, rightSig: MethodSignature): boolean;
|
|
166
390
|
export declare function methodSubSignatureCompare(leftSig: MethodSubSignature, rightSig: MethodSubSignature): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArkSignature.d.ts","sourceRoot":"","sources":["../../../src/core/model/ArkSignature.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ArkSignature.d.ts","sourceRoot":"","sources":["../../../src/core/model/ArkSignature.ts"],"names":[],"mappings":"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"}
|