arkanalyzer 1.0.29 → 1.0.30

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.
Files changed (80) hide show
  1. package/lib/Scene.d.ts +7 -0
  2. package/lib/Scene.d.ts.map +1 -1
  3. package/lib/Scene.js +196 -173
  4. package/lib/VFG/builder/DVFGBuilder.d.ts.map +1 -1
  5. package/lib/VFG/builder/DVFGBuilder.js +11 -6
  6. package/lib/callgraph/algorithm/AbstractAnalysis.d.ts +3 -1
  7. package/lib/callgraph/algorithm/AbstractAnalysis.d.ts.map +1 -1
  8. package/lib/callgraph/algorithm/AbstractAnalysis.js +18 -10
  9. package/lib/callgraph/algorithm/RapidTypeAnalysis.d.ts.map +1 -1
  10. package/lib/callgraph/algorithm/RapidTypeAnalysis.js +8 -7
  11. package/lib/callgraph/common/Statistics.d.ts.map +1 -1
  12. package/lib/callgraph/common/Statistics.js +25 -24
  13. package/lib/callgraph/model/CallGraph.d.ts.map +1 -1
  14. package/lib/callgraph/model/CallGraph.js +0 -1
  15. package/lib/callgraph/pointerAnalysis/Context.d.ts.map +1 -1
  16. package/lib/callgraph/pointerAnalysis/Context.js +0 -1
  17. package/lib/callgraph/pointerAnalysis/Pag.d.ts.map +1 -1
  18. package/lib/callgraph/pointerAnalysis/Pag.js +26 -26
  19. package/lib/callgraph/pointerAnalysis/PagBuilder.d.ts +3 -0
  20. package/lib/callgraph/pointerAnalysis/PagBuilder.d.ts.map +1 -1
  21. package/lib/callgraph/pointerAnalysis/PagBuilder.js +112 -92
  22. package/lib/callgraph/pointerAnalysis/PointerAnalysis.d.ts.map +1 -1
  23. package/lib/callgraph/pointerAnalysis/PointerAnalysis.js +15 -14
  24. package/lib/core/base/Type.d.ts +10 -1
  25. package/lib/core/base/Type.d.ts.map +1 -1
  26. package/lib/core/base/Type.js +18 -1
  27. package/lib/core/common/ArkValueTransformer.d.ts.map +1 -1
  28. package/lib/core/common/ArkValueTransformer.js +3 -1
  29. package/lib/core/common/DummyMainCreater.d.ts.map +1 -1
  30. package/lib/core/common/DummyMainCreater.js +17 -20
  31. package/lib/core/common/IRInference.d.ts.map +1 -1
  32. package/lib/core/common/IRInference.js +18 -10
  33. package/lib/core/common/TypeInference.d.ts.map +1 -1
  34. package/lib/core/common/TypeInference.js +12 -1
  35. package/lib/core/dataflow/DataflowSolver.d.ts +1 -0
  36. package/lib/core/dataflow/DataflowSolver.d.ts.map +1 -1
  37. package/lib/core/dataflow/DataflowSolver.js +21 -17
  38. package/lib/core/dataflow/ReachingDef.d.ts.map +1 -1
  39. package/lib/core/dataflow/ReachingDef.js +6 -0
  40. package/lib/core/dataflow/UndefinedVariable.d.ts.map +1 -1
  41. package/lib/core/dataflow/UndefinedVariable.js +0 -25
  42. package/lib/core/graph/Cfg.d.ts +1 -0
  43. package/lib/core/graph/Cfg.d.ts.map +1 -1
  44. package/lib/core/graph/Cfg.js +49 -45
  45. package/lib/core/graph/DominanceFinder.js +19 -19
  46. package/lib/core/graph/builder/ViewTreeBuilder.d.ts +1 -0
  47. package/lib/core/graph/builder/ViewTreeBuilder.d.ts.map +1 -1
  48. package/lib/core/graph/builder/ViewTreeBuilder.js +34 -31
  49. package/lib/core/model/ArkMethod.d.ts.map +1 -1
  50. package/lib/core/model/ArkMethod.js +13 -6
  51. package/lib/core/model/builder/builderUtils.d.ts.map +1 -1
  52. package/lib/core/model/builder/builderUtils.js +72 -63
  53. package/lib/save/serializeArkIR.d.ts.map +1 -1
  54. package/lib/save/serializeArkIR.js +11 -24
  55. package/lib/save/source/SourceBody.js +10 -10
  56. package/lib/save/source/SourceFilePrinter.d.ts +1 -0
  57. package/lib/save/source/SourceFilePrinter.d.ts.map +1 -1
  58. package/lib/save/source/SourceFilePrinter.js +11 -8
  59. package/lib/save/source/SourceNamespace.d.ts +1 -0
  60. package/lib/save/source/SourceNamespace.d.ts.map +1 -1
  61. package/lib/save/source/SourceNamespace.js +11 -8
  62. package/lib/save/source/SourceStmt.d.ts +1 -0
  63. package/lib/save/source/SourceStmt.d.ts.map +1 -1
  64. package/lib/save/source/SourceStmt.js +37 -35
  65. package/lib/save/source/SourceTransformer.d.ts +2 -0
  66. package/lib/save/source/SourceTransformer.d.ts.map +1 -1
  67. package/lib/save/source/SourceTransformer.js +64 -54
  68. package/lib/transformer/StaticSingleAssignmentFormer.d.ts +5 -0
  69. package/lib/transformer/StaticSingleAssignmentFormer.d.ts.map +1 -1
  70. package/lib/transformer/StaticSingleAssignmentFormer.js +119 -101
  71. package/lib/utils/CfgStructualAnalysis.d.ts +1 -0
  72. package/lib/utils/CfgStructualAnalysis.d.ts.map +1 -1
  73. package/lib/utils/CfgStructualAnalysis.js +28 -24
  74. package/lib/utils/FileUtils.d.ts.map +1 -1
  75. package/lib/utils/FileUtils.js +14 -12
  76. package/lib/utils/callGraphUtils.d.ts.map +1 -1
  77. package/lib/utils/callGraphUtils.js +26 -23
  78. package/lib/utils/entryMethodUtils.d.ts.map +1 -1
  79. package/lib/utils/entryMethodUtils.js +11 -8
  80. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"SourceStmt.d.ts","sourceRoot":"","sources":["../../../src/save/source/SourceStmt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SourceStmt.d.ts","sourceRoot":"","sources":["../../../src/save/source/SourceStmt.ts"],"names":[],"mappings":"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"}
@@ -188,36 +188,35 @@ class SourceAssignStmt extends SourceStmt {
188
188
  }
189
189
  if (this.context.hasTempVisit(this.leftCode)) {
190
190
  this.setText('');
191
+ return;
191
192
  }
192
193
  else if (PrinterUtils_1.PrinterUtils.isTemp(this.leftCode)) {
193
194
  this.setText(`${this.rightCode};`);
195
+ return;
194
196
  }
195
- else {
196
- if (this.leftOp instanceof Local_1.Local &&
197
- this.context.getLocals().has(this.leftOp.getName()) &&
198
- !this.isLocalTempValue(this.leftOp)) {
199
- if (this.context.isLocalDefined(this.leftOp)) {
200
- this.setText(`${this.leftCode} = ${this.rightCode};`);
197
+ if (this.leftOp instanceof Local_1.Local &&
198
+ this.context.getLocals().has(this.leftOp.getName()) &&
199
+ !this.isLocalTempValue(this.leftOp)) {
200
+ if (this.context.isLocalDefined(this.leftOp)) {
201
+ this.setText(`${this.leftCode} = ${this.rightCode};`);
202
+ return;
203
+ }
204
+ let flag = this.leftOp.getConstFlag() ? 'const' : 'let';
205
+ if (this.context.getArkFile().getExportInfoBy(this.leftCode) && this.context.isInDefaultMethod()) {
206
+ this.setText(`export ${flag} ${this.leftCode} = ${this.rightCode};`);
207
+ }
208
+ else {
209
+ if (this.leftTypeCode.length > 0) {
210
+ this.setText(`${flag} ${this.leftCode}: ${this.leftTypeCode} = ${this.rightCode};`);
201
211
  }
202
212
  else {
203
- let flag = this.leftOp.getConstFlag() ? 'const' : 'let';
204
- if (this.context.getArkFile().getExportInfoBy(this.leftCode) && this.context.isInDefaultMethod()) {
205
- this.setText(`export ${flag} ${this.leftCode} = ${this.rightCode};`);
206
- }
207
- else {
208
- if (this.leftTypeCode.length > 0) {
209
- this.setText(`${flag} ${this.leftCode}: ${this.leftTypeCode} = ${this.rightCode};`);
210
- }
211
- else {
212
- this.setText(`${flag} ${this.leftCode} = ${this.rightCode};`);
213
- }
214
- }
215
- this.context.defineLocal(this.leftOp);
213
+ this.setText(`${flag} ${this.leftCode} = ${this.rightCode};`);
216
214
  }
217
215
  }
218
- else {
219
- this.setText(`${this.leftCode} = ${this.rightCode};`);
220
- }
216
+ this.context.defineLocal(this.leftOp);
217
+ }
218
+ else {
219
+ this.setText(`${this.leftCode} = ${this.rightCode};`);
221
220
  }
222
221
  }
223
222
  afterDump() {
@@ -249,19 +248,7 @@ class SourceAssignStmt extends SourceStmt {
249
248
  let instanceInvokeExpr = stmt.getInvokeExpr();
250
249
  if ('constructor' === instanceInvokeExpr.getMethodSignature().getMethodSubSignature().getMethodName() &&
251
250
  instanceInvokeExpr.getBase().getName() === this.leftOp.getName()) {
252
- let args = [];
253
- instanceInvokeExpr.getArgs().forEach((v) => {
254
- args.push(this.transformer.valueToString(v));
255
- });
256
- if (originType === PrinterUtils_1.CLASS_CATEGORY_COMPONENT) {
257
- this.rightCode = `${this.transformer.typeToString(this.rightOp.getType())}(${args.join(', ')})`;
258
- }
259
- else if (originType === ArkClass_1.ClassCategory.TYPE_LITERAL || originType === ArkClass_1.ClassCategory.OBJECT) {
260
- this.rightCode = `${this.transformer.literalObjectToString(this.rightOp.getType())}`;
261
- }
262
- else {
263
- this.rightCode = `new ${this.transformer.typeToString(this.rightOp.getType())}(${args.join(', ')})`;
264
- }
251
+ this.handleConstructorInvoke(instanceInvokeExpr, originType);
265
252
  return;
266
253
  }
267
254
  }
@@ -279,6 +266,21 @@ class SourceAssignStmt extends SourceStmt {
279
266
  this.rightCode = `new ${this.transformer.typeToString(this.rightOp.getType())}()`;
280
267
  }
281
268
  }
269
+ handleConstructorInvoke(instanceInvokeExpr, originType) {
270
+ let args = [];
271
+ instanceInvokeExpr.getArgs().forEach((v) => {
272
+ args.push(this.transformer.valueToString(v));
273
+ });
274
+ if (originType === PrinterUtils_1.CLASS_CATEGORY_COMPONENT) {
275
+ this.rightCode = `${this.transformer.typeToString(this.rightOp.getType())}(${args.join(', ')})`;
276
+ }
277
+ else if (originType === ArkClass_1.ClassCategory.TYPE_LITERAL || originType === ArkClass_1.ClassCategory.OBJECT) {
278
+ this.rightCode = `${this.transformer.literalObjectToString(this.rightOp.getType())}`;
279
+ }
280
+ else {
281
+ this.rightCode = `new ${this.transformer.typeToString(this.rightOp.getType())}(${args.join(', ')})`;
282
+ }
283
+ }
282
284
  /**
283
285
  * $temp0 = newarray[4]
284
286
  * $temp0[0] = 1
@@ -25,6 +25,7 @@ export declare class SourceTransformer {
25
25
  private anonymousMethodToString;
26
26
  private anonymousClassToString;
27
27
  instanceInvokeExprToString(invokeExpr: ArkInstanceInvokeExpr): string;
28
+ private transBuilderMethod;
28
29
  staticInvokeExprToString(invokeExpr: ArkStaticInvokeExpr): string;
29
30
  private genericTypesToString;
30
31
  typeArrayToString(types: Type[], split?: string): string;
@@ -32,6 +33,7 @@ export declare class SourceTransformer {
32
33
  private exprToString;
33
34
  refToString(value: AbstractRef): string;
34
35
  valueToString(value: Value, operator?: string): string;
36
+ private localToString;
35
37
  literalObjectToString(type: ClassType): string;
36
38
  typeToString(type: Type): string;
37
39
  private literalType2string;
@@ -1 +1 @@
1
- {"version":3,"file":"SourceTransformer.d.ts","sourceRoot":"","sources":["../../../src/save/source/SourceTransformer.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAMH,qBAAqB,EAKrB,mBAAmB,EAKtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAiB,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAI7C,OAAO,EAGH,SAAS,EAQT,IAAI,EAKP,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAmE,MAAM,qBAAqB,CAAC;AACnH,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AASnD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAU7D,MAAM,WAAW,kBAAkB;IAC/B,UAAU,IAAI,OAAO,CAAC;IAEtB,wBAAwB,IAAI,YAAY,GAAG,SAAS,CAAC;IAErD,SAAS,CAAC,SAAS,EAAE,eAAe,GAAG,SAAS,GAAG,IAAI,CAAC;IAExD,QAAQ,CAAC,SAAS,EAAE,cAAc,GAAG,QAAQ,GAAG,IAAI,CAAC;IAErD,UAAU,IAAI,aAAa,CAAC;IAE5B,cAAc,CAAC,IAAI,EAAE,KAAK,GAAG,MAAM,CAAC;IAEpC,iBAAiB,IAAI,OAAO,CAAC;CAChC;AAED,qBAAa,iBAAiB;IAC1B,SAAS,CAAC,OAAO,EAAE,kBAAkB,CAAC;gBAE1B,OAAO,EAAE,kBAAkB;IAIvC,OAAO,CAAC,uBAAuB;IAM/B,OAAO,CAAC,sBAAsB;IAKvB,0BAA0B,CAAC,UAAU,EAAE,qBAAqB,GAAG,MAAM;IAkBrE,wBAAwB,CAAC,UAAU,EAAE,mBAAmB,GAAG,MAAM;IA4DxE,OAAO,CAAC,oBAAoB;IAYrB,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,KAAK,GAAE,MAAa,GAAG,MAAM;WASvD,aAAa,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM;IAUpD,OAAO,CAAC,YAAY;IA2Db,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM;IA8BvC,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM;IAiDtD,qBAAqB,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM;IAW9C,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IA+DvC,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,mBAAmB;IAgB3B,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,oBAAoB;IAmB5B,OAAO,CAAC,2BAA2B;IAQnC,OAAO,CAAC,gBAAgB;CAkB3B"}
1
+ {"version":3,"file":"SourceTransformer.d.ts","sourceRoot":"","sources":["../../../src/save/source/SourceTransformer.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAMH,qBAAqB,EAKrB,mBAAmB,EAKtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAiB,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAI7C,OAAO,EAGH,SAAS,EAQT,IAAI,EAKP,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAmE,MAAM,qBAAqB,CAAC;AACnH,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AASnD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAU7D,MAAM,WAAW,kBAAkB;IAC/B,UAAU,IAAI,OAAO,CAAC;IAEtB,wBAAwB,IAAI,YAAY,GAAG,SAAS,CAAC;IAErD,SAAS,CAAC,SAAS,EAAE,eAAe,GAAG,SAAS,GAAG,IAAI,CAAC;IAExD,QAAQ,CAAC,SAAS,EAAE,cAAc,GAAG,QAAQ,GAAG,IAAI,CAAC;IAErD,UAAU,IAAI,aAAa,CAAC;IAE5B,cAAc,CAAC,IAAI,EAAE,KAAK,GAAG,MAAM,CAAC;IAEpC,iBAAiB,IAAI,OAAO,CAAC;CAChC;AAED,qBAAa,iBAAiB;IAC1B,SAAS,CAAC,OAAO,EAAE,kBAAkB,CAAC;gBAE1B,OAAO,EAAE,kBAAkB;IAIvC,OAAO,CAAC,uBAAuB;IAM/B,OAAO,CAAC,sBAAsB;IAKvB,0BAA0B,CAAC,UAAU,EAAE,qBAAqB,GAAG,MAAM;IAkB5E,OAAO,CAAC,kBAAkB;IAwCnB,wBAAwB,CAAC,UAAU,EAAE,mBAAmB,GAAG,MAAM;IA8BxE,OAAO,CAAC,oBAAoB;IAYrB,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,KAAK,GAAE,MAAa,GAAG,MAAM;WASvD,aAAa,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM;IAUpD,OAAO,CAAC,YAAY;IA2Db,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM;IA8BvC,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM;IAqB7D,OAAO,CAAC,aAAa;IAgCd,qBAAqB,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM;IAW9C,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IA+DvC,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,mBAAmB;IAgB3B,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,oBAAoB;IAmB5B,OAAO,CAAC,2BAA2B;IAQnC,OAAO,CAAC,gBAAgB;CAkB3B"}
@@ -88,6 +88,41 @@ class SourceTransformer {
88
88
  }
89
89
  return `${this.valueToString(invokeExpr.getBase())}.${methodName}${genericCode}(${args.join(', ')})`;
90
90
  }
91
+ transBuilderMethod(className, methodName, args, invokeExpr, genericCode) {
92
+ if (className === EtsConst_1.COMPONENT_CUSTOMVIEW) {
93
+ if (methodName === EtsConst_1.COMPONENT_CREATE_FUNCTION) {
94
+ // Anonymous @Builder method
95
+ if (args.length > 1) {
96
+ // remove the substring '() =>' or '(x, y): type =>' at the beginning of args[1]
97
+ const pattern = /^\([^)]*\)\s*:\s*\w*\s*=>\s*/;
98
+ args[1] = args[1].replace(pattern, '');
99
+ }
100
+ return `${args.join(' ')}`;
101
+ }
102
+ if (methodName === EtsConst_1.COMPONENT_POP_FUNCTION) {
103
+ return '';
104
+ }
105
+ }
106
+ if (PrinterUtils_1.PrinterUtils.isComponentCreate(invokeExpr)) {
107
+ if (className === EtsConst_1.COMPONENT_IF) {
108
+ return `if (${args.join(', ')})`;
109
+ }
110
+ return `${className}${genericCode}(${args.join(', ')})`;
111
+ }
112
+ if (PrinterUtils_1.PrinterUtils.isComponentIfBranchInvoke(invokeExpr)) {
113
+ let arg0 = invokeExpr.getArg(0);
114
+ if (arg0.getValue() === '0') {
115
+ return ``;
116
+ }
117
+ else {
118
+ return '} else {';
119
+ }
120
+ }
121
+ if (PrinterUtils_1.PrinterUtils.isComponentPop(invokeExpr)) {
122
+ return '}';
123
+ }
124
+ return null;
125
+ }
91
126
  staticInvokeExprToString(invokeExpr) {
92
127
  let methodSignature = invokeExpr.getMethodSignature();
93
128
  let method = this.context.getMethod(methodSignature);
@@ -103,37 +138,9 @@ class SourceTransformer {
103
138
  });
104
139
  let genericCode = this.genericTypesToString(invokeExpr.getRealGenericTypes());
105
140
  if (this.context.isInBuilderMethod()) {
106
- if (className === EtsConst_1.COMPONENT_CUSTOMVIEW) {
107
- if (methodName === EtsConst_1.COMPONENT_CREATE_FUNCTION) {
108
- // Anonymous @Builder method
109
- if (args.length > 1) {
110
- // remove the substring '() =>' or '(x, y): type =>' at the beginning of args[1]
111
- const pattern = /^\([^)]*\)\s*:\s*\w*\s*=>\s*/;
112
- args[1] = args[1].replace(pattern, '');
113
- }
114
- return `${args.join(' ')}`;
115
- }
116
- if (methodName === EtsConst_1.COMPONENT_POP_FUNCTION) {
117
- return '';
118
- }
119
- }
120
- if (PrinterUtils_1.PrinterUtils.isComponentCreate(invokeExpr)) {
121
- if (className === EtsConst_1.COMPONENT_IF) {
122
- return `if (${args.join(', ')})`;
123
- }
124
- return `${className}${genericCode}(${args.join(', ')})`;
125
- }
126
- if (PrinterUtils_1.PrinterUtils.isComponentIfBranchInvoke(invokeExpr)) {
127
- let arg0 = invokeExpr.getArg(0);
128
- if (arg0.getValue() === '0') {
129
- return ``;
130
- }
131
- else {
132
- return '} else {';
133
- }
134
- }
135
- if (PrinterUtils_1.PrinterUtils.isComponentPop(invokeExpr)) {
136
- return '}';
141
+ const res = this.transBuilderMethod(className, methodName, args, invokeExpr, genericCode);
142
+ if (res !== null) {
143
+ return res;
137
144
  }
138
145
  }
139
146
  if (className && className.length > 0 && methodName !== TSConst_1.SUPER_NAME) {
@@ -248,34 +255,37 @@ class SourceTransformer {
248
255
  return SourceTransformer.constToString(value);
249
256
  }
250
257
  if (value instanceof Local_1.Local) {
251
- if (PrinterUtils_1.PrinterUtils.isAnonymousMethod(value.getName())) {
252
- let methodSignature = value.getType().getMethodSignature();
253
- let anonymousMethod = this.context.getMethod(methodSignature);
254
- if (anonymousMethod) {
255
- return this.anonymousMethodToString(anonymousMethod, this.context.getPrinter().getIndent());
256
- }
258
+ return this.localToString(value, operator);
259
+ }
260
+ logger.info(`valueToString ${value.constructor} not support.`);
261
+ return `${value}`;
262
+ }
263
+ localToString(value, operator) {
264
+ if (PrinterUtils_1.PrinterUtils.isAnonymousMethod(value.getName())) {
265
+ let methodSignature = value.getType().getMethodSignature();
266
+ let anonymousMethod = this.context.getMethod(methodSignature);
267
+ if (anonymousMethod) {
268
+ return this.anonymousMethodToString(anonymousMethod, this.context.getPrinter().getIndent());
257
269
  }
258
- if (PrinterUtils_1.PrinterUtils.isAnonymousClass(value.getName())) {
259
- let clsSignature = value.getType().getClassSignature();
260
- let cls = this.context.getClass(clsSignature);
261
- if (cls) {
262
- return this.anonymousClassToString(cls, this.context.getPrinter().getIndent());
263
- }
270
+ }
271
+ if (PrinterUtils_1.PrinterUtils.isAnonymousClass(value.getName())) {
272
+ let clsSignature = value.getType().getClassSignature();
273
+ let cls = this.context.getClass(clsSignature);
274
+ if (cls) {
275
+ return this.anonymousClassToString(cls, this.context.getPrinter().getIndent());
264
276
  }
265
- if (operator === Expr_1.NormalBinaryOperator.Division ||
266
- operator === Expr_1.NormalBinaryOperator.Multiplication ||
267
- operator === Expr_1.NormalBinaryOperator.Remainder) {
268
- if (PrinterUtils_1.PrinterUtils.isTemp(value.getName())) {
269
- let stmt = value.getDeclaringStmt();
270
- if (stmt instanceof Stmt_1.ArkAssignStmt && stmt.getRightOp() instanceof Expr_1.ArkNormalBinopExpr) {
271
- return `(${this.context.transTemp2Code(value)})`;
272
- }
277
+ }
278
+ if (operator === Expr_1.NormalBinaryOperator.Division ||
279
+ operator === Expr_1.NormalBinaryOperator.Multiplication ||
280
+ operator === Expr_1.NormalBinaryOperator.Remainder) {
281
+ if (PrinterUtils_1.PrinterUtils.isTemp(value.getName())) {
282
+ let stmt = value.getDeclaringStmt();
283
+ if (stmt instanceof Stmt_1.ArkAssignStmt && stmt.getRightOp() instanceof Expr_1.ArkNormalBinopExpr) {
284
+ return `(${this.context.transTemp2Code(value)})`;
273
285
  }
274
286
  }
275
- return this.context.transTemp2Code(value);
276
287
  }
277
- logger.info(`valueToString ${value.constructor} not support.`);
278
- return `${value}`;
288
+ return this.context.transTemp2Code(value);
279
289
  }
280
290
  literalObjectToString(type) {
281
291
  let name = type.getClassSignature().getClassName();
@@ -1,9 +1,14 @@
1
1
  import { ArkBody } from '../core/model/ArkBody';
2
2
  export declare class StaticSingleAssignmentFormer {
3
3
  transformBody(body: ArkBody): void;
4
+ private transformStmt;
4
5
  private decideBlockToPhiStmts;
6
+ private handleDf;
7
+ private handleBlockWithSucc;
5
8
  private addPhiStmts;
9
+ private renameUseAndDef;
6
10
  private renameLocals;
11
+ private removeVisitedTree;
7
12
  private constainsPhiExpr;
8
13
  private getOriginalLocal;
9
14
  private addNewArgToPhi;
@@ -1 +1 @@
1
- {"version":3,"file":"StaticSingleAssignmentFormer.d.ts","sourceRoot":"","sources":["../../src/transformer/StaticSingleAssignmentFormer.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEhD,qBAAa,4BAA4B;IAC9B,aAAa,CAAC,IAAI,EAAE,OAAO;IAgClC,OAAO,CAAC,qBAAqB;IA2C7B,OAAO,CAAC,WAAW;IAsCnB,OAAO,CAAC,YAAY;IAwFpB,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,kBAAkB;CAI7B"}
1
+ {"version":3,"file":"StaticSingleAssignmentFormer.d.ts","sourceRoot":"","sources":["../../src/transformer/StaticSingleAssignmentFormer.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEhD,qBAAa,4BAA4B;IAC9B,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAqBzC,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,qBAAqB;IAuB7B,OAAO,CAAC,QAAQ;IA4BhB,OAAO,CAAC,mBAAmB;IAkB3B,OAAO,CAAC,WAAW;IA4BnB,OAAO,CAAC,eAAe;IA8BvB,OAAO,CAAC,YAAY;IA8CpB,OAAO,CAAC,iBAAiB;IAwBzB,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,kBAAkB;CAI7B"}
@@ -22,25 +22,13 @@ const DominanceFinder_1 = require("../core/graph/DominanceFinder");
22
22
  const DominanceTree_1 = require("../core/graph/DominanceTree");
23
23
  class StaticSingleAssignmentFormer {
24
24
  transformBody(body) {
25
- var _a;
26
25
  let cfg = body.getCfg();
27
26
  let blockToDefs = new Map();
28
27
  let localToBlocks = new Map();
29
28
  for (const block of cfg.getBlocks()) {
30
29
  let defs = new Set();
31
30
  for (const stmt of block.getStmts()) {
32
- if (stmt.getDef() != null && stmt.getDef() instanceof Local_1.Local) {
33
- let local = stmt.getDef();
34
- defs.add(local);
35
- if (localToBlocks.has(local)) {
36
- (_a = localToBlocks.get(local)) === null || _a === void 0 ? void 0 : _a.add(block);
37
- }
38
- else {
39
- let blcoks = new Set();
40
- blcoks.add(block);
41
- localToBlocks.set(local, blcoks);
42
- }
43
- }
31
+ this.transformStmt(stmt, defs, localToBlocks, block);
44
32
  }
45
33
  blockToDefs.set(block, defs);
46
34
  }
@@ -50,8 +38,22 @@ class StaticSingleAssignmentFormer {
50
38
  let dominanceTree = new DominanceTree_1.DominanceTree(dominanceFinder);
51
39
  this.renameLocals(body, dominanceTree, blockToPhiStmts);
52
40
  }
41
+ transformStmt(stmt, defs, localToBlocks, block) {
42
+ var _a;
43
+ if (stmt.getDef() != null && stmt.getDef() instanceof Local_1.Local) {
44
+ let local = stmt.getDef();
45
+ defs.add(local);
46
+ if (localToBlocks.has(local)) {
47
+ (_a = localToBlocks.get(local)) === null || _a === void 0 ? void 0 : _a.add(block);
48
+ }
49
+ else {
50
+ let blcoks = new Set();
51
+ blcoks.add(block);
52
+ localToBlocks.set(local, blcoks);
53
+ }
54
+ }
55
+ }
53
56
  decideBlockToPhiStmts(body, dominanceFinder, blockToDefs, localToBlocks) {
54
- var _a, _b, _c, _d;
55
57
  let blockToPhiStmts = new Map();
56
58
  let blockToPhiLocals = new Map();
57
59
  let localToPhiBlock = new Map();
@@ -63,50 +65,57 @@ class StaticSingleAssignmentFormer {
63
65
  let block = blocks.splice(0, 1).at(0);
64
66
  let dfs = dominanceFinder.getDominanceFrontiers(block);
65
67
  for (const df of dfs) {
66
- if (!phiBlocks.has(df)) {
67
- phiBlocks.add(df);
68
- let phiStmt = this.createEmptyPhiStmt(local);
69
- if (blockToPhiStmts.has(df)) {
70
- (_a = blockToPhiStmts.get(df)) === null || _a === void 0 ? void 0 : _a.add(phiStmt);
71
- (_b = blockToPhiLocals.get(df)) === null || _b === void 0 ? void 0 : _b.add(local);
72
- }
73
- else {
74
- let phiStmts = new Set();
75
- phiStmts.add(phiStmt);
76
- blockToPhiStmts.set(df, phiStmts);
77
- let phiLocals = new Set();
78
- phiLocals.add(local);
79
- blockToPhiLocals.set(df, phiLocals);
80
- }
81
- (_c = blockToDefs.get(df)) === null || _c === void 0 ? void 0 : _c.add(local);
82
- if (!((_d = blockToDefs.get(df)) === null || _d === void 0 ? void 0 : _d.has(local))) {
83
- blocks.push(df);
84
- }
85
- }
68
+ this.handleDf(blockToPhiStmts, blockToPhiLocals, phiBlocks, df, local, blockToDefs, blocks);
86
69
  }
87
70
  }
88
71
  }
89
72
  return blockToPhiStmts;
90
73
  }
91
- addPhiStmts(blockToPhiStmts, cfg, blockToDefs) {
74
+ handleDf(blockToPhiStmts, blockToPhiLocals, phiBlocks, df, local, blockToDefs, blocks) {
75
+ var _a, _b, _c, _d;
76
+ if (!phiBlocks.has(df)) {
77
+ phiBlocks.add(df);
78
+ let phiStmt = this.createEmptyPhiStmt(local);
79
+ if (blockToPhiStmts.has(df)) {
80
+ (_a = blockToPhiStmts.get(df)) === null || _a === void 0 ? void 0 : _a.add(phiStmt);
81
+ (_b = blockToPhiLocals.get(df)) === null || _b === void 0 ? void 0 : _b.add(local);
82
+ }
83
+ else {
84
+ let phiStmts = new Set();
85
+ phiStmts.add(phiStmt);
86
+ blockToPhiStmts.set(df, phiStmts);
87
+ let phiLocals = new Set();
88
+ phiLocals.add(local);
89
+ blockToPhiLocals.set(df, phiLocals);
90
+ }
91
+ (_c = blockToDefs.get(df)) === null || _c === void 0 ? void 0 : _c.add(local);
92
+ if (!((_d = blockToDefs.get(df)) === null || _d === void 0 ? void 0 : _d.has(local))) {
93
+ blocks.push(df);
94
+ }
95
+ }
96
+ }
97
+ handleBlockWithSucc(blockToPhiStmts, succ, blockToDefs, block, phiArgsNum) {
92
98
  var _a;
99
+ for (const phi of blockToPhiStmts.get(succ)) {
100
+ let local = phi.getDef();
101
+ if ((_a = blockToDefs.get(block)) === null || _a === void 0 ? void 0 : _a.has(local)) {
102
+ if (phiArgsNum.has(phi)) {
103
+ let num = phiArgsNum.get(phi);
104
+ phiArgsNum.set(phi, num + 1);
105
+ }
106
+ else {
107
+ phiArgsNum.set(phi, 1);
108
+ }
109
+ }
110
+ }
111
+ }
112
+ addPhiStmts(blockToPhiStmts, cfg, blockToDefs) {
93
113
  let phiArgsNum = new Map();
94
114
  for (const block of cfg.getBlocks()) {
95
115
  let succs = Array.from(block.getSuccessors());
96
116
  for (const succ of succs) {
97
117
  if (blockToPhiStmts.has(succ)) {
98
- for (const phi of blockToPhiStmts.get(succ)) {
99
- let local = phi.getDef();
100
- if ((_a = blockToDefs.get(block)) === null || _a === void 0 ? void 0 : _a.has(local)) {
101
- if (phiArgsNum.has(phi)) {
102
- let num = phiArgsNum.get(phi);
103
- phiArgsNum.set(phi, num + 1);
104
- }
105
- else {
106
- phiArgsNum.set(phi, 1);
107
- }
108
- }
109
- }
118
+ this.handleBlockWithSucc(blockToPhiStmts, succ, blockToDefs, block, phiArgsNum);
110
119
  }
111
120
  }
112
121
  }
@@ -123,8 +132,35 @@ class StaticSingleAssignmentFormer {
123
132
  }
124
133
  }
125
134
  }
135
+ renameUseAndDef(stmt, localToNameStack, nextFreeIdx, newLocals, newPhiStmts) {
136
+ var _a;
137
+ let uses = stmt.getUses();
138
+ if (uses.length > 0 && !this.constainsPhiExpr(stmt)) {
139
+ for (const use of uses) {
140
+ if (use instanceof Local_1.Local) {
141
+ let nameStack = localToNameStack.get(use);
142
+ let newUse = nameStack[nameStack.length - 1];
143
+ stmt.replaceUse(use, newUse);
144
+ }
145
+ }
146
+ }
147
+ // rename def
148
+ let def = stmt.getDef();
149
+ if (def != null && def instanceof Local_1.Local) {
150
+ let newName = def.getName() + '#' + nextFreeIdx;
151
+ nextFreeIdx++;
152
+ let newDef = new Local_1.Local(newName);
153
+ newDef.setOriginalValue(def);
154
+ newLocals.add(newDef);
155
+ (_a = localToNameStack.get(def)) === null || _a === void 0 ? void 0 : _a.push(newDef);
156
+ stmt.setLeftOp(newDef);
157
+ if (this.constainsPhiExpr(stmt)) {
158
+ newPhiStmts.add(stmt);
159
+ }
160
+ }
161
+ return nextFreeIdx;
162
+ }
126
163
  renameLocals(body, dominanceTree, blockToPhiStmts) {
127
- var _a, _b;
128
164
  let newLocals = new Set(body.getLocals().values());
129
165
  let localToNameStack = new Map();
130
166
  for (const local of newLocals) {
@@ -137,31 +173,8 @@ class StaticSingleAssignmentFormer {
137
173
  for (const block of dfsBlocks) {
138
174
  let newPhiStmts = new Set();
139
175
  for (const stmt of block.getStmts()) {
140
- // rename uses
141
- let uses = stmt.getUses();
142
- if (uses.length > 0 && !this.constainsPhiExpr(stmt)) {
143
- for (const use of uses) {
144
- if (use instanceof Local_1.Local) {
145
- let nameStack = localToNameStack.get(use);
146
- let newUse = nameStack[nameStack.length - 1];
147
- stmt.replaceUse(use, newUse);
148
- }
149
- }
150
- }
151
- // rename def
152
- let def = stmt.getDef();
153
- if (def != null && def instanceof Local_1.Local) {
154
- let newName = def.getName() + '#' + nextFreeIdx;
155
- nextFreeIdx++;
156
- let newDef = new Local_1.Local(newName);
157
- newDef.setOriginalValue(def);
158
- newLocals.add(newDef);
159
- (_a = localToNameStack.get(def)) === null || _a === void 0 ? void 0 : _a.push(newDef);
160
- stmt.setLeftOp(newDef);
161
- if (this.constainsPhiExpr(stmt)) {
162
- newPhiStmts.add(stmt);
163
- }
164
- }
176
+ // rename uses and def
177
+ nextFreeIdx = this.renameUseAndDef(stmt, localToNameStack, nextFreeIdx, newLocals, newPhiStmts);
165
178
  }
166
179
  visited.add(block);
167
180
  blockStack.push(block);
@@ -171,40 +184,45 @@ class StaticSingleAssignmentFormer {
171
184
  // rename phiStmts' args
172
185
  let succs = Array.from(block.getSuccessors());
173
186
  for (const succ of succs) {
174
- if (blockToPhiStmts.has(succ)) {
175
- let phiStmts = blockToPhiStmts.get(succ);
176
- for (const phiStmt of phiStmts) {
177
- let def = phiStmt.getDef();
178
- let oriDef = this.getOriginalLocal(def, new Set(localToNameStack.keys()));
179
- let nameStack = localToNameStack.get(oriDef);
180
- let arg = nameStack[nameStack.length - 1];
181
- this.addNewArgToPhi(phiStmt, arg, block);
182
- }
187
+ if (!blockToPhiStmts.has(succ)) {
188
+ continue;
189
+ }
190
+ let phiStmts = blockToPhiStmts.get(succ);
191
+ for (const phiStmt of phiStmts) {
192
+ let def = phiStmt.getDef();
193
+ let oriDef = this.getOriginalLocal(def, new Set(localToNameStack.keys()));
194
+ let nameStack = localToNameStack.get(oriDef);
195
+ let arg = nameStack[nameStack.length - 1];
196
+ this.addNewArgToPhi(phiStmt, arg, block);
183
197
  }
184
198
  }
185
199
  // if a block's children in dominance tree are visited, remove it
186
- let top = blockStack[blockStack.length - 1];
187
- let children = dominanceTree.getChildren(top);
188
- while (this.containsAllChildren(visited, children)) {
189
- blockStack.pop();
190
- for (const stmt of top.getStmts()) {
191
- let def = stmt.getDef();
192
- if (def != null && def instanceof Local_1.Local) {
193
- let oriDef = this.getOriginalLocal(def, new Set(localToNameStack.keys()));
194
- (_b = localToNameStack.get(oriDef)) === null || _b === void 0 ? void 0 : _b.pop();
195
- }
196
- }
197
- // next block to check
198
- if (blockStack.length > 0) {
199
- top = blockStack[blockStack.length - 1];
200
- children = dominanceTree.getChildren(top);
201
- }
202
- else {
203
- break;
200
+ this.removeVisitedTree(blockStack, dominanceTree, visited, localToNameStack);
201
+ }
202
+ body.setLocals(newLocals);
203
+ }
204
+ removeVisitedTree(blockStack, dominanceTree, visited, localToNameStack) {
205
+ var _a;
206
+ let top = blockStack[blockStack.length - 1];
207
+ let children = dominanceTree.getChildren(top);
208
+ while (this.containsAllChildren(visited, children)) {
209
+ blockStack.pop();
210
+ for (const stmt of top.getStmts()) {
211
+ let def = stmt.getDef();
212
+ if (def != null && def instanceof Local_1.Local) {
213
+ let oriDef = this.getOriginalLocal(def, new Set(localToNameStack.keys()));
214
+ (_a = localToNameStack.get(oriDef)) === null || _a === void 0 ? void 0 : _a.pop();
204
215
  }
205
216
  }
217
+ // next block to check
218
+ if (blockStack.length > 0) {
219
+ top = blockStack[blockStack.length - 1];
220
+ children = dominanceTree.getChildren(top);
221
+ }
222
+ else {
223
+ break;
224
+ }
206
225
  }
207
- body.setLocals(newLocals);
208
226
  }
209
227
  constainsPhiExpr(stmt) {
210
228
  if (stmt instanceof Stmt_1.ArkAssignStmt && stmt.getUses().length > 0) {
@@ -32,6 +32,7 @@ export declare class AbstractFlowGraph {
32
32
  private structuralAnalysis;
33
33
  private dfsPostOrder;
34
34
  private buildCyclicStructural;
35
+ private handleRegion;
35
36
  private prepareBuildLoops;
36
37
  private buildDominator;
37
38
  private getBackEdges;
@@ -1 +1 @@
1
- {"version":3,"file":"CfgStructualAnalysis.d.ts","sourceRoot":"","sources":["../../src/utils/CfgStructualAnalysis.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CfgStructualAnalysis.d.ts","sourceRoot":"","sources":["../../src/utils/CfgStructualAnalysis.ts"],"names":[],"mappings":"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"}