arkanalyzer 1.0.45 → 1.0.47
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.d.ts.map +1 -1
- package/lib/Scene.js +4 -3
- package/lib/core/common/ArkValueTransformer.d.ts +7 -0
- package/lib/core/common/ArkValueTransformer.d.ts.map +1 -1
- package/lib/core/common/ArkValueTransformer.js +112 -59
- package/lib/core/model/ArkFile.d.ts +7 -3
- package/lib/core/model/ArkFile.d.ts.map +1 -1
- package/lib/core/model/ArkFile.js +10 -3
- package/lib/core/model/builder/ArkFileBuilder.d.ts.map +1 -1
- package/lib/core/model/builder/ArkFileBuilder.js +4 -0
- package/lib/utils/AstTreeUtils.d.ts.map +1 -1
- package/lib/utils/AstTreeUtils.js +5 -1
- package/package.json +2 -2
package/lib/Scene.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Scene.d.ts","sourceRoot":"","sources":["../src/Scene.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Scene.d.ts","sourceRoot":"","sources":["../src/Scene.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,EAAY,MAAM,UAAU,CAAC;AAGpE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/G,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAK1C,OAAO,EAAE,SAAS,EAA0B,MAAM,wBAAwB,CAAC;AAG3E,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAYxD,aAAK,eAAe;IAChB,UAAU,IAAA;IACV,YAAY,IAAA;IACZ,UAAU,IAAA;IACV,WAAW,IAAA;IACX,eAAe,IAAA;IACf,gBAAgB,IAAA;IAChB,aAAa,IAAA;CAChB;AAED;;;GAGG;AACH,qBAAa,KAAK;IACd,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,cAAc,CAAc;IAEpC,OAAO,CAAC,eAAe,CAAuC;IAC9D,OAAO,CAAC,kBAAkB,CAAkD;IAE5E,OAAO,CAAC,YAAY,CAAiC;IACrD,OAAO,CAAC,aAAa,CAA+B;IAGpD,OAAO,CAAC,YAAY,CAAoC;IAGxD,OAAO,CAAC,QAAQ,CAAmC;IACnD,OAAO,CAAC,aAAa,CAAwC;IAC7D,OAAO,CAAC,UAAU,CAAoC;IACtD,OAAO,CAAC,UAAU,CAAqC;IAEvD,OAAO,CAAC,cAAc,CAAmC;IACzD,OAAO,CAAC,YAAY,CAAwD;IAC5E,OAAO,CAAC,eAAe,CAAsF;IAC7G,OAAO,CAAC,aAAa,CAAc;IACnC,OAAO,CAAC,YAAY,CAAgC;IACpD,OAAO,CAAC,SAAS,CAAkC;IACnD,OAAO,CAAC,qBAAqB,CAAmC;IAChE,OAAO,CAAC,wBAAwB,CAAC,CAAwC;IACzE,OAAO,CAAC,OAAO,CAAC,CAAqB;IAErC,OAAO,CAAC,UAAU,CAA+C;IACjE,OAAO,CAAC,aAAa,CAAoC;IAEzD,OAAO,CAAC,OAAO,CAAgB;IAE/B,OAAO,CAAC,kBAAkB,CAAkC;IAC5D,OAAO,CAAC,qBAAqB,CAAgB;;IAQtC,OAAO,IAAI,IAAI;IAOf,UAAU,IAAI,YAAY;IAI1B,YAAY,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAInC,wBAAwB,IAAI,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAIhD,KAAK,IAAI,IAAI;IAoBb,QAAQ,IAAI,eAAe;IAIlC;;;;;;;;;;;;;;;;;;OAkBG;IACI,wBAAwB,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAKxD,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAO1D;;;;OAIG;IACI,cAAc,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAoDrD,OAAO,CAAC,iBAAiB;IAuBzB,OAAO,CAAC,cAAc;IAwBtB,OAAO,CAAC,sBAAsB;IAa9B,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,8BAA8B;IAatC,OAAO,CAAC,kBAAkB;IAgC1B,OAAO,CAAC,WAAW;IAkBnB,OAAO,CAAC,yBAAyB;IAQjC,OAAO,CAAC,wBAAwB;IAoChC,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,sBAAsB;IAgB9B,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,SAAS;IAejB,OAAO,CAAC,0BAA0B;IAOlC,OAAO,CAAC,kBAAkB;IAgB1B,OAAO,CAAC,mBAAmB;IAe3B,OAAO,CAAC,sBAAsB;IAS9B,OAAO,CAAC,oBAAoB;IAiB5B,OAAO,CAAC,uBAAuB;IAW/B,OAAO,CAAC,+BAA+B;IAoBvC,OAAO,CAAC,uBAAuB;IA6B/B,OAAO,CAAC,sBAAsB;IAc9B,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,0BAA0B;IAIlC,OAAO,CAAC,QAAQ;IAgChB;;;;OAIG;IACI,yBAAyB,IAAI,IAAI;IAYxC,OAAO,CAAC,oBAAoB;IAUrB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,IAAI;IA6BhG,OAAO,CAAC,yBAAyB;IAoBjC;;;;;;;;OAQG;IACI,iBAAiB,IAAI,MAAM;IAIlC;;;OAGG;IACI,cAAc,IAAI,MAAM;IAIxB,eAAe,IAAI,MAAM,EAAE;IAI3B,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAIzD;;;;;;;;;;;;;;;;;;OAkBG;IACI,OAAO,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO,GAAG,IAAI;IAWrD,qBAAqB,IAAI,MAAM,EAAE;IAOjC,wBAAwB,IAAI,MAAM,EAAE;IAIpC,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAI5B,UAAU,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO;IAIxD;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACI,QAAQ,IAAI,OAAO,EAAE;IAIrB,gBAAgB,IAAI,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC;IAIzC,cAAc,IAAI,OAAO,EAAE;IAI3B,eAAe,IAAI,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC;IAIrC,gBAAgB,IAAI,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC;IAIpC,YAAY,CAAC,kBAAkB,EAAE,kBAAkB,GAAG,YAAY,GAAG,IAAI;IAgBhF,OAAO,CAAC,uBAAuB;IAW/B,OAAO,CAAC,gBAAgB;IAWjB,aAAa,IAAI,YAAY,EAAE;IAItC;;;;OAIG;IACI,QAAQ,CAAC,cAAc,EAAE,cAAc,GAAG,QAAQ,GAAG,IAAI;IAsBhE,OAAO,CAAC,aAAa;IAoBd,UAAU,IAAI,QAAQ,EAAE;IAIxB,SAAS,CAAC,eAAe,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,IAAI;IAgBvF,OAAO,CAAC,aAAa;IAerB;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACI,UAAU,IAAI,SAAS,EAAE;IAIzB,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI;IAIxC,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO;IAIxC,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO;IAIxC,eAAe,CAAC,SAAS,EAAE,YAAY,GAAG,OAAO;IAIjD,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO;IAIlC,aAAa,IAAI,OAAO;IAKxB,cAAc,IAAI,eAAe,EAAE;IAI1C,+CAA+C;IACxC,eAAe,IAAI,YAAY;IAI/B,eAAe,IAAI;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE;IAI3C,kBAAkB,IAAI,GAAG,CAAC,MAAM,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IAI3D,gBAAgB,IAAI,MAAM;IAI1B,gBAAgB,CAAC,WAAW,EAAE,eAAe,EAAE,GAAG,SAAS;IAO3D,gBAAgB,CAAC,WAAW,EAAE,eAAe,EAAE,GAAG,SAAS;IAOlE;;;;;;;;;;;OAWG;IACI,UAAU,IAAI,IAAI;IAgBzB;;;;;;;;;;;;;OAaG;IACI,gBAAgB,IAAI,IAAI;IAU/B,OAAO,CAAC,YAAY;IAwBpB,OAAO,CAAC,oBAAoB;IAoC5B,OAAO,CAAC,sBAAsB;IAqCvB,WAAW,IAAI,GAAG,CAAC,aAAa,GAAG,kBAAkB,EAAE,QAAQ,EAAE,CAAC;IA8BzE,OAAO,CAAC,WAAW;IA+BnB,OAAO,CAAC,mBAAmB;IAoC3B,OAAO,CAAC,mBAAmB;IAwC3B,OAAO,CAAC,oBAAoB;IAUrB,oBAAoB,IAAI,GAAG,CAAC,aAAa,GAAG,kBAAkB,EAAE,KAAK,EAAE,CAAC;IAoCxE,oBAAoB,IAAI,SAAS,EAAE;IAUnC,cAAc,IAAI,OAAO;IAIzB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAI3D,iBAAiB,IAAI,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC;IAI7C,2BAA2B,IAAI;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,GAAG,SAAS;IAIpE,UAAU,IAAI,MAAM,GAAG,SAAS;CAG1C;AAED,qBAAa,WAAW;IACpB,OAAO,CAAC,YAAY,CAAQ;IAC5B,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,aAAa,CAAmC;IAExD,OAAO,CAAC,mBAAmB,CAAc;IACzC,OAAO,CAAC,YAAY,CAAgC;gBAExC,YAAY,EAAE,KAAK;IAIxB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,EAAE,WAAW,GAAE,OAAe,GAAG,IAAI;IAczH,2BAA2B,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAUhF;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAO9B;;;OAGG;IACI,aAAa,IAAI,MAAM;IAIvB,aAAa,IAAI,MAAM;IAIvB,gBAAgB,IAAI,MAAM;IAI1B,eAAe,IAAI;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE;IAI3C,iBAAiB,IAAI,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAIzC,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIzC,OAAO,CAAC,WAAW;CAgBtB"}
|
package/lib/Scene.js
CHANGED
|
@@ -501,11 +501,12 @@ class Scene {
|
|
|
501
501
|
if (!fs_1.default.existsSync(originPath)) {
|
|
502
502
|
return false;
|
|
503
503
|
}
|
|
504
|
-
const
|
|
505
|
-
|
|
504
|
+
const dirname = path_1.default.dirname(originPath);
|
|
505
|
+
const indexFileName = FileUtils_1.FileUtils.getIndexFileName(dirname);
|
|
506
|
+
if (indexFileName === '') {
|
|
506
507
|
return false;
|
|
507
508
|
}
|
|
508
|
-
const curPath = path_1.default.join(
|
|
509
|
+
const curPath = path_1.default.join(dirname, indexFileName);
|
|
509
510
|
if (!this.isRepeatBuildFile(curPath)) {
|
|
510
511
|
this.addFileNode2DependencyGrap(curPath);
|
|
511
512
|
return true;
|
|
@@ -26,6 +26,7 @@ export declare class ArkValueTransformer {
|
|
|
26
26
|
tsNodeToValueAndStmts(node: ts.Node): ValueAndStmts;
|
|
27
27
|
private tsNodeToSingleAddressValueAndStmts;
|
|
28
28
|
private thisExpressionToValueAndStmts;
|
|
29
|
+
private superExpressionToValueAndStmts;
|
|
29
30
|
private conditionalExpressionToValueAndStmts;
|
|
30
31
|
private objectLiteralExpresionToValueAndStmts;
|
|
31
32
|
private generateSystemComponentStmt;
|
|
@@ -44,6 +45,12 @@ export declare class ArkValueTransformer {
|
|
|
44
45
|
private elementAccessExpressionToValueAndStmts;
|
|
45
46
|
private callExpressionToValueAndStmts;
|
|
46
47
|
private generateInvokeValueAndStmts;
|
|
48
|
+
private handleFieldRefInvoke;
|
|
49
|
+
private handleLocalInvoke;
|
|
50
|
+
private isCustomViewCall;
|
|
51
|
+
private isSystemComponentCall;
|
|
52
|
+
private handleArrayRefInvoke;
|
|
53
|
+
private handleDefaultInvoke;
|
|
47
54
|
private parseArgumentsOfCallExpression;
|
|
48
55
|
private parseArguments;
|
|
49
56
|
private callableNodeToValueAndStmts;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArkValueTransformer.d.ts","sourceRoot":"","sources":["../../../src/core/common/ArkValueTransformer.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEtC,OAAO,EAAE,sBAAsB,EAAiD,MAAM,cAAc,CAAC;AAuBrG,OAAO,EACH,SAAS,EAcT,IAAI,EAMP,MAAM,cAAc,CAAC;AAetB,OAAO,EAAyE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE/G,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAK/C,OAAO,EAAE,gBAAgB,EAAa,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAOhF,qBAAa,mBAAmB;IACrB,qBAAqB,EAAE,MAAM,CAAK;IACzC,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,UAAU,CAAgB;IAClC,OAAO,CAAC,MAAM,CAAiC;IAC/C,OAAO,CAAC,OAAO,CAAC,CAAyB;IACzC,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,eAAe,CAAY;IACnC,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,YAAY,CAA+D;IACnF,OAAO,CAAC,wBAAwB,CAAS;gBAE7B,gBAAgB,EAAE,gBAAgB,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,eAAe,EAAE,SAAS;IAQ9F,SAAS,IAAI,GAAG,CAAC,KAAK,CAAC;IAIvB,YAAY,IAAI,KAAK;IAIrB,eAAe,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAC;IAInE,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,GAAE,IAAgC,GAAG,KAAK;IAMlF,UAAU,IAAI,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAI;IAIlD,OAAO,CAAC,YAAY;IAOb,qBAAqB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,aAAa;
|
|
1
|
+
{"version":3,"file":"ArkValueTransformer.d.ts","sourceRoot":"","sources":["../../../src/core/common/ArkValueTransformer.ts"],"names":[],"mappings":"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"}
|
|
@@ -184,6 +184,9 @@ class ArkValueTransformer {
|
|
|
184
184
|
else if (node.kind === ts.SyntaxKind.ThisKeyword) {
|
|
185
185
|
return this.thisExpressionToValueAndStmts(node);
|
|
186
186
|
}
|
|
187
|
+
else if (node.kind === ts.SyntaxKind.SuperKeyword) {
|
|
188
|
+
return this.superExpressionToValueAndStmts(node);
|
|
189
|
+
}
|
|
187
190
|
else if (ts.isConditionalExpression(node)) {
|
|
188
191
|
return this.conditionalExpressionToValueAndStmts(node);
|
|
189
192
|
}
|
|
@@ -210,6 +213,13 @@ class ArkValueTransformer {
|
|
|
210
213
|
stmts: [],
|
|
211
214
|
};
|
|
212
215
|
}
|
|
216
|
+
superExpressionToValueAndStmts(superExpression) {
|
|
217
|
+
return {
|
|
218
|
+
value: this.getOrCreateLocal(TSConst_1.SUPER_NAME),
|
|
219
|
+
valueOriginalPositions: [Position_1.FullPosition.buildFromNode(superExpression, this.sourceFile)],
|
|
220
|
+
stmts: [],
|
|
221
|
+
};
|
|
222
|
+
}
|
|
213
223
|
conditionalExpressionToValueAndStmts(conditionalExpression) {
|
|
214
224
|
const stmts = [];
|
|
215
225
|
const currConditionalOperatorIndex = this.conditionalOperatorNo++;
|
|
@@ -458,7 +468,7 @@ class ArkValueTransformer {
|
|
|
458
468
|
const { value: placeholdersLocal, valueOriginalPositions: placeholdersLocalPositions, stmts: placeholdersStmts, } = this.generateArrayExprAndStmts(placeholderBaseType, placeholdersArrayLenValue, placeholdersArrayLenPosition, placeholdersArrayLen, placeholderValues, placeholderPositions, templateObjectStmts, Position_1.FullPosition.DEFAULT, true);
|
|
459
469
|
const taggedFuncArgus = {
|
|
460
470
|
realGenericTypes: undefined,
|
|
461
|
-
|
|
471
|
+
argValues: [templateObjectLocal, placeholdersLocal],
|
|
462
472
|
argPositions: [templateObjectLocalPositions[0], placeholdersLocalPositions[0]],
|
|
463
473
|
};
|
|
464
474
|
return this.generateInvokeValueAndStmts(taggedTemplateExpression.tag, taggedFuncArgus, placeholdersStmts, taggedTemplateExpression);
|
|
@@ -614,69 +624,112 @@ class ArkValueTransformer {
|
|
|
614
624
|
const argus = this.parseArgumentsOfCallExpression(stmts, callExpression);
|
|
615
625
|
return this.generateInvokeValueAndStmts(callExpression.expression, argus, stmts, callExpression);
|
|
616
626
|
}
|
|
617
|
-
generateInvokeValueAndStmts(functionNameNode,
|
|
627
|
+
generateInvokeValueAndStmts(functionNameNode, args, currStmts, callExpression) {
|
|
618
628
|
const stmts = [...currStmts];
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
if (callerValue instanceof Ref_1.AbstractFieldRef) {
|
|
625
|
-
let methodSignature;
|
|
626
|
-
const declareSignature = callerValue.getFieldSignature().getDeclaringSignature();
|
|
627
|
-
if (declareSignature instanceof ArkSignature_1.ClassSignature) {
|
|
628
|
-
methodSignature = new ArkSignature_1.MethodSignature(declareSignature, ArkSignatureBuilder_1.ArkSignatureBuilder.buildMethodSubSignatureFromMethodName(callerValue.getFieldName()));
|
|
629
|
-
}
|
|
630
|
-
else {
|
|
631
|
-
methodSignature = ArkSignatureBuilder_1.ArkSignatureBuilder.buildMethodSignatureFromMethodName(callerValue.getFieldName());
|
|
632
|
-
}
|
|
633
|
-
if (callerValue instanceof Ref_1.ArkInstanceFieldRef) {
|
|
634
|
-
invokeValue = new Expr_1.ArkInstanceInvokeExpr(callerValue.getBase(), methodSignature, args, realGenericTypes);
|
|
635
|
-
invokeValuePositions.push(...callerPositions.slice(1));
|
|
636
|
-
}
|
|
637
|
-
else {
|
|
638
|
-
invokeValue = new Expr_1.ArkStaticInvokeExpr(methodSignature, args, realGenericTypes);
|
|
639
|
-
}
|
|
629
|
+
const { value: calleeValue, valueOriginalPositions: calleePositions, stmts: calleeStmts } = this.tsNodeToValueAndStmts(functionNameNode);
|
|
630
|
+
stmts.push(...calleeStmts);
|
|
631
|
+
const invokeExprPosition = Position_1.FullPosition.buildFromNode(callExpression, this.sourceFile);
|
|
632
|
+
if (calleeValue instanceof Ref_1.AbstractFieldRef) {
|
|
633
|
+
return this.handleFieldRefInvoke(calleeValue, args, invokeExprPosition, calleePositions, stmts);
|
|
640
634
|
}
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
return this.generateCustomViewStmt(callerName, args, argPositions, callExpression, stmts);
|
|
647
|
-
}
|
|
648
|
-
else if ((callerName === EtsConst_1.COMPONENT_FOR_EACH || callerName === EtsConst_1.COMPONENT_LAZY_FOR_EACH) && ts.isCallExpression(callExpression)) {
|
|
649
|
-
// foreach/lazyforeach will be parsed as ts.callExpression
|
|
650
|
-
return this.generateSystemComponentStmt(callerName, args, argPositions, callExpression, stmts);
|
|
651
|
-
}
|
|
652
|
-
const methodSignature = ArkSignatureBuilder_1.ArkSignatureBuilder.buildMethodSignatureFromMethodName(callerName);
|
|
653
|
-
if (callerValue.getType() instanceof Type_1.FunctionType) {
|
|
654
|
-
invokeValue = new Expr_1.ArkPtrInvokeExpr(methodSignature, callerValue, args, realGenericTypes);
|
|
655
|
-
}
|
|
656
|
-
else {
|
|
657
|
-
invokeValue = new Expr_1.ArkStaticInvokeExpr(methodSignature, args, realGenericTypes);
|
|
658
|
-
}
|
|
635
|
+
if (calleeValue instanceof Local_1.Local) {
|
|
636
|
+
return this.handleLocalInvoke(calleeValue, callExpression, args, invokeExprPosition, calleePositions, stmts);
|
|
637
|
+
}
|
|
638
|
+
if (calleeValue instanceof Ref_1.ArkArrayRef && ts.isElementAccessExpression(functionNameNode)) {
|
|
639
|
+
return this.handleArrayRefInvoke(calleeValue, functionNameNode, args, invokeExprPosition, calleePositions, stmts);
|
|
659
640
|
}
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
641
|
+
return this.handleDefaultInvoke(calleeValue, args, invokeExprPosition, calleePositions, stmts);
|
|
642
|
+
}
|
|
643
|
+
handleFieldRefInvoke(calleeValue, args, invokeExprPosition, calleePositions, currStmts) {
|
|
644
|
+
let methodSignature;
|
|
645
|
+
const declareSignature = calleeValue.getFieldSignature().getDeclaringSignature();
|
|
646
|
+
if (declareSignature instanceof ArkSignature_1.ClassSignature) {
|
|
647
|
+
methodSignature =
|
|
648
|
+
new ArkSignature_1.MethodSignature(declareSignature, ArkSignatureBuilder_1.ArkSignatureBuilder.buildMethodSubSignatureFromMethodName(calleeValue.getFieldName()));
|
|
665
649
|
}
|
|
666
650
|
else {
|
|
667
|
-
(
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
}
|
|
676
|
-
|
|
651
|
+
methodSignature = ArkSignatureBuilder_1.ArkSignatureBuilder.buildMethodSignatureFromMethodName(calleeValue.getFieldName());
|
|
652
|
+
}
|
|
653
|
+
let invokeExpr;
|
|
654
|
+
const invokeExprPositions = [invokeExprPosition];
|
|
655
|
+
if (calleeValue instanceof Ref_1.ArkInstanceFieldRef) {
|
|
656
|
+
invokeExpr =
|
|
657
|
+
new Expr_1.ArkInstanceInvokeExpr(calleeValue.getBase(), methodSignature, args.argValues, args.realGenericTypes);
|
|
658
|
+
invokeExprPositions.push(...calleePositions.slice(1));
|
|
659
|
+
}
|
|
660
|
+
else {
|
|
661
|
+
invokeExpr = new Expr_1.ArkStaticInvokeExpr(methodSignature, args.argValues, args.realGenericTypes);
|
|
662
|
+
}
|
|
663
|
+
invokeExprPositions.push(...args.argPositions);
|
|
664
|
+
return {
|
|
665
|
+
value: invokeExpr,
|
|
666
|
+
valueOriginalPositions: invokeExprPositions,
|
|
667
|
+
stmts: currStmts,
|
|
668
|
+
};
|
|
669
|
+
}
|
|
670
|
+
handleLocalInvoke(calleeValue, callExpression, args, invokeExprPosition, calleePositions, currStmts) {
|
|
671
|
+
var _a;
|
|
672
|
+
let invokeExpr;
|
|
673
|
+
const invokeExprPositions = [invokeExprPosition];
|
|
674
|
+
const calleeName = calleeValue.getName();
|
|
675
|
+
if (this.isCustomViewCall(calleeName, callExpression)) {
|
|
676
|
+
return this.generateCustomViewStmt(calleeName, args.argValues, args.argPositions, callExpression, currStmts);
|
|
677
|
+
}
|
|
678
|
+
else if (this.isSystemComponentCall(calleeName, callExpression)) {
|
|
679
|
+
return this.generateSystemComponentStmt(calleeName, args.argValues, args.argPositions, callExpression, currStmts);
|
|
680
|
+
}
|
|
681
|
+
const methodSignature = ArkSignatureBuilder_1.ArkSignatureBuilder.buildMethodSignatureFromMethodName(calleeName);
|
|
682
|
+
if (!((_a = this.getGlobals()) === null || _a === void 0 ? void 0 : _a.has(calleeName)) || calleeValue.getType() instanceof Type_1.FunctionType) {
|
|
683
|
+
// the call to the left value or a value of function type should be ptr invoke expr.
|
|
684
|
+
invokeExpr = new Expr_1.ArkPtrInvokeExpr(methodSignature, calleeValue, args.argValues, args.realGenericTypes);
|
|
685
|
+
invokeExprPositions.push(...calleePositions.slice(1));
|
|
686
|
+
}
|
|
687
|
+
else {
|
|
688
|
+
invokeExpr = new Expr_1.ArkStaticInvokeExpr(methodSignature, args.argValues, args.realGenericTypes);
|
|
689
|
+
}
|
|
690
|
+
invokeExprPositions.push(...args.argPositions);
|
|
691
|
+
return {
|
|
692
|
+
value: invokeExpr,
|
|
693
|
+
valueOriginalPositions: invokeExprPositions,
|
|
694
|
+
stmts: currStmts,
|
|
695
|
+
};
|
|
696
|
+
}
|
|
697
|
+
isCustomViewCall(callerName, callExpression) {
|
|
698
|
+
var _a;
|
|
699
|
+
if (!ts.isCallExpression(callExpression)) {
|
|
700
|
+
return false;
|
|
701
|
+
}
|
|
702
|
+
const classSignature = ArkSignatureBuilder_1.ArkSignatureBuilder.buildClassSignatureFromClassName(callerName);
|
|
703
|
+
const cls = ModelUtils_1.ModelUtils.getClass(this.declaringMethod, classSignature);
|
|
704
|
+
return (_a = cls === null || cls === void 0 ? void 0 : cls.hasComponentDecorator()) !== null && _a !== void 0 ? _a : false;
|
|
705
|
+
}
|
|
706
|
+
isSystemComponentCall(calleeName, callExpression) {
|
|
707
|
+
return (calleeName === EtsConst_1.COMPONENT_FOR_EACH || calleeName === EtsConst_1.COMPONENT_LAZY_FOR_EACH) &&
|
|
708
|
+
ts.isCallExpression(callExpression);
|
|
709
|
+
}
|
|
710
|
+
handleArrayRefInvoke(calleeValue, functionNameNode, args, invokeExprPosition, calleePositions, currStmts) {
|
|
711
|
+
const stmts = [...currStmts];
|
|
712
|
+
const methodSignature = ArkSignatureBuilder_1.ArkSignatureBuilder.buildMethodSignatureFromMethodName(functionNameNode.argumentExpression.getText());
|
|
713
|
+
stmts.pop();
|
|
714
|
+
const invokeExpr = new Expr_1.ArkInstanceInvokeExpr(calleeValue.getBase(), methodSignature, args.argValues, args.realGenericTypes);
|
|
715
|
+
const invokeExprPositions = [invokeExprPosition, calleePositions.slice(1)[0],
|
|
716
|
+
...args.argPositions];
|
|
717
|
+
return {
|
|
718
|
+
value: invokeExpr,
|
|
719
|
+
valueOriginalPositions: invokeExprPositions,
|
|
720
|
+
stmts: stmts,
|
|
721
|
+
};
|
|
722
|
+
}
|
|
723
|
+
handleDefaultInvoke(calleeValue, args, invokeExprPosition, calleePositions, currStmts) {
|
|
724
|
+
const stmts = [...currStmts];
|
|
725
|
+
const { value: newCalleeValue, stmts: newStmts } = this.arkIRTransformer.generateAssignStmtForValue(calleeValue, calleePositions);
|
|
726
|
+
stmts.push(...newStmts);
|
|
727
|
+
const invokeExpr = new Expr_1.ArkPtrInvokeExpr(ArkSignatureBuilder_1.ArkSignatureBuilder.buildMethodSignatureFromMethodName(newCalleeValue.getName()), newCalleeValue, args.argValues, args.realGenericTypes);
|
|
728
|
+
const invokeExprPositions = [invokeExprPosition, calleePositions.slice(1)[0],
|
|
729
|
+
...args.argPositions];
|
|
677
730
|
return {
|
|
678
|
-
value:
|
|
679
|
-
valueOriginalPositions:
|
|
731
|
+
value: invokeExpr,
|
|
732
|
+
valueOriginalPositions: invokeExprPositions,
|
|
680
733
|
stmts: stmts,
|
|
681
734
|
};
|
|
682
735
|
}
|
|
@@ -698,7 +751,7 @@ class ArkValueTransformer {
|
|
|
698
751
|
const { args: args, argPositions: argPositions } = this.parseArguments(currStmts, callExpression.arguments, builderMethodIndexes);
|
|
699
752
|
return {
|
|
700
753
|
realGenericTypes: realGenericTypes,
|
|
701
|
-
|
|
754
|
+
argValues: args,
|
|
702
755
|
argPositions: argPositions,
|
|
703
756
|
};
|
|
704
757
|
}
|
|
@@ -4,6 +4,7 @@ import { ImportInfo } from './ArkImport';
|
|
|
4
4
|
import { ArkClass } from './ArkClass';
|
|
5
5
|
import { ArkNamespace } from './ArkNamespace';
|
|
6
6
|
import { ClassSignature, FileSignature, NamespaceSignature } from './ArkSignature';
|
|
7
|
+
import { ts } from '../../index';
|
|
7
8
|
export declare const notStmtOrExprKind: string[];
|
|
8
9
|
export declare enum Language {
|
|
9
10
|
TYPESCRIPT = 0,
|
|
@@ -30,6 +31,7 @@ export declare class ArkFile {
|
|
|
30
31
|
private fileSignature;
|
|
31
32
|
private ohPackageJson5Path;
|
|
32
33
|
private anonymousClassNumber;
|
|
34
|
+
private ast;
|
|
33
35
|
constructor(language: Language);
|
|
34
36
|
/**
|
|
35
37
|
* Returns the program language of the file.
|
|
@@ -59,9 +61,9 @@ export declare class ArkFile {
|
|
|
59
61
|
* @example
|
|
60
62
|
* 1. Read source code based on file path.
|
|
61
63
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
64
|
+
```typescript
|
|
65
|
+
let str = fs.readFileSync(arkFile.getFilePath(), 'utf8');
|
|
66
|
+
```
|
|
65
67
|
*/
|
|
66
68
|
getFilePath(): string;
|
|
67
69
|
setFilePath(absoluteFilePath: string): void;
|
|
@@ -141,5 +143,7 @@ export declare class ArkFile {
|
|
|
141
143
|
setFileSignature(fileSignature: FileSignature): void;
|
|
142
144
|
getAllNamespacesUnderThisFile(): ArkNamespace[];
|
|
143
145
|
getAnonymousClassNumber(): number;
|
|
146
|
+
getAST(): ts.SourceFile | null;
|
|
147
|
+
setAST(value: ts.SourceFile | null): void;
|
|
144
148
|
}
|
|
145
149
|
//# sourceMappingURL=ArkFile.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArkFile.d.ts","sourceRoot":"","sources":["../../../src/core/model/ArkFile.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAa,UAAU,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAuB,cAAc,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"ArkFile.d.ts","sourceRoot":"","sources":["../../../src/core/model/ArkFile.ts"],"names":[],"mappings":"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"}
|
|
@@ -61,6 +61,7 @@ class ArkFile {
|
|
|
61
61
|
this.fileSignature = ArkSignature_1.FileSignature.DEFAULT;
|
|
62
62
|
this.ohPackageJson5Path = [];
|
|
63
63
|
this.anonymousClassNumber = 0;
|
|
64
|
+
this.ast = null;
|
|
64
65
|
this.language = language;
|
|
65
66
|
}
|
|
66
67
|
/**
|
|
@@ -109,9 +110,9 @@ class ArkFile {
|
|
|
109
110
|
* @example
|
|
110
111
|
* 1. Read source code based on file path.
|
|
111
112
|
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
113
|
+
```typescript
|
|
114
|
+
let str = fs.readFileSync(arkFile.getFilePath(), 'utf8');
|
|
115
|
+
```
|
|
115
116
|
*/
|
|
116
117
|
getFilePath() {
|
|
117
118
|
return this.absoluteFilePath;
|
|
@@ -304,5 +305,11 @@ class ArkFile {
|
|
|
304
305
|
getAnonymousClassNumber() {
|
|
305
306
|
return this.anonymousClassNumber++;
|
|
306
307
|
}
|
|
308
|
+
getAST() {
|
|
309
|
+
return this.ast;
|
|
310
|
+
}
|
|
311
|
+
setAST(value) {
|
|
312
|
+
this.ast = value;
|
|
313
|
+
}
|
|
307
314
|
}
|
|
308
315
|
exports.ArkFile = ArkFile;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArkFileBuilder.d.ts","sourceRoot":"","sources":["../../../../src/core/model/builder/ArkFileBuilder.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,OAAO,EAAY,MAAM,YAAY,CAAC;AAwB/C,eAAO,MAAM,iBAAiB,UAiB7B,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,gBAAgB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"ArkFileBuilder.d.ts","sourceRoot":"","sources":["../../../../src/core/model/builder/ArkFileBuilder.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,OAAO,EAAY,MAAM,YAAY,CAAC;AAwB/C,eAAO,MAAM,iBAAiB,UAiB7B,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,gBAAgB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAe9H"}
|
|
@@ -90,6 +90,10 @@ function buildArkFileFromFile(absoluteFilePath, projectDir, arkFile, projectName
|
|
|
90
90
|
arkFile.setFileSignature(fileSignature);
|
|
91
91
|
arkFile.setCode(fs_1.default.readFileSync(arkFile.getFilePath(), 'utf8'));
|
|
92
92
|
const sourceFile = ohos_typescript_1.default.createSourceFile(arkFile.getName(), arkFile.getCode(), ohos_typescript_1.default.ScriptTarget.Latest, true, undefined, EtsConst_1.ETS_COMPILER_OPTIONS);
|
|
93
|
+
// save ast source file, if enabled ast and file is from the project (not from sdk)
|
|
94
|
+
if (arkFile.getScene().getOptions().enableAST && arkFile.getScene().getProjectName() === arkFile.getProjectName()) {
|
|
95
|
+
arkFile.setAST(sourceFile);
|
|
96
|
+
}
|
|
93
97
|
genDefaultArkClass(arkFile, sourceFile);
|
|
94
98
|
buildArkFile(arkFile, sourceFile);
|
|
95
99
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AstTreeUtils.d.ts","sourceRoot":"","sources":["../../src/utils/AstTreeUtils.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,IAAI,CAAC;AAMjC,qBAAa,YAAY;IACrB;;;;;OAKG;WACW,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,EAAE,CAAC,UAAU;IAWvE;;;;OAIG;WACW,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,EAAE,CAAC,UAAU;
|
|
1
|
+
{"version":3,"file":"AstTreeUtils.d.ts","sourceRoot":"","sources":["../../src/utils/AstTreeUtils.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,IAAI,CAAC;AAMjC,qBAAa,YAAY;IACrB;;;;;OAKG;WACW,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,EAAE,CAAC,UAAU;IAWvE;;;;OAIG;WACW,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,EAAE,CAAC,UAAU;WAgBzD,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,EAAE,CAAC,UAAU;IAI7E;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;CAGhC"}
|
|
@@ -65,9 +65,13 @@ class AstTreeUtils {
|
|
|
65
65
|
* @returns ts.SourceFile
|
|
66
66
|
*/
|
|
67
67
|
static getSourceFileFromArkFile(arkFile) {
|
|
68
|
+
let sourceFile = arkFile.getAST();
|
|
69
|
+
if (sourceFile) {
|
|
70
|
+
return sourceFile;
|
|
71
|
+
}
|
|
68
72
|
const signature = arkFile.getFileSignature().toString();
|
|
69
73
|
const key = this.getKeyFromCode(signature);
|
|
70
|
-
|
|
74
|
+
sourceFile = sourceFileCache.get(key);
|
|
71
75
|
if (sourceFile) {
|
|
72
76
|
return sourceFile;
|
|
73
77
|
}
|