arkanalyzer 1.0.36 → 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.js +1 -1
- package/lib/core/base/Expr.d.ts.map +1 -1
- package/lib/core/base/Expr.js +9 -4
- 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/TypeInference.d.ts +2 -1
- package/lib/core/common/TypeInference.d.ts.map +1 -1
- package/lib/core/common/TypeInference.js +6 -3
- 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
package/lib/Scene.js
CHANGED
|
@@ -322,7 +322,7 @@ class Scene {
|
|
|
322
322
|
}
|
|
323
323
|
genArkFiles() {
|
|
324
324
|
this.projectFiles.forEach(file => {
|
|
325
|
-
logger.
|
|
325
|
+
logger.trace('=== parse file:', file);
|
|
326
326
|
try {
|
|
327
327
|
const arkFile = new ArkFile_1.ArkFile(FileUtils_1.FileUtils.getFileLanguage(file, this.fileLanguages));
|
|
328
328
|
arkFile.setScene(this);
|
|
@@ -461,7 +461,7 @@ class Scene {
|
|
|
461
461
|
findDependenciesByRule(originPath, arkFile) {
|
|
462
462
|
const extNameArray = ['.ets', '.ts', '.d.ets', '.d.ts'];
|
|
463
463
|
if (!this.findFilesByPathArray(originPath, this.indexPathArray, arkFile) && !this.findFilesByExtNameArray(originPath, extNameArray, arkFile)) {
|
|
464
|
-
logger.
|
|
464
|
+
logger.trace(originPath + 'module mapperInfo is not found!');
|
|
465
465
|
}
|
|
466
466
|
}
|
|
467
467
|
findFilesByPathArray(originPath, pathArray, arkFile) {
|
|
@@ -523,7 +523,7 @@ class Scene {
|
|
|
523
523
|
this.addFileNode2DependencyGrap(originPath, arkFile);
|
|
524
524
|
}
|
|
525
525
|
if (!this.findFilesByPathArray(originPath, this.indexPathArray, arkFile)) {
|
|
526
|
-
logger.
|
|
526
|
+
logger.trace(originPath + 'module mapperInfo is not found!');
|
|
527
527
|
}
|
|
528
528
|
}
|
|
529
529
|
}
|
|
@@ -551,7 +551,7 @@ class Scene {
|
|
|
551
551
|
buildSdk(sdkName, sdkPath) {
|
|
552
552
|
const allFiles = (0, getAllFiles_1.getAllFiles)(sdkPath, this.options.supportFileExts, this.options.ignoreFileNames);
|
|
553
553
|
allFiles.forEach(file => {
|
|
554
|
-
logger.
|
|
554
|
+
logger.trace('=== parse sdk file:', file);
|
|
555
555
|
try {
|
|
556
556
|
const arkFile = new ArkFile_1.ArkFile(FileUtils_1.FileUtils.getFileLanguage(file, this.fileLanguages));
|
|
557
557
|
arkFile.setScene(this);
|
|
@@ -1354,7 +1354,7 @@ class ModuleScene {
|
|
|
1354
1354
|
}
|
|
1355
1355
|
genArkFiles(supportFileExts) {
|
|
1356
1356
|
(0, getAllFiles_1.getAllFiles)(this.modulePath, supportFileExts, this.projectScene.getOptions().ignoreFileNames).forEach(file => {
|
|
1357
|
-
logger.
|
|
1357
|
+
logger.trace('=== parse file:', file);
|
|
1358
1358
|
try {
|
|
1359
1359
|
const arkFile = new ArkFile_1.ArkFile(FileUtils_1.FileUtils.getFileLanguage(file, this.projectScene.getFileLanguages()));
|
|
1360
1360
|
arkFile.setScene(this.projectScene);
|
|
@@ -119,7 +119,7 @@ class AbstractAnalysis {
|
|
|
119
119
|
}
|
|
120
120
|
if (displayGeneratedMethod || !(me === null || me === void 0 ? void 0 : me.isGenerated())) {
|
|
121
121
|
this.workList.push(cs.calleeFuncID);
|
|
122
|
-
logger.
|
|
122
|
+
logger.trace(`New workList item ${cs.calleeFuncID}: ${(_a = this.cg.getArkMethodByFuncID(cs.calleeFuncID)) === null || _a === void 0 ? void 0 : _a.getSignature().toString()}`);
|
|
123
123
|
}
|
|
124
124
|
}
|
|
125
125
|
init() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Expr.d.ts","sourceRoot":"","sources":["../../../src/core/base/Expr.ts"],"names":[],"mappings":"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
|
|
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
|
@@ -893,12 +893,17 @@ class AliasTypeExpr extends AbstractExpr {
|
|
|
893
893
|
}
|
|
894
894
|
getType() {
|
|
895
895
|
function getTypeOfImportInfo(importInfo) {
|
|
896
|
-
var _a
|
|
896
|
+
var _a;
|
|
897
897
|
const arkExport = (_a = importInfo.getLazyExportInfo()) === null || _a === void 0 ? void 0 : _a.getArkExport();
|
|
898
|
-
|
|
899
|
-
|
|
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);
|
|
900
902
|
}
|
|
901
|
-
|
|
903
|
+
else if (arkExport) {
|
|
904
|
+
type = TypeInference_1.TypeInference.parseArkExport2Type(arkExport);
|
|
905
|
+
}
|
|
906
|
+
return type !== null && type !== void 0 ? type : Type_1.UnknownType.getInstance();
|
|
902
907
|
}
|
|
903
908
|
const operator = this.getOriginalObject();
|
|
904
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":"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
|
|
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
|
}
|
|
@@ -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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"}
|
|
@@ -720,15 +720,18 @@ class TypeInference {
|
|
|
720
720
|
* @returns
|
|
721
721
|
*/
|
|
722
722
|
static inferBaseType(baseName, arkClass) {
|
|
723
|
-
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;
|
|
724
724
|
if (TSConst_1.SUPER_NAME === baseName) {
|
|
725
725
|
return this.parseArkExport2Type(arkClass.getSuperClass());
|
|
726
726
|
}
|
|
727
|
-
|
|
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);
|
|
728
731
|
if (field && !this.isUnclearType(field.getType())) {
|
|
729
732
|
return field.getType();
|
|
730
733
|
}
|
|
731
|
-
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());
|
|
732
735
|
if (!arkExport && !arkClass.getDeclaringArkFile().getImportInfoBy(baseName)) {
|
|
733
736
|
arkExport = arkClass.getDeclaringArkFile().getScene().getSdkGlobal(baseName);
|
|
734
737
|
}
|
|
@@ -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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"}
|
|
@@ -28,6 +28,7 @@ const EtsConst_1 = require("../common/EtsConst");
|
|
|
28
28
|
const Constant_1 = require("../base/Constant");
|
|
29
29
|
const Local_1 = require("../base/Local");
|
|
30
30
|
const TSConst_1 = require("../common/TSConst");
|
|
31
|
+
const TypeInference_1 = require("../common/TypeInference");
|
|
31
32
|
exports.arkMethodNodeKind = [
|
|
32
33
|
'MethodDeclaration',
|
|
33
34
|
'Constructor',
|
|
@@ -546,42 +547,37 @@ class ArkMethod extends ArkBaseModel_1.ArkBaseModel {
|
|
|
546
547
|
}
|
|
547
548
|
return args.length >= min && args.length <= max;
|
|
548
549
|
});
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
}
|
|
556
|
-
const isMatched = this.matchParam(parameters[i].getType(), args[i], scene);
|
|
557
|
-
if (!isMatched) {
|
|
558
|
-
return false;
|
|
559
|
-
}
|
|
550
|
+
return ((_c = (_b = signatures === null || signatures === void 0 ? void 0 : signatures.find(p => this.isMatched(p.getMethodSubSignature().getParameters(), args))) !== null && _b !== void 0 ? _b : signatures === null || signatures === void 0 ? void 0 : signatures[0]) !== null && _c !== void 0 ? _c : this.getSignature());
|
|
551
|
+
}
|
|
552
|
+
isMatched(parameters, args, isArrowFunc = false) {
|
|
553
|
+
for (let i = 0; i < parameters.length; i++) {
|
|
554
|
+
if (!args[i]) {
|
|
555
|
+
return isArrowFunc ? true : parameters[i].isOptional();
|
|
560
556
|
}
|
|
561
|
-
|
|
562
|
-
|
|
557
|
+
const isMatched = this.matchParam(parameters[i].getType(), args[i]);
|
|
558
|
+
if (!isMatched) {
|
|
559
|
+
return false;
|
|
560
|
+
}
|
|
561
|
+
}
|
|
562
|
+
return true;
|
|
563
563
|
}
|
|
564
|
-
matchParam(paramType, arg
|
|
564
|
+
matchParam(paramType, arg) {
|
|
565
565
|
var _a, _b;
|
|
566
|
+
arg = ArkMethod.parseArg(arg);
|
|
566
567
|
const argType = arg.getType();
|
|
567
|
-
if (
|
|
568
|
-
|
|
569
|
-
if (stmt instanceof Stmt_1.ArkAssignStmt && stmt.getRightOp() instanceof Constant_1.Constant) {
|
|
570
|
-
arg = stmt.getRightOp();
|
|
571
|
-
}
|
|
568
|
+
if (paramType instanceof Type_1.AliasType && !(argType instanceof Type_1.AliasType)) {
|
|
569
|
+
paramType = TypeInference_1.TypeInference.replaceAliasType(paramType);
|
|
572
570
|
}
|
|
573
571
|
if (paramType instanceof Type_1.UnionType) {
|
|
574
|
-
|
|
575
|
-
for (const e of paramType.getTypes()) {
|
|
576
|
-
if (argType.constructor === e.constructor) {
|
|
577
|
-
matched = true;
|
|
578
|
-
break;
|
|
579
|
-
}
|
|
580
|
-
}
|
|
581
|
-
return matched;
|
|
572
|
+
return !!paramType.getTypes().find(p => this.matchParam(p, arg));
|
|
582
573
|
}
|
|
583
574
|
else if (argType instanceof Type_1.FunctionType && paramType instanceof Type_1.FunctionType) {
|
|
584
|
-
|
|
575
|
+
if (argType.getMethodSignature().getParamLength() > paramType.getMethodSignature().getParamLength()) {
|
|
576
|
+
return false;
|
|
577
|
+
}
|
|
578
|
+
const parameters = paramType.getMethodSignature().getMethodSubSignature().getParameters();
|
|
579
|
+
const args = argType.getMethodSignature().getMethodSubSignature().getParameters().filter(p => !p.getName().startsWith(Const_1.LEXICAL_ENV_NAME_PREFIX));
|
|
580
|
+
return this.isMatched(parameters, args, true);
|
|
585
581
|
}
|
|
586
582
|
else if (paramType instanceof Type_1.ClassType && paramType.getClassSignature().getClassName().includes(EtsConst_1.CALL_BACK)) {
|
|
587
583
|
return argType instanceof Type_1.FunctionType;
|
|
@@ -606,6 +602,19 @@ class ArkMethod extends ArkBaseModel_1.ArkBaseModel {
|
|
|
606
602
|
}
|
|
607
603
|
return argType.constructor === paramType.constructor;
|
|
608
604
|
}
|
|
605
|
+
static parseArg(arg) {
|
|
606
|
+
if (arg instanceof Local_1.Local) {
|
|
607
|
+
const stmt = arg.getDeclaringStmt();
|
|
608
|
+
const argType = arg.getType();
|
|
609
|
+
if (argType instanceof Type_1.EnumValueType && argType.getConstant()) {
|
|
610
|
+
arg = argType.getConstant();
|
|
611
|
+
}
|
|
612
|
+
else if (stmt instanceof Stmt_1.ArkAssignStmt && stmt.getRightOp() instanceof Constant_1.Constant) {
|
|
613
|
+
arg = stmt.getRightOp();
|
|
614
|
+
}
|
|
615
|
+
}
|
|
616
|
+
return arg;
|
|
617
|
+
}
|
|
609
618
|
getOuterMethod() {
|
|
610
619
|
return this.outerMethod;
|
|
611
620
|
}
|
|
@@ -316,7 +316,16 @@ function buildArkClassMembers(clsNode, cls, sourceFile) {
|
|
|
316
316
|
const instanceInitStmts = [];
|
|
317
317
|
let staticBlockId = 0;
|
|
318
318
|
clsNode.members.forEach(member => {
|
|
319
|
-
if (ohos_typescript_1.default.
|
|
319
|
+
if (ohos_typescript_1.default.isMethodDeclaration(member) ||
|
|
320
|
+
ohos_typescript_1.default.isConstructorDeclaration(member) ||
|
|
321
|
+
ohos_typescript_1.default.isMethodSignature(member) ||
|
|
322
|
+
ohos_typescript_1.default.isConstructSignatureDeclaration(member) ||
|
|
323
|
+
ohos_typescript_1.default.isAccessor(member) ||
|
|
324
|
+
ohos_typescript_1.default.isCallSignatureDeclaration(member)) {
|
|
325
|
+
// these node types have been handled at the beginning of this function by calling buildMethodsForClass
|
|
326
|
+
return;
|
|
327
|
+
}
|
|
328
|
+
else if (ohos_typescript_1.default.isPropertyDeclaration(member) || ohos_typescript_1.default.isPropertySignature(member)) {
|
|
320
329
|
const arkField = (0, ArkFieldBuilder_1.buildProperty2ArkField)(member, sourceFile, cls);
|
|
321
330
|
if (ohos_typescript_1.default.isClassDeclaration(clsNode) || ohos_typescript_1.default.isClassExpression(clsNode) || ohos_typescript_1.default.isStructDeclaration(clsNode)) {
|
|
322
331
|
if (arkField.isStatic()) {
|
|
@@ -346,10 +355,10 @@ function buildArkClassMembers(clsNode, cls, sourceFile) {
|
|
|
346
355
|
staticInitStmts.push(new Stmt_1.ArkInvokeStmt(staticBlockInvokeExpr));
|
|
347
356
|
}
|
|
348
357
|
else if (ohos_typescript_1.default.isSemicolonClassElement(member)) {
|
|
349
|
-
logger.
|
|
358
|
+
logger.trace('Skip these members.');
|
|
350
359
|
}
|
|
351
360
|
else {
|
|
352
|
-
logger.warn(
|
|
361
|
+
logger.warn(`Please contact developers to support new member in class: ${cls.getSignature().toString()}, member: ${member.getText()}!`);
|
|
353
362
|
}
|
|
354
363
|
});
|
|
355
364
|
if (ohos_typescript_1.default.isClassDeclaration(clsNode) || ohos_typescript_1.default.isClassExpression(clsNode) || ohos_typescript_1.default.isStructDeclaration(clsNode)) {
|
|
@@ -66,7 +66,7 @@ function buildProperty2ArkField(member, sourceFile, cls) {
|
|
|
66
66
|
fieldName = (0, builderUtils_1.handlePropertyAccessExpression)(member.name.expression);
|
|
67
67
|
}
|
|
68
68
|
else {
|
|
69
|
-
logger.warn(
|
|
69
|
+
logger.warn(`Other property expression type found: ${member.name.expression.getText()}!`);
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
72
|
else if (member.name && (ohos_typescript_1.default.isIdentifier(member.name) || ohos_typescript_1.default.isLiteralExpression(member.name))) {
|
|
@@ -78,7 +78,7 @@ function buildProperty2ArkField(member, sourceFile, cls) {
|
|
|
78
78
|
field.addModifier(ArkBaseModel_1.ModifierType.PRIVATE);
|
|
79
79
|
}
|
|
80
80
|
else {
|
|
81
|
-
logger.warn(
|
|
81
|
+
logger.warn(`Other type of property name found: ${member.getText()}!`);
|
|
82
82
|
}
|
|
83
83
|
let fieldType = Type_1.UnknownType.getInstance();
|
|
84
84
|
if (ohos_typescript_1.default.isPropertyDeclaration(member) || ohos_typescript_1.default.isPropertySignature(member)) {
|
|
@@ -124,7 +124,7 @@ function buildArkFile(arkFile, astRoot) {
|
|
|
124
124
|
}
|
|
125
125
|
// TODO: Check
|
|
126
126
|
else if (ohos_typescript_1.default.isMethodDeclaration(child)) {
|
|
127
|
-
logger.
|
|
127
|
+
logger.trace('This is a MethodDeclaration in ArkFile.');
|
|
128
128
|
let mthd = new ArkMethod_1.ArkMethod();
|
|
129
129
|
(0, ArkMethodBuilder_1.buildArkMethodFromArkClass)(child, arkFile.getDefaultClass(), mthd, astRoot);
|
|
130
130
|
if (mthd.isExported()) {
|
|
@@ -161,7 +161,7 @@ function buildArkFile(arkFile, astRoot) {
|
|
|
161
161
|
child.expression.text.trim() === Const_1.ARKTS_STATIC_MARK && arkFile.setLanguage(ArkFile_1.Language.ARKTS1_2);
|
|
162
162
|
}
|
|
163
163
|
else {
|
|
164
|
-
logger.
|
|
164
|
+
logger.trace('Child joined default method of arkFile: ', ohos_typescript_1.default.SyntaxKind[child.kind]);
|
|
165
165
|
}
|
|
166
166
|
});
|
|
167
167
|
const mergedNameSpaces = (0, ArkNamespaceBuilder_1.mergeNameSpaces)(namespaces);
|
|
@@ -88,13 +88,13 @@ function buildArkNamespace(node, declaringInstance, ns, sourceFile) {
|
|
|
88
88
|
// NamespaceDeclaration extends ModuleDeclaration
|
|
89
89
|
//TODO: Check
|
|
90
90
|
else if (ohos_typescript_1.default.isModuleDeclaration(node.body)) {
|
|
91
|
-
logger.
|
|
91
|
+
logger.trace('This ModuleBody is an NamespaceDeclaration.');
|
|
92
92
|
let childNs = new ArkNamespace_1.ArkNamespace();
|
|
93
93
|
buildArkNamespace(node.body, ns, childNs, sourceFile);
|
|
94
94
|
ns.addNamespace(childNs);
|
|
95
95
|
}
|
|
96
96
|
else if (ohos_typescript_1.default.isIdentifier(node.body)) {
|
|
97
|
-
logger.warn('ModuleBody is Identifier
|
|
97
|
+
logger.warn('ModuleBody is Identifier');
|
|
98
98
|
}
|
|
99
99
|
else {
|
|
100
100
|
logger.warn('JSDocNamespaceDeclaration found.');
|
|
@@ -128,7 +128,7 @@ function buildNamespaceMembers(node, namespace, sourceFile) {
|
|
|
128
128
|
}
|
|
129
129
|
// TODO: Check
|
|
130
130
|
else if (ohos_typescript_1.default.isMethodDeclaration(child)) {
|
|
131
|
-
logger.
|
|
131
|
+
logger.trace('This is a MethodDeclaration in ArkNamespace.');
|
|
132
132
|
let mthd = new ArkMethod_1.ArkMethod();
|
|
133
133
|
(0, ArkMethodBuilder_1.buildArkMethodFromArkClass)(child, namespace.getDefaultClass(), mthd, sourceFile);
|
|
134
134
|
if (mthd.isExported()) {
|
|
@@ -152,7 +152,7 @@ function buildNamespaceMembers(node, namespace, sourceFile) {
|
|
|
152
152
|
(0, ArkExportBuilder_1.buildExportVariableStatement)(child, sourceFile, namespace.getDeclaringArkFile(), namespace).forEach(item => namespace.addExportInfo(item));
|
|
153
153
|
}
|
|
154
154
|
else {
|
|
155
|
-
logger.
|
|
155
|
+
logger.trace('Child joined default method of arkFile: ', ohos_typescript_1.default.SyntaxKind[child.kind]);
|
|
156
156
|
// join default method
|
|
157
157
|
}
|
|
158
158
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JsonPrinter.d.ts","sourceRoot":"","sources":["../../src/save/JsonPrinter.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"JsonPrinter.d.ts","sourceRoot":"","sources":["../../src/save/JsonPrinter.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAsEhD,qBAAa,WAAY,SAAQ,OAAO;IACxB,OAAO,CAAC,OAAO;gBAAP,OAAO,EAAE,OAAO;IAI7B,IAAI,IAAI,MAAM;IAKrB,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,cAAc;IActB,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,wBAAwB;IAShC,OAAO,CAAC,mBAAmB;IAW3B,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,wBAAwB;IAOhC,OAAO,CAAC,aAAa;IA6HrB,OAAO,CAAC,sBAAsB;IAO9B,OAAO,CAAC,2BAA2B;IASnC,OAAO,CAAC,uBAAuB;IAS/B,OAAO,CAAC,uBAAuB;IAe/B,OAAO,CAAC,wBAAwB;IAYhC,OAAO,CAAC,2BAA2B;IAOnC,OAAO,CAAC,YAAY;IAsBpB,OAAO,CAAC,mBAAmB;IAa3B,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,cAAc;IAuKtB,OAAO,CAAC,aAAa;CAuCxB"}
|
package/lib/save/JsonPrinter.js
CHANGED
|
@@ -13,9 +13,6 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
17
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
|
-
};
|
|
19
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
17
|
exports.JsonPrinter = void 0;
|
|
21
18
|
const Printer_1 = require("./Printer");
|
|
@@ -26,7 +23,6 @@ const Constant_1 = require("../core/base/Constant");
|
|
|
26
23
|
const ArkSignature_1 = require("../core/model/ArkSignature");
|
|
27
24
|
const Ref_1 = require("../core/base/Ref");
|
|
28
25
|
const Local_1 = require("../core/base/Local");
|
|
29
|
-
const util_1 = __importDefault(require("util"));
|
|
30
26
|
class JsonPrinter extends Printer_1.Printer {
|
|
31
27
|
constructor(arkFile) {
|
|
32
28
|
super();
|
|
@@ -57,8 +53,9 @@ class JsonPrinter extends Printer_1.Printer {
|
|
|
57
53
|
return {
|
|
58
54
|
signature: this.serializeClassSignature(clazz.getSignature()),
|
|
59
55
|
modifiers: clazz.getModifiers(),
|
|
60
|
-
decorators: clazz.getDecorators().map(decorator => this.serializeDecorator(decorator)),
|
|
61
|
-
typeParameters: (_a = clazz.getGenericsTypes()) === null || _a === void 0 ? void 0 : _a.map(type => this.serializeType(type)),
|
|
56
|
+
decorators: clazz.getDecorators().map((decorator) => this.serializeDecorator(decorator)),
|
|
57
|
+
typeParameters: (_a = clazz.getGenericsTypes()) === null || _a === void 0 ? void 0 : _a.map((type) => this.serializeType(type)),
|
|
58
|
+
category: clazz.getCategory(),
|
|
62
59
|
superClassName: clazz.getSuperClassName(),
|
|
63
60
|
implementedInterfaceNames: clazz.getImplementedInterfaceNames(),
|
|
64
61
|
fields: clazz.getFields().map(field => this.serializeField(field)),
|
|
@@ -96,6 +93,7 @@ class JsonPrinter extends Printer_1.Printer {
|
|
|
96
93
|
name: parameter.getName(),
|
|
97
94
|
type: this.serializeType(parameter.getType()),
|
|
98
95
|
isOptional: parameter.isOptional(),
|
|
96
|
+
isRest: parameter.hasDotDotDotToken(),
|
|
99
97
|
};
|
|
100
98
|
}
|
|
101
99
|
serializeImportInfo(importInfo) {
|
|
@@ -161,6 +159,12 @@ class JsonPrinter extends Printer_1.Printer {
|
|
|
161
159
|
types: type.getTypes().map(type => this.serializeType(type)),
|
|
162
160
|
};
|
|
163
161
|
}
|
|
162
|
+
else if (type instanceof Type_1.IntersectionType) {
|
|
163
|
+
return {
|
|
164
|
+
_: 'IntersectionType',
|
|
165
|
+
types: type.getTypes().map((type) => this.serializeType(type)),
|
|
166
|
+
};
|
|
167
|
+
}
|
|
164
168
|
else if (type instanceof Type_1.TupleType) {
|
|
165
169
|
return {
|
|
166
170
|
_: 'TupleType',
|
|
@@ -203,9 +207,6 @@ class JsonPrinter extends Printer_1.Printer {
|
|
|
203
207
|
literal: type.getLiteralName(),
|
|
204
208
|
};
|
|
205
209
|
}
|
|
206
|
-
else if (type instanceof Type_1.PrimitiveType) {
|
|
207
|
-
throw new Error('Unhandled PrimitiveType: ' + util_1.default.inspect(type, { showHidden: true, depth: null }));
|
|
208
|
-
}
|
|
209
210
|
else if (type instanceof Type_1.ClassType) {
|
|
210
211
|
return {
|
|
211
212
|
_: 'ClassType',
|
|
@@ -235,13 +236,13 @@ class JsonPrinter extends Printer_1.Printer {
|
|
|
235
236
|
};
|
|
236
237
|
}
|
|
237
238
|
else if (type instanceof Type_1.GenericType) {
|
|
238
|
-
let defaultType = type.getDefaultType();
|
|
239
239
|
let constraint = type.getConstraint();
|
|
240
|
+
let defaultType = type.getDefaultType();
|
|
240
241
|
return {
|
|
241
242
|
_: 'GenericType',
|
|
242
243
|
name: type.getName(),
|
|
243
|
-
defaultType: defaultType && this.serializeType(defaultType),
|
|
244
244
|
constraint: constraint && this.serializeType(constraint),
|
|
245
|
+
defaultType: defaultType && this.serializeType(defaultType),
|
|
245
246
|
};
|
|
246
247
|
}
|
|
247
248
|
else if (type instanceof Type_1.AliasType) {
|
|
@@ -265,11 +266,12 @@ class JsonPrinter extends Printer_1.Printer {
|
|
|
265
266
|
originType: type.getOriginType(),
|
|
266
267
|
};
|
|
267
268
|
}
|
|
268
|
-
else if (type instanceof Type_1.AnnotationType) {
|
|
269
|
-
throw new Error('Unhandled AnnotationType: ' + util_1.default.inspect(type, { showHidden: true, depth: null }));
|
|
270
|
-
}
|
|
271
269
|
else {
|
|
272
|
-
|
|
270
|
+
console.warn(`Unhandled Type: ${type.constructor.name} (${type.toString()})`);
|
|
271
|
+
return {
|
|
272
|
+
_: type.constructor.name,
|
|
273
|
+
text: type.toString(),
|
|
274
|
+
};
|
|
273
275
|
}
|
|
274
276
|
}
|
|
275
277
|
serializeFileSignature(file) {
|
|
@@ -457,9 +459,6 @@ class JsonPrinter extends Printer_1.Printer {
|
|
|
457
459
|
right: this.serializeValue(value.getOp2()),
|
|
458
460
|
};
|
|
459
461
|
}
|
|
460
|
-
else if (value instanceof Expr_1.AbstractBinopExpr) {
|
|
461
|
-
return new Error('Unhandled BinopExpr: ' + util_1.default.inspect(value, { showHidden: true, depth: null }));
|
|
462
|
-
}
|
|
463
462
|
else if (value instanceof Expr_1.ArkUnopExpr) {
|
|
464
463
|
return {
|
|
465
464
|
_: 'UnopExpr',
|
|
@@ -490,9 +489,6 @@ class JsonPrinter extends Printer_1.Printer {
|
|
|
490
489
|
args: value.getArgs().map(arg => this.serializeValue(arg)),
|
|
491
490
|
};
|
|
492
491
|
}
|
|
493
|
-
else if (value instanceof Expr_1.AbstractInvokeExpr) {
|
|
494
|
-
throw new Error('Unhandled CallExpr: ' + util_1.default.inspect(value, { showHidden: true, depth: null }));
|
|
495
|
-
}
|
|
496
492
|
else if (value instanceof Ref_1.ArkThisRef) {
|
|
497
493
|
return {
|
|
498
494
|
_: 'ThisRef',
|
|
@@ -514,6 +510,28 @@ class JsonPrinter extends Printer_1.Printer {
|
|
|
514
510
|
type: this.serializeType(value.getType()),
|
|
515
511
|
};
|
|
516
512
|
}
|
|
513
|
+
else if (value instanceof Ref_1.ArkCaughtExceptionRef) {
|
|
514
|
+
return {
|
|
515
|
+
_: 'CaughtExceptionRef',
|
|
516
|
+
type: this.serializeType(value.getType()),
|
|
517
|
+
};
|
|
518
|
+
}
|
|
519
|
+
else if (value instanceof Ref_1.GlobalRef) {
|
|
520
|
+
let ref = value.getRef();
|
|
521
|
+
return {
|
|
522
|
+
_: 'GlobalRef',
|
|
523
|
+
name: value.getName(),
|
|
524
|
+
ref: ref ? this.serializeValue(ref) : null,
|
|
525
|
+
};
|
|
526
|
+
}
|
|
527
|
+
else if (value instanceof Ref_1.ClosureFieldRef) {
|
|
528
|
+
return {
|
|
529
|
+
_: 'ClosureFieldRef',
|
|
530
|
+
base: this.serializeLocal(value.getBase()),
|
|
531
|
+
fieldName: value.getFieldName(),
|
|
532
|
+
type: this.serializeType(value.getType()),
|
|
533
|
+
};
|
|
534
|
+
}
|
|
517
535
|
else if (value instanceof Ref_1.ArkInstanceFieldRef) {
|
|
518
536
|
return {
|
|
519
537
|
_: 'InstanceFieldRef',
|
|
@@ -527,17 +545,13 @@ class JsonPrinter extends Printer_1.Printer {
|
|
|
527
545
|
field: this.serializeFieldSignature(value.getFieldSignature()),
|
|
528
546
|
};
|
|
529
547
|
}
|
|
530
|
-
else if (value instanceof Ref_1.AbstractFieldRef) {
|
|
531
|
-
throw new Error('Unhandled FieldRef: ' + util_1.default.inspect(value, { showHidden: true, depth: null }));
|
|
532
|
-
}
|
|
533
|
-
else if (value instanceof Ref_1.AbstractRef) {
|
|
534
|
-
throw new Error('Unhandled Ref: ' + util_1.default.inspect(value, { showHidden: true, depth: null }));
|
|
535
|
-
}
|
|
536
|
-
else if (value instanceof Expr_1.AbstractExpr) {
|
|
537
|
-
throw new Error('Unhandled Expr: ' + util_1.default.inspect(value, { showHidden: true, depth: null }));
|
|
538
|
-
}
|
|
539
548
|
else {
|
|
540
|
-
|
|
549
|
+
console.warn(`Unhandled Value: ${value.constructor.name} (${value.toString()})`);
|
|
550
|
+
return {
|
|
551
|
+
_: value.constructor.name,
|
|
552
|
+
text: value.toString(),
|
|
553
|
+
type: this.serializeType(value.getType()),
|
|
554
|
+
};
|
|
541
555
|
}
|
|
542
556
|
}
|
|
543
557
|
serializeStmt(stmt) {
|
|
@@ -578,7 +592,11 @@ class JsonPrinter extends Printer_1.Printer {
|
|
|
578
592
|
};
|
|
579
593
|
}
|
|
580
594
|
else {
|
|
581
|
-
|
|
595
|
+
console.warn(`Unhandled Stmt: ${stmt.constructor.name} (${stmt.toString()})`);
|
|
596
|
+
return {
|
|
597
|
+
_: stmt.constructor.name,
|
|
598
|
+
text: stmt.toString(),
|
|
599
|
+
};
|
|
582
600
|
}
|
|
583
601
|
}
|
|
584
602
|
}
|