arkanalyzer 1.0.35 → 1.0.37
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/Scene.js +5 -5
- package/lib/callgraph/algorithm/AbstractAnalysis.d.ts +1 -1
- package/lib/callgraph/algorithm/AbstractAnalysis.d.ts.map +1 -1
- package/lib/callgraph/algorithm/AbstractAnalysis.js +9 -6
- package/lib/callgraph/algorithm/ClassHierarchyAnalysis.d.ts +2 -1
- package/lib/callgraph/algorithm/ClassHierarchyAnalysis.d.ts.map +1 -1
- package/lib/callgraph/algorithm/ClassHierarchyAnalysis.js +3 -3
- package/lib/callgraph/algorithm/RapidTypeAnalysis.d.ts.map +1 -1
- package/lib/callgraph/algorithm/RapidTypeAnalysis.js +1 -2
- package/lib/callgraph/common/Statistics.d.ts +1 -0
- package/lib/callgraph/common/Statistics.d.ts.map +1 -1
- package/lib/callgraph/common/Statistics.js +4 -1
- package/lib/callgraph/model/CallGraph.d.ts +4 -24
- package/lib/callgraph/model/CallGraph.d.ts.map +1 -1
- package/lib/callgraph/model/CallGraph.js +8 -37
- package/lib/callgraph/model/CallSite.d.ts +29 -0
- package/lib/callgraph/model/CallSite.d.ts.map +1 -0
- package/lib/callgraph/model/CallSite.js +42 -0
- package/lib/callgraph/model/builder/CallGraphBuilder.d.ts +1 -0
- package/lib/callgraph/model/builder/CallGraphBuilder.d.ts.map +1 -1
- package/lib/callgraph/model/builder/CallGraphBuilder.js +15 -7
- package/lib/callgraph/pointerAnalysis/PagBuilder.d.ts +2 -2
- package/lib/callgraph/pointerAnalysis/PagBuilder.d.ts.map +1 -1
- package/lib/callgraph/pointerAnalysis/PagBuilder.js +11 -3
- package/lib/callgraph/pointerAnalysis/PointerAnalysis.d.ts.map +1 -1
- package/lib/callgraph/pointerAnalysis/PointerAnalysis.js +1 -2
- package/lib/core/base/Expr.d.ts +1 -0
- package/lib/core/base/Expr.d.ts.map +1 -1
- package/lib/core/base/Expr.js +30 -7
- package/lib/core/base/Local.d.ts.map +1 -1
- package/lib/core/base/Local.js +5 -0
- package/lib/core/common/ArkIRTransformer.d.ts.map +1 -1
- package/lib/core/common/ArkIRTransformer.js +0 -10
- package/lib/core/common/IRInference.d.ts.map +1 -1
- package/lib/core/common/IRInference.js +1 -0
- package/lib/core/common/ModelUtils.d.ts.map +1 -1
- package/lib/core/common/ModelUtils.js +3 -4
- package/lib/core/common/SdkUtils.d.ts.map +1 -1
- package/lib/core/common/SdkUtils.js +29 -1
- package/lib/core/common/TypeInference.d.ts +2 -1
- package/lib/core/common/TypeInference.d.ts.map +1 -1
- package/lib/core/common/TypeInference.js +8 -4
- package/lib/core/dataflow/DataflowSolver.d.ts.map +1 -1
- package/lib/core/dataflow/DataflowSolver.js +2 -1
- package/lib/core/graph/builder/TrapBuilder.d.ts.map +1 -1
- package/lib/core/graph/builder/TrapBuilder.js +20 -15
- package/lib/core/model/ArkImport.js +1 -1
- package/lib/core/model/ArkMethod.d.ts +2 -0
- package/lib/core/model/ArkMethod.d.ts.map +1 -1
- package/lib/core/model/ArkMethod.js +37 -28
- package/lib/core/model/builder/ArkClassBuilder.js +12 -3
- package/lib/core/model/builder/ArkFieldBuilder.js +2 -2
- package/lib/core/model/builder/ArkFileBuilder.js +2 -2
- package/lib/core/model/builder/ArkNamespaceBuilder.js +4 -4
- package/lib/save/JsonPrinter.d.ts.map +1 -1
- package/lib/save/JsonPrinter.js +50 -32
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PointerAnalysis.d.ts","sourceRoot":"","sources":["../../../src/callgraph/pointerAnalysis/PointerAnalysis.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAG5D,OAAO,EAAE,SAAS,EAAiB,QAAQ,EAAe,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC7F,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAa,IAAI,EAAe,MAAM,sBAAsB,CAAC;AAEpE,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAI5C,OAAO,EAAE,GAAG,EAAgF,MAAM,OAAO,CAAC;AAE1G,OAAO,EAAE,qBAAqB,EAAoB,MAAM,yBAAyB,CAAC;AAClF,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAErD,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAIvD,qBAAa,eAAgB,SAAQ,gBAAgB;IACjD,OAAO,CAAC,GAAG,CAAM;IACjB,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,GAAG,CAAqD;IAChE,OAAO,CAAC,OAAO,CAAY;IAC3B,OAAO,CAAC,QAAQ,CAAY;IAE5B,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,WAAW,CAAyB;IAC5C,OAAO,CAAC,MAAM,CAAwB;gBAE1B,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,qBAAqB;
|
|
1
|
+
{"version":3,"file":"PointerAnalysis.d.ts","sourceRoot":"","sources":["../../../src/callgraph/pointerAnalysis/PointerAnalysis.ts"],"names":[],"mappings":"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"}
|
|
@@ -58,9 +58,8 @@ const Local_1 = require("../../core/base/Local");
|
|
|
58
58
|
const logger = logger_1.default.getLogger(logger_1.LOG_MODULE_TYPE.ARKANALYZER, 'PTA');
|
|
59
59
|
class PointerAnalysis extends AbstractAnalysis_1.AbstractAnalysis {
|
|
60
60
|
constructor(p, cg, s, config) {
|
|
61
|
-
super(s);
|
|
61
|
+
super(s, cg);
|
|
62
62
|
this.pag = p;
|
|
63
|
-
this.cg = cg;
|
|
64
63
|
this.ptd = new PtsDS_1.DiffPTData(config.ptsCollectionCtor);
|
|
65
64
|
this.pagBuilder = new PagBuilder_1.PagBuilder(this.pag, this.cg, s, config.kLimit, config.analysisScale);
|
|
66
65
|
this.cgBuilder = new CallGraphBuilder_1.CallGraphBuilder(this.cg, s);
|
package/lib/core/base/Expr.d.ts
CHANGED
|
@@ -131,6 +131,7 @@ export declare class ArkNewExpr extends AbstractExpr {
|
|
|
131
131
|
getType(): Type;
|
|
132
132
|
toString(): string;
|
|
133
133
|
inferType(arkMethod: ArkMethod): ArkNewExpr;
|
|
134
|
+
private constructorSignature;
|
|
134
135
|
}
|
|
135
136
|
export declare class ArkNewArrayExpr extends AbstractExpr {
|
|
136
137
|
private baseType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Expr.d.ts","sourceRoot":"","sources":["../../../src/core/base/Expr.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAEH,SAAS,EAGT,SAAS,EAKT,IAAI,EAKP,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAuD,MAAM,OAAO,CAAC;AAE9F,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAG/C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"Expr.d.ts","sourceRoot":"","sources":["../../../src/core/base/Expr.ts"],"names":[],"mappings":"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"}
|
package/lib/core/base/Expr.js
CHANGED
|
@@ -26,6 +26,7 @@ const IRInference_1 = require("../common/IRInference");
|
|
|
26
26
|
const ArkImport_1 = require("../model/ArkImport");
|
|
27
27
|
const ArkClass_1 = require("../model/ArkClass");
|
|
28
28
|
const ArkField_1 = require("../model/ArkField");
|
|
29
|
+
const ModelUtils_1 = require("../common/ModelUtils");
|
|
29
30
|
/**
|
|
30
31
|
* @category core/base/expr
|
|
31
32
|
*/
|
|
@@ -283,17 +284,34 @@ class ArkNewExpr extends AbstractExpr {
|
|
|
283
284
|
return 'new ' + this.classType;
|
|
284
285
|
}
|
|
285
286
|
inferType(arkMethod) {
|
|
287
|
+
var _a, _b;
|
|
286
288
|
const classSignature = this.classType.getClassSignature();
|
|
287
289
|
if (classSignature.getDeclaringFileSignature().getFileName() === Const_1.UNKNOWN_FILE_NAME) {
|
|
288
290
|
const className = classSignature.getClassName();
|
|
289
|
-
let type =
|
|
291
|
+
let type = (_a = ModelUtils_1.ModelUtils.findDeclaredLocal(new Local_1.Local(className), arkMethod, 1)) === null || _a === void 0 ? void 0 : _a.getType();
|
|
292
|
+
if (TypeInference_1.TypeInference.isUnclearType(type)) {
|
|
293
|
+
type = TypeInference_1.TypeInference.inferUnclearRefName(className, arkMethod.getDeclaringArkClass());
|
|
294
|
+
}
|
|
290
295
|
if (type && type instanceof Type_1.ClassType) {
|
|
291
|
-
|
|
292
|
-
this.classType
|
|
296
|
+
const instanceType = (_b = this.constructorSignature(type, arkMethod)) !== null && _b !== void 0 ? _b : type;
|
|
297
|
+
this.classType.setClassSignature(instanceType.getClassSignature());
|
|
298
|
+
TypeInference_1.TypeInference.inferRealGenericTypes(this.classType.getRealGenericTypes(), arkMethod.getDeclaringArkClass());
|
|
293
299
|
}
|
|
294
300
|
}
|
|
295
301
|
return this;
|
|
296
302
|
}
|
|
303
|
+
constructorSignature(type, arkMethod) {
|
|
304
|
+
var _a;
|
|
305
|
+
const classConstructor = arkMethod.getDeclaringArkFile().getScene().getClass(type.getClassSignature());
|
|
306
|
+
if ((classConstructor === null || classConstructor === void 0 ? void 0 : classConstructor.getCategory()) === ArkClass_1.ClassCategory.INTERFACE) {
|
|
307
|
+
const type = (_a = classConstructor.getMethodWithName('construct-signature')) === null || _a === void 0 ? void 0 : _a.getReturnType();
|
|
308
|
+
if (type) {
|
|
309
|
+
const returnType = TypeInference_1.TypeInference.replaceAliasType(type);
|
|
310
|
+
return returnType instanceof Type_1.ClassType ? returnType : undefined;
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
return undefined;
|
|
314
|
+
}
|
|
297
315
|
}
|
|
298
316
|
exports.ArkNewExpr = ArkNewExpr;
|
|
299
317
|
class ArkNewArrayExpr extends AbstractExpr {
|
|
@@ -875,12 +893,17 @@ class AliasTypeExpr extends AbstractExpr {
|
|
|
875
893
|
}
|
|
876
894
|
getType() {
|
|
877
895
|
function getTypeOfImportInfo(importInfo) {
|
|
878
|
-
var _a
|
|
896
|
+
var _a;
|
|
879
897
|
const arkExport = (_a = importInfo.getLazyExportInfo()) === null || _a === void 0 ? void 0 : _a.getArkExport();
|
|
880
|
-
|
|
881
|
-
|
|
898
|
+
const importClauseName = importInfo.getImportClauseName();
|
|
899
|
+
let type;
|
|
900
|
+
if (importClauseName.includes('.') && arkExport instanceof ArkClass_1.ArkClass) {
|
|
901
|
+
type = TypeInference_1.TypeInference.inferUnclearRefName(importClauseName, arkExport);
|
|
882
902
|
}
|
|
883
|
-
|
|
903
|
+
else if (arkExport) {
|
|
904
|
+
type = TypeInference_1.TypeInference.parseArkExport2Type(arkExport);
|
|
905
|
+
}
|
|
906
|
+
return type !== null && type !== void 0 ? type : Type_1.UnknownType.getInstance();
|
|
884
907
|
}
|
|
885
908
|
const operator = this.getOriginalObject();
|
|
886
909
|
if (!this.getTransferWithTypeOf()) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Local.d.ts","sourceRoot":"","sources":["../../../src/core/base/Local.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,
|
|
1
|
+
{"version":3,"file":"Local.d.ts","sourceRoot":"","sources":["../../../src/core/base/Local.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAA2B,IAAI,EAAe,MAAM,QAAQ,CAAC;AACpE,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAkB,cAAc,EAAmB,MAAM,uBAAuB,CAAC;AAGxF,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAI/C;;GAEG;AACH,qBAAa,KAAM,YAAW,KAAK,EAAE,SAAS;IAC1C,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,IAAI,CAAO;IAEnB,OAAO,CAAC,aAAa,CAAe;IAEpC,OAAO,CAAC,aAAa,CAAc;IACnC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAC,CAAiB;IACnC,OAAO,CAAC,SAAS,CAAC,CAAU;gBAEhB,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,IAAgC;IASzD,SAAS,CAAC,SAAS,EAAE,SAAS,GAAG,KAAK;IAmB7C;;;;;;;;;;;;;;;;;OAiBG;IACI,OAAO,IAAI,MAAM;IAIjB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIlC;;;OAGG;IACI,OAAO,IAAI,IAAI;IAIf,OAAO,CAAC,OAAO,EAAE,IAAI,GAAG,IAAI;IAI5B,gBAAgB,IAAI,KAAK,GAAG,IAAI;IAIhC,gBAAgB,CAAC,aAAa,EAAE,KAAK,GAAG,IAAI;IAInD;;;;;;;;;;;;;;;;;OAiBG;IACI,gBAAgB,IAAI,IAAI,GAAG,IAAI;IAI/B,gBAAgB,CAAC,aAAa,EAAE,IAAI,GAAG,IAAI;IAIlD;;;OAGG;IACI,OAAO,IAAI,KAAK,EAAE;IAIlB,WAAW,CAAC,QAAQ,EAAE,IAAI,GAAG,IAAI;IAIxC;;;;;;OAMG;IACI,YAAY,IAAI,IAAI,EAAE;IAI7B;;;;;;;;;;;;OAYG;IACI,QAAQ,IAAI,MAAM;IAIlB,aAAa,IAAI,UAAU;IAI3B,YAAY,IAAI,MAAM;IAItB,gBAAgB,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO;IAOrD,YAAY,IAAI,cAAc;IAU9B,YAAY,CAAC,SAAS,EAAE,cAAc,GAAG,IAAI;IAI7C,YAAY,IAAI,OAAO;IAOvB,YAAY,CAAC,YAAY,EAAE,OAAO,GAAG,IAAI;CAGnD"}
|
package/lib/core/base/Local.js
CHANGED
|
@@ -47,6 +47,11 @@ class Local {
|
|
|
47
47
|
this.type = type;
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
|
+
if (this.type instanceof Type_1.FunctionType) {
|
|
51
|
+
this.type.getMethodSignature().getMethodSubSignature().getParameters()
|
|
52
|
+
.forEach(p => TypeInference_1.TypeInference.inferParameterType(p, arkMethod));
|
|
53
|
+
TypeInference_1.TypeInference.inferSignatureReturnType(this.type.getMethodSignature(), arkMethod);
|
|
54
|
+
}
|
|
50
55
|
return this;
|
|
51
56
|
}
|
|
52
57
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArkIRTransformer.d.ts","sourceRoot":"","sources":["../../../src/core/common/ArkIRTransformer.ts"],"names":[],"mappings":"AAeA,OAAO,EAOH,cAAc,EAGd,aAAa,EAChB,MAAM,cAAc,CAAC;AACtB,OAAO,EAA2E,SAAS,EAAE,MAAM,aAAa,CAAC;AACjH,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,sBAAsB,EAA2F,IAAI,EAAE,MAAM,cAAc,CAAC;AACrJ,OAAO,EAAE,SAAS,EAA6E,MAAM,cAAc,CAAC;AAKpH,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAI/C,OAAO,EAAE,YAAY,EAAmB,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"ArkIRTransformer.d.ts","sourceRoot":"","sources":["../../../src/core/common/ArkIRTransformer.ts"],"names":[],"mappings":"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"}
|
|
@@ -58,7 +58,6 @@ const TSConst_1 = require("./TSConst");
|
|
|
58
58
|
const builderUtils_1 = require("../model/builder/builderUtils");
|
|
59
59
|
const ArkValueTransformer_1 = require("./ArkValueTransformer");
|
|
60
60
|
const ArkImport_1 = require("../model/ArkImport");
|
|
61
|
-
const TypeInference_1 = require("./TypeInference");
|
|
62
61
|
const TypeExpr_1 = require("../base/TypeExpr");
|
|
63
62
|
const ArkClassBuilder_1 = require("../model/builder/ArkClassBuilder");
|
|
64
63
|
const ArkClass_1 = require("../model/ArkClass");
|
|
@@ -316,17 +315,10 @@ class ArkIRTransformer {
|
|
|
316
315
|
return [aliasTypeDefineStmt];
|
|
317
316
|
}
|
|
318
317
|
generateAliasTypeExpr(rightOp, aliasType) {
|
|
319
|
-
var _a;
|
|
320
318
|
let rightType = aliasType.getOriginalType();
|
|
321
319
|
let expr;
|
|
322
320
|
if (ts.isImportTypeNode(rightOp)) {
|
|
323
321
|
expr = this.resolveImportTypeNode(rightOp);
|
|
324
|
-
const typeObject = expr.getOriginalObject();
|
|
325
|
-
if (typeObject instanceof ArkImport_1.ImportInfo && typeObject.getLazyExportInfo() !== null) {
|
|
326
|
-
const arkExport = typeObject.getLazyExportInfo().getArkExport();
|
|
327
|
-
rightType = (_a = TypeInference_1.TypeInference.parseArkExport2Type(arkExport)) !== null && _a !== void 0 ? _a : Type_1.UnknownType.getInstance();
|
|
328
|
-
aliasType.setOriginalType(rightType);
|
|
329
|
-
}
|
|
330
322
|
}
|
|
331
323
|
else if (ts.isTypeQueryNode(rightOp)) {
|
|
332
324
|
const localName = rightOp.exprName.getText(this.sourceFile);
|
|
@@ -384,8 +376,6 @@ class ArkIRTransformer {
|
|
|
384
376
|
let importInfo = new ArkImport_1.ImportInfo();
|
|
385
377
|
importInfo.build(importClauseName, importType, importFrom, Position_1.LineColPosition.buildFromNode(importTypeNode, this.sourceFile), 0);
|
|
386
378
|
importInfo.setDeclaringArkFile(this.declaringMethod.getDeclaringArkFile());
|
|
387
|
-
// Function getLazyExportInfo will automatically try to infer the export info if it's undefined at the beginning.
|
|
388
|
-
importInfo.getLazyExportInfo();
|
|
389
379
|
return new Expr_1.AliasTypeExpr(importInfo, importTypeNode.isTypeOf);
|
|
390
380
|
}
|
|
391
381
|
switchStatementToValueAndStmts(switchStatement) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IRInference.d.ts","sourceRoot":"","sources":["../../../src/core/common/IRInference.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAKH,SAAS,EAKT,IAAI,EAKP,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEtC,OAAO,EACH,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,qBAAqB,EAErB,mBAAmB,EACtB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAI7C,OAAO,EAGH,cAAc,EAEd,eAAe,EAElB,MAAM,uBAAuB,CAAC;AAK/B,OAAO,EAEH,WAAW,EAEX,mBAAmB,EACnB,eAAe,EAGlB,MAAM,aAAa,CAAC;AAYrB,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAoB,aAAa,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAKlF,qBAAa,WAAW;IACpB,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAqB/B,OAAO,CAAC,MAAM,CAAC,gBAAgB;WAMjB,SAAS,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"IRInference.d.ts","sourceRoot":"","sources":["../../../src/core/common/IRInference.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModelUtils.d.ts","sourceRoot":"","sources":["../../../src/core/common/ModelUtils.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAEH,cAAc,EAKd,eAAe,EAEf,SAAS,EACZ,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,UAAU,EAAc,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACjF,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAO7C,OAAO,EAEH,SAAS,EAET,IAAI,EAGP,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAGpC,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAKrD,qBAAa,UAAU;IACnB,OAAc,2BAA2B,EAAE,GAAG,CAAC,SAAS,CAAC,CAAa;WAExD,8BAA8B,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI;WAS9F,sCAAsC,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,GAAG,QAAQ,GAAG,IAAI;WAiB5F,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAAG,IAAI;IAyBhG;;OAEG;WACW,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAAG,IAAI;IAWvF,yCAAyC;WAC3B,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,QAAQ,GAAG,IAAI;WAQ5E,4BAA4B,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,QAAQ,GAAG,IAAI;IAQhG,qDAAqD;WACvC,gCAAgC,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,SAAS,GAAG,IAAI;IAIhG,kEAAkE;WACpD,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,SAAS,GAAG,IAAI;WA2B7E,6BAA6B,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,GAAG,YAAY,GAAG,IAAI;WAc9F,oBAAoB,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,GAAG,YAAY,GAAG,IAAI;WAarF,0BAA0B,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,YAAY,GAAG,IAAI;WASxF,gCAAgC,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,YAAY,GAAG,IAAI;WAQ9F,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,GAAG,SAAS,GAAG,IAAI;WAclF,6BAA6B,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,SAAS,GAAG,IAAI;WAWrF,mCAAmC,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,SAAS,GAAG,IAAI;WAQ3F,4BAA4B,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,KAAK,GAAG,IAAI;WAS/E,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,YAAY,EAAE;WASxD,2BAA2B,CAAC,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,IAAI;WAO5F,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,QAAQ,EAAE;WAQjD,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,EAAE;WAQlD,oBAAoB,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO;WAYnD,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,GAAG,QAAQ,GAAG,IAAI;WAUvE,eAAe,CAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,GAAG,IAAI;WAIpD,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,GAAG,QAAQ,GAAG,IAAI;WA2BvE,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,GAAG,SAAS,GAAG,SAAS;WAWrF,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,IAAI;WAqBlF,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,GAAE,MAAU,GAAG,KAAK,GAAG,IAAI;WA+CtF,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,IAAI;WAsB/E,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,IAAI;WAQnE,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,IAAI;WA2BvF,uBAAuB,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,GAAG,SAAS,GAAG,QAAQ,GAAG,IAAI;WAyBxF,sBAAsB,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI,GAAG,IAAI;CAehF;AAKD;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CA+BnE;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,UAAU,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"ModelUtils.d.ts","sourceRoot":"","sources":["../../../src/core/common/ModelUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -539,8 +539,7 @@ function findExportInfo(fromInfo) {
|
|
|
539
539
|
var _a, _b;
|
|
540
540
|
let file = getArkFile(fromInfo);
|
|
541
541
|
if (!file) {
|
|
542
|
-
logger.warn(`${fromInfo.getOriginName()} ${fromInfo.getFrom()} file not found:
|
|
543
|
-
${(_b = (_a = fromInfo.getDeclaringArkFile()) === null || _a === void 0 ? void 0 : _a.getFileSignature()) === null || _b === void 0 ? void 0 : _b.toString()}`);
|
|
542
|
+
logger.warn(`${fromInfo.getOriginName()} ${fromInfo.getFrom()} file not found: ${(_b = (_a = fromInfo.getDeclaringArkFile()) === null || _a === void 0 ? void 0 : _a.getFileSignature()) === null || _b === void 0 ? void 0 : _b.toString()}`);
|
|
544
543
|
return null;
|
|
545
544
|
}
|
|
546
545
|
if ((0, ArkSignature_1.fileSignatureCompare)(file.getFileSignature(), fromInfo.getDeclaringArkFile().getFileSignature())) {
|
|
@@ -597,8 +596,8 @@ function findArkExport(exportInfo) {
|
|
|
597
596
|
exportInfo.setArkExport(arkExport);
|
|
598
597
|
}
|
|
599
598
|
else {
|
|
600
|
-
|
|
601
|
-
|
|
599
|
+
const file = exportInfo.getDeclaringArkFile().getFileSignature().toString();
|
|
600
|
+
logger.warn(`${exportInfo.getExportClauseName()} get arkExport fail from ${exportInfo.getFrom()} at ${file}`);
|
|
602
601
|
}
|
|
603
602
|
return arkExport || null;
|
|
604
603
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SdkUtils.d.ts","sourceRoot":"","sources":["../../../src/core/common/SdkUtils.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAc,MAAM,oBAAoB,CAAC;AAQ3D,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAG/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"SdkUtils.d.ts","sourceRoot":"","sources":["../../../src/core/common/SdkUtils.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAc,MAAM,oBAAoB,CAAC;AAQ3D,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAG/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAO/C,qBAAa,QAAQ;IAEjB,OAAO,CAAC,MAAM,CAAC,YAAY,CAAoD;WAEjE,iBAAiB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;WAOtC,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;WAInD,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAI;IAsCpF,OAAO,CAAC,MAAM,CAAC,SAAS;IAkBxB,OAAO,CAAC,MAAM,CAAC,eAAe;IA8B9B,OAAO,CAAC,MAAM,CAAC,UAAU;WAYX,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,EAAE,SAAS,EAAE,SAAS,GAAG,IAAI;CAUxF"}
|
|
@@ -13,6 +13,29 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
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
|
+
};
|
|
16
39
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
17
40
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
41
|
};
|
|
@@ -30,6 +53,8 @@ const path_1 = __importDefault(require("path"));
|
|
|
30
53
|
const Type_1 = require("../base/Type");
|
|
31
54
|
const ArkNamespace_1 = require("../model/ArkNamespace");
|
|
32
55
|
const TypeInference_1 = require("./TypeInference");
|
|
56
|
+
const logger_1 = __importStar(require("../../utils/logger"));
|
|
57
|
+
const logger = logger_1.default.getLogger(logger_1.LOG_MODULE_TYPE.ARKANALYZER, 'SdkUtils');
|
|
33
58
|
class SdkUtils {
|
|
34
59
|
static buildSdkImportMap(file) {
|
|
35
60
|
const fileName = path_1.default.basename(file.getName());
|
|
@@ -84,7 +109,10 @@ class SdkUtils {
|
|
|
84
109
|
globalMap.set(cls.getName(), cls);
|
|
85
110
|
}
|
|
86
111
|
}
|
|
87
|
-
else
|
|
112
|
+
else {
|
|
113
|
+
if (old) {
|
|
114
|
+
logger.error(`${old.getSignature()} is override`);
|
|
115
|
+
}
|
|
88
116
|
globalMap.set(cls.getName(), cls);
|
|
89
117
|
}
|
|
90
118
|
}
|
|
@@ -6,6 +6,7 @@ import { ArkClass } from '../model/ArkClass';
|
|
|
6
6
|
import { ArkField } from '../model/ArkField';
|
|
7
7
|
import { Value } from '../base/Value';
|
|
8
8
|
import { MethodSignature, MethodSubSignature } from '../model/ArkSignature';
|
|
9
|
+
import { MethodParameter } from '../model/builder/ArkMethodBuilder';
|
|
9
10
|
export declare class TypeInference {
|
|
10
11
|
static inferTypeInArkField(arkField: ArkField): void;
|
|
11
12
|
/**
|
|
@@ -54,7 +55,7 @@ export declare class TypeInference {
|
|
|
54
55
|
static inferSimpleTypeInStmt(stmt: Stmt): void;
|
|
55
56
|
static buildTypeFromStr(typeStr: string): Type;
|
|
56
57
|
static inferValueType(value: Value, arkMethod: ArkMethod): Type | null;
|
|
57
|
-
|
|
58
|
+
static inferParameterType(param: MethodParameter, arkMethod: ArkMethod): void;
|
|
58
59
|
static inferSignatureReturnType(oldSignature: MethodSignature, arkMethod: ArkMethod): void;
|
|
59
60
|
private static inferReturnType;
|
|
60
61
|
static inferGenericType(types: GenericType[] | undefined, arkClass: ArkClass): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypeInference.d.ts","sourceRoot":"","sources":["../../../src/core/common/TypeInference.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TypeInference.d.ts","sourceRoot":"","sources":["../../../src/core/common/TypeInference.ts"],"names":[],"mappings":"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"}
|
|
@@ -374,7 +374,8 @@ class TypeInference {
|
|
|
374
374
|
static isUnclearType(type) {
|
|
375
375
|
var _a;
|
|
376
376
|
// TODO: For UnionType, IntersectionType and TupleType, it should recurse check every item of them.
|
|
377
|
-
if (!type || type instanceof Type_1.UnknownType || type instanceof Type_1.UnclearReferenceType || type instanceof Type_1.NullType ||
|
|
377
|
+
if (!type || type instanceof Type_1.UnknownType || type instanceof Type_1.UnclearReferenceType || type instanceof Type_1.NullType ||
|
|
378
|
+
type instanceof Type_1.UndefinedType || type instanceof Type_1.GenericType) {
|
|
378
379
|
return true;
|
|
379
380
|
}
|
|
380
381
|
else if (type instanceof Type_1.ClassType &&
|
|
@@ -719,15 +720,18 @@ class TypeInference {
|
|
|
719
720
|
* @returns
|
|
720
721
|
*/
|
|
721
722
|
static inferBaseType(baseName, arkClass) {
|
|
722
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
|
|
723
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
|
723
724
|
if (TSConst_1.SUPER_NAME === baseName) {
|
|
724
725
|
return this.parseArkExport2Type(arkClass.getSuperClass());
|
|
725
726
|
}
|
|
726
|
-
|
|
727
|
+
else if (TSConst_1.DEFAULT === baseName) {
|
|
728
|
+
return this.parseArkExport2Type((_a = arkClass.getDeclaringArkFile().getExportInfoBy(TSConst_1.DEFAULT)) === null || _a === void 0 ? void 0 : _a.getArkExport());
|
|
729
|
+
}
|
|
730
|
+
const field = (_e = (_d = (_c = (_b = ModelUtils_1.ModelUtils.getDefaultClass(arkClass)) === null || _b === void 0 ? void 0 : _b.getDefaultArkMethod()) === null || _c === void 0 ? void 0 : _c.getBody()) === null || _d === void 0 ? void 0 : _d.getLocals()) === null || _e === void 0 ? void 0 : _e.get(baseName);
|
|
727
731
|
if (field && !this.isUnclearType(field.getType())) {
|
|
728
732
|
return field.getType();
|
|
729
733
|
}
|
|
730
|
-
let arkExport = (
|
|
734
|
+
let arkExport = (_o = (_l = (_k = (_f = ModelUtils_1.ModelUtils.getClassWithName(baseName, arkClass)) !== null && _f !== void 0 ? _f : (_j = (_h = (_g = ModelUtils_1.ModelUtils.getDefaultClass(arkClass)) === null || _g === void 0 ? void 0 : _g.getDefaultArkMethod()) === null || _h === void 0 ? void 0 : _h.getBody()) === null || _j === void 0 ? void 0 : _j.getAliasTypeByName(baseName)) !== null && _k !== void 0 ? _k : ModelUtils_1.ModelUtils.getNamespaceWithName(baseName, arkClass)) !== null && _l !== void 0 ? _l : (_m = ModelUtils_1.ModelUtils.getDefaultClass(arkClass)) === null || _m === void 0 ? void 0 : _m.getMethodWithName(baseName)) !== null && _o !== void 0 ? _o : ModelUtils_1.ModelUtils.getArkExportInImportInfoWithName(baseName, arkClass.getDeclaringArkFile());
|
|
731
735
|
if (!arkExport && !arkClass.getDeclaringArkFile().getImportInfoBy(baseName)) {
|
|
732
736
|
arkExport = arkClass.getDeclaringArkFile().getScene().getSdkGlobal(baseName);
|
|
733
737
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataflowSolver.d.ts","sourceRoot":"","sources":["../../../src/core/dataflow/DataflowSolver.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,OAAO,EAAE,aAAa,EAAoC,IAAI,EAAE,MAAM,cAAc,CAAC;AACrF,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAgB,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,kDAAkD,CAAC;
|
|
1
|
+
{"version":3,"file":"DataflowSolver.d.ts","sourceRoot":"","sources":["../../../src/core/dataflow/DataflowSolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,6 +22,7 @@ const CallGraph_1 = require("../../callgraph/model/CallGraph");
|
|
|
22
22
|
const ClassHierarchyAnalysis_1 = require("../../callgraph/algorithm/ClassHierarchyAnalysis");
|
|
23
23
|
const entryMethodUtils_1 = require("../../utils/entryMethodUtils");
|
|
24
24
|
const Util_1 = require("./Util");
|
|
25
|
+
const CallGraphBuilder_1 = require("../../callgraph/model/builder/CallGraphBuilder");
|
|
25
26
|
class DataflowSolver {
|
|
26
27
|
constructor(problem, scene) {
|
|
27
28
|
this.laterEdges = new Set();
|
|
@@ -58,7 +59,7 @@ class DataflowSolver {
|
|
|
58
59
|
this.pathEdgeSet.add(edge);
|
|
59
60
|
// build CHA
|
|
60
61
|
let cg = new CallGraph_1.CallGraph(this.scene);
|
|
61
|
-
this.CHA = new ClassHierarchyAnalysis_1.ClassHierarchyAnalysis(this.scene, cg);
|
|
62
|
+
this.CHA = new ClassHierarchyAnalysis_1.ClassHierarchyAnalysis(this.scene, cg, new CallGraphBuilder_1.CallGraphBuilder(cg, this.scene));
|
|
62
63
|
this.buildStmtMapInClass();
|
|
63
64
|
this.setCfg4AllStmt();
|
|
64
65
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TrapBuilder.d.ts","sourceRoot":"","sources":["../../../../src/core/graph/builder/TrapBuilder.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"TrapBuilder.d.ts","sourceRoot":"","sources":["../../../../src/core/graph/builder/TrapBuilder.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAavC,OAAO,EAAE,YAAY,EAAuB,MAAM,cAAc,CAAC;AAKjE;;GAEG;AACH,qBAAa,WAAW;IACb,UAAU,CACb,sBAAsB,EAAE,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,EACrD,sBAAsB,EAAE,GAAG,CAAC,YAAY,CAAC,EACzC,gBAAgB,EAAE,gBAAgB,EAClC,aAAa,EAAE,GAAG,CAAC,UAAU,CAAC,GAC/B,IAAI,EAAE;IAiET,OAAO,CAAC,qBAAqB;IAmD7B,OAAO,CAAC,wBAAwB;IA2ChC,OAAO,CAAC,eAAe;IAwCvB,OAAO,CAAC,iBAAiB;IAgCzB,OAAO,CAAC,UAAU;IAgClB,OAAO,CAAC,QAAQ;CAgBnB"}
|
|
@@ -181,22 +181,24 @@ class TrapBuilder {
|
|
|
181
181
|
const currBlock = blockBuilderToCfgBlock.get(currBlockBuilder);
|
|
182
182
|
bfsBlocks.push(currBlock);
|
|
183
183
|
const childList = currBlockBuilder.nexts;
|
|
184
|
-
if (childList.length === 0 || (childList.length !== 0 && childList[0] === endBlockBuilder)) {
|
|
185
|
-
if (childList[0] === endBlockBuilder) {
|
|
186
|
-
tailBlocks.push(currBlock);
|
|
187
|
-
continue;
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
184
|
if (childList.length !== 0) {
|
|
191
185
|
for (const child of childList) {
|
|
192
|
-
|
|
186
|
+
// A tail block's successor may be within the traversal range
|
|
187
|
+
if (child === endBlockBuilder) {
|
|
188
|
+
tailBlocks.push(currBlock);
|
|
189
|
+
}
|
|
190
|
+
else {
|
|
191
|
+
queue.push(child);
|
|
192
|
+
}
|
|
193
193
|
}
|
|
194
194
|
}
|
|
195
|
+
else {
|
|
196
|
+
tailBlocks.push(currBlock);
|
|
197
|
+
}
|
|
195
198
|
}
|
|
196
199
|
return { bfsBlocks, tailBlocks };
|
|
197
200
|
}
|
|
198
201
|
copyFinallyBlocks(finallyBfsBlocks, finallyTailBlocks, basicBlockSet, arkIRTransformer, blockBuilderToCfgBlock) {
|
|
199
|
-
var _a;
|
|
200
202
|
const copyFinallyBfsBlocks = this.copyBlocks(finallyBfsBlocks);
|
|
201
203
|
const caughtExceptionRef = new Ref_1.ArkCaughtExceptionRef(Type_1.UnknownType.getInstance());
|
|
202
204
|
const { value: exceptionValue, stmts: exceptionAssignStmts } = arkIRTransformer.generateAssignStmtForValue(caughtExceptionRef, [Position_1.FullPosition.DEFAULT]);
|
|
@@ -205,19 +207,16 @@ class TrapBuilder {
|
|
|
205
207
|
copyFinallyBfsBlocks[0].getPredecessors().splice(0, finallyPredecessorsCnt);
|
|
206
208
|
const throwStmt = new Stmt_1.ArkThrowStmt(exceptionValue);
|
|
207
209
|
let copyFinallyTailBlocks = copyFinallyBfsBlocks.splice(copyFinallyBfsBlocks.length - finallyTailBlocks.length, finallyTailBlocks.length);
|
|
208
|
-
copyFinallyTailBlocks.forEach((copyFinallyTailBlock) => {
|
|
209
|
-
const successorsCnt = copyFinallyTailBlock.getSuccessors().length;
|
|
210
|
-
copyFinallyTailBlock.getSuccessors().splice(0, successorsCnt);
|
|
211
|
-
});
|
|
212
210
|
if (copyFinallyTailBlocks.length > 1) {
|
|
213
211
|
const newCopyFinallyTailBlock = new BasicBlock_1.BasicBlock();
|
|
214
212
|
copyFinallyTailBlocks.forEach((copyFinallyTailBlock) => {
|
|
215
213
|
copyFinallyTailBlock.addSuccessorBlock(newCopyFinallyTailBlock);
|
|
216
214
|
newCopyFinallyTailBlock.addPredecessorBlock(copyFinallyTailBlock);
|
|
217
215
|
});
|
|
216
|
+
copyFinallyBfsBlocks.push(...copyFinallyTailBlocks);
|
|
218
217
|
copyFinallyTailBlocks = [newCopyFinallyTailBlock];
|
|
219
218
|
}
|
|
220
|
-
|
|
219
|
+
copyFinallyTailBlocks[0].addStmt(throwStmt);
|
|
221
220
|
copyFinallyBfsBlocks.push(...copyFinallyTailBlocks);
|
|
222
221
|
copyFinallyBfsBlocks.forEach((copyFinallyBfsBlock) => {
|
|
223
222
|
basicBlockSet.add(copyFinallyBfsBlock);
|
|
@@ -239,11 +238,17 @@ class TrapBuilder {
|
|
|
239
238
|
const targetBlock = sourceToTarget.get(sourceBlock);
|
|
240
239
|
for (const predecessor of sourceBlock.getPredecessors()) {
|
|
241
240
|
const targetPredecessor = sourceToTarget.get(predecessor);
|
|
242
|
-
|
|
241
|
+
// Only include blocks within the copy range, so that predecessor and successor relationships to
|
|
242
|
+
// external blocks can be trimmed
|
|
243
|
+
if (targetPredecessor) {
|
|
244
|
+
targetBlock.addPredecessorBlock(targetPredecessor);
|
|
245
|
+
}
|
|
243
246
|
}
|
|
244
247
|
for (const successor of sourceBlock.getSuccessors()) {
|
|
245
248
|
const targetSuccessor = sourceToTarget.get(successor);
|
|
246
|
-
|
|
249
|
+
if (targetSuccessor) {
|
|
250
|
+
targetBlock.addSuccessorBlock(targetSuccessor);
|
|
251
|
+
}
|
|
247
252
|
}
|
|
248
253
|
}
|
|
249
254
|
return targetBlocks;
|
|
@@ -52,7 +52,7 @@ class ImportInfo extends ArkBaseModel_1.ArkBaseModel {
|
|
|
52
52
|
* @returns The export information. If there is no export information, the return will be a **null**.
|
|
53
53
|
*/
|
|
54
54
|
getLazyExportInfo() {
|
|
55
|
-
if (this.lazyExportInfo === undefined) {
|
|
55
|
+
if (this.lazyExportInfo === undefined && this.declaringArkFile.getScene().getStage() >= 2) {
|
|
56
56
|
this.lazyExportInfo = (0, ModelUtils_1.findExportInfo)(this);
|
|
57
57
|
}
|
|
58
58
|
return this.lazyExportInfo || null;
|
|
@@ -261,7 +261,9 @@ export declare class ArkMethod extends ArkBaseModel implements ArkExport {
|
|
|
261
261
|
setAsteriskToken(asteriskToken: boolean): void;
|
|
262
262
|
validate(): ArkError;
|
|
263
263
|
matchMethodSignature(args: Value[]): MethodSignature;
|
|
264
|
+
private isMatched;
|
|
264
265
|
private matchParam;
|
|
266
|
+
private static parseArg;
|
|
265
267
|
getOuterMethod(): ArkMethod | undefined;
|
|
266
268
|
setOuterMethod(method: ArkMethod): void;
|
|
267
269
|
getFunctionLocal(name: string): Local | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArkMethod.d.ts","sourceRoot":"","sources":["../../../src/core/model/ArkMethod.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,eAAe,EAAc,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAgC,IAAI,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,
|
|
1
|
+
{"version":3,"file":"ArkMethod.d.ts","sourceRoot":"","sources":["../../../src/core/model/ArkMethod.ts"],"names":[],"mappings":"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"}
|