arkanalyzer 1.0.16 → 1.0.18

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 (113) hide show
  1. package/lib/callgraph/pointerAnalysis/Pag.d.ts +1 -1
  2. package/lib/callgraph/pointerAnalysis/Pag.d.ts.map +1 -1
  3. package/lib/callgraph/pointerAnalysis/Pag.js +9 -0
  4. package/lib/callgraph/pointerAnalysis/PagBuilder.d.ts.map +1 -1
  5. package/lib/callgraph/pointerAnalysis/PagBuilder.js +6 -2
  6. package/lib/core/base/Decorator.d.ts +1 -0
  7. package/lib/core/base/Decorator.d.ts.map +1 -1
  8. package/lib/core/base/Decorator.js +4 -1
  9. package/lib/core/base/Type.d.ts +45 -3
  10. package/lib/core/base/Type.d.ts.map +1 -1
  11. package/lib/core/base/Type.js +84 -4
  12. package/lib/core/common/ArkIRTransformer.d.ts +1 -0
  13. package/lib/core/common/ArkIRTransformer.d.ts.map +1 -1
  14. package/lib/core/common/ArkIRTransformer.js +42 -23
  15. package/lib/core/common/ArkValueTransformer.d.ts +1 -0
  16. package/lib/core/common/ArkValueTransformer.d.ts.map +1 -1
  17. package/lib/core/common/ArkValueTransformer.js +45 -10
  18. package/lib/core/common/IRInference.d.ts.map +1 -1
  19. package/lib/core/common/IRInference.js +6 -0
  20. package/lib/core/common/ModelUtils.d.ts.map +1 -1
  21. package/lib/core/common/ModelUtils.js +5 -1
  22. package/lib/core/common/TypeInference.d.ts +1 -0
  23. package/lib/core/common/TypeInference.d.ts.map +1 -1
  24. package/lib/core/common/TypeInference.js +27 -8
  25. package/lib/core/{common → graph/builder}/CfgBuilder.d.ts +34 -46
  26. package/lib/core/graph/builder/CfgBuilder.d.ts.map +1 -0
  27. package/lib/core/graph/builder/CfgBuilder.js +1139 -0
  28. package/lib/core/graph/builder/ConditionBuilder.d.ts +16 -0
  29. package/lib/core/graph/builder/ConditionBuilder.d.ts.map +1 -0
  30. package/lib/core/graph/builder/ConditionBuilder.js +252 -0
  31. package/lib/core/graph/builder/LoopBuilder.d.ts +21 -0
  32. package/lib/core/graph/builder/LoopBuilder.d.ts.map +1 -0
  33. package/lib/core/graph/builder/LoopBuilder.js +251 -0
  34. package/lib/core/graph/builder/SwitchBuilder.d.ts +12 -0
  35. package/lib/core/graph/builder/SwitchBuilder.d.ts.map +1 -0
  36. package/lib/core/graph/builder/SwitchBuilder.js +152 -0
  37. package/lib/core/graph/builder/TrapBuilder.d.ts +17 -0
  38. package/lib/core/graph/builder/TrapBuilder.d.ts.map +1 -0
  39. package/lib/core/graph/builder/TrapBuilder.js +272 -0
  40. package/lib/core/model/ArkMethod.d.ts +1 -1
  41. package/lib/core/model/ArkMethod.js +1 -1
  42. package/lib/core/model/ArkSignature.d.ts +9 -1
  43. package/lib/core/model/ArkSignature.d.ts.map +1 -1
  44. package/lib/core/model/ArkSignature.js +17 -1
  45. package/lib/core/model/builder/ArkClassBuilder.d.ts.map +1 -1
  46. package/lib/core/model/builder/ArkClassBuilder.js +2 -1
  47. package/lib/core/model/builder/ArkMethodBuilder.js +1 -1
  48. package/lib/core/{common → model/builder}/BodyBuilder.d.ts +5 -5
  49. package/lib/core/model/builder/BodyBuilder.d.ts.map +1 -0
  50. package/lib/core/{common → model/builder}/BodyBuilder.js +12 -12
  51. package/lib/core/model/builder/builderUtils.d.ts.map +1 -1
  52. package/lib/core/model/builder/builderUtils.js +31 -5
  53. package/lib/save/JsonPrinter.d.ts +1 -1
  54. package/lib/save/JsonPrinter.d.ts.map +1 -1
  55. package/lib/save/JsonPrinter.js +2 -2
  56. package/lib/save/PrinterBuilder.d.ts +22 -0
  57. package/lib/save/PrinterBuilder.d.ts.map +1 -1
  58. package/lib/save/PrinterBuilder.js +54 -1
  59. package/lib/save/arkir/ArkIRClassPrinter.d.ts +14 -0
  60. package/lib/save/arkir/ArkIRClassPrinter.d.ts.map +1 -0
  61. package/lib/save/arkir/ArkIRClassPrinter.js +92 -0
  62. package/lib/save/arkir/ArkIRFieldPrinter.d.ts +12 -0
  63. package/lib/save/arkir/ArkIRFieldPrinter.d.ts.map +1 -0
  64. package/lib/save/arkir/ArkIRFieldPrinter.js +64 -0
  65. package/lib/save/arkir/ArkIRFilePrinter.d.ts +13 -0
  66. package/lib/save/arkir/ArkIRFilePrinter.d.ts.map +1 -0
  67. package/lib/save/arkir/ArkIRFilePrinter.js +54 -0
  68. package/lib/save/arkir/ArkIRMethodPrinter.d.ts +17 -0
  69. package/lib/save/arkir/ArkIRMethodPrinter.d.ts.map +1 -0
  70. package/lib/save/arkir/ArkIRMethodPrinter.js +159 -0
  71. package/lib/save/arkir/ArkIRNamespacePrinter.d.ts +12 -0
  72. package/lib/save/arkir/ArkIRNamespacePrinter.d.ts.map +1 -0
  73. package/lib/save/arkir/ArkIRNamespacePrinter.js +66 -0
  74. package/lib/save/base/BasePrinter.d.ts +24 -0
  75. package/lib/save/base/BasePrinter.d.ts.map +1 -0
  76. package/lib/save/base/BasePrinter.js +70 -0
  77. package/lib/save/base/ExportPrinter.d.ts +9 -0
  78. package/lib/save/base/ExportPrinter.d.ts.map +1 -0
  79. package/lib/save/base/ExportPrinter.js +67 -0
  80. package/lib/save/base/ImportPrinter.d.ts +10 -0
  81. package/lib/save/base/ImportPrinter.d.ts.map +1 -0
  82. package/lib/save/base/ImportPrinter.js +92 -0
  83. package/lib/save/{source/SourceUtils.d.ts → base/PrinterUtils.d.ts} +2 -2
  84. package/lib/save/{source/SourceUtils.d.ts.map → base/PrinterUtils.d.ts.map} +1 -1
  85. package/lib/save/{source/SourceUtils.js → base/PrinterUtils.js} +10 -10
  86. package/lib/save/source/SourceBase.d.ts +2 -11
  87. package/lib/save/source/SourceBase.d.ts.map +1 -1
  88. package/lib/save/source/SourceBase.js +3 -25
  89. package/lib/save/source/SourceBody.js +3 -3
  90. package/lib/save/source/SourceClass.d.ts +2 -1
  91. package/lib/save/source/SourceClass.d.ts.map +1 -1
  92. package/lib/save/source/SourceClass.js +18 -17
  93. package/lib/save/source/SourceFilePrinter.d.ts +1 -1
  94. package/lib/save/source/SourceFilePrinter.d.ts.map +1 -1
  95. package/lib/save/source/SourceFilePrinter.js +9 -10
  96. package/lib/save/source/SourceMethod.d.ts +1 -1
  97. package/lib/save/source/SourceMethod.d.ts.map +1 -1
  98. package/lib/save/source/SourceMethod.js +37 -22
  99. package/lib/save/source/SourceNamespace.d.ts.map +1 -1
  100. package/lib/save/source/SourceNamespace.js +6 -6
  101. package/lib/save/source/SourceStmt.d.ts +1 -1
  102. package/lib/save/source/SourceStmt.d.ts.map +1 -1
  103. package/lib/save/source/SourceStmt.js +29 -42
  104. package/lib/save/source/SourceTransformer.d.ts +3 -1
  105. package/lib/save/source/SourceTransformer.d.ts.map +1 -1
  106. package/lib/save/source/SourceTransformer.js +65 -29
  107. package/package.json +1 -1
  108. package/lib/core/common/BodyBuilder.d.ts.map +0 -1
  109. package/lib/core/common/CfgBuilder.d.ts.map +0 -1
  110. package/lib/core/common/CfgBuilder.js +0 -1886
  111. package/lib/save/source/SourceModule.d.ts +0 -16
  112. package/lib/save/source/SourceModule.d.ts.map +0 -1
  113. package/lib/save/source/SourceModule.js +0 -125
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  /*
3
- * Copyright (c) 2024 Huawei Device Co., Ltd.
3
+ * Copyright (c) 2024-2025 Huawei Device Co., Ltd.
4
4
  * Licensed under the Apache License, Version 2.0 (the "License");
5
5
  * you may not use this file except in compliance with the License.
6
6
  * You may obtain a copy of the License at
@@ -47,7 +47,7 @@ const Type_1 = require("../../core/base/Type");
47
47
  const logger_1 = __importStar(require("../../utils/logger"));
48
48
  const SourceBody_1 = require("./SourceBody");
49
49
  const SourceTransformer_1 = require("./SourceTransformer");
50
- const SourceUtils_1 = require("./SourceUtils");
50
+ const PrinterUtils_1 = require("../base/PrinterUtils");
51
51
  const ValueUtil_1 = require("../../core/common/ValueUtil");
52
52
  const ArkClass_1 = require("../../core/model/ArkClass");
53
53
  const ArkBaseModel_1 = require("../../core/model/ArkBaseModel");
@@ -108,7 +108,7 @@ class SourceStmt {
108
108
  if (!(value instanceof Local_1.Local)) {
109
109
  return false;
110
110
  }
111
- return SourceUtils_1.SourceUtils.isTemp(value.getName());
111
+ return PrinterUtils_1.PrinterUtils.isTemp(value.getName());
112
112
  }
113
113
  }
114
114
  exports.SourceStmt = SourceStmt;
@@ -144,11 +144,11 @@ class SourceAssignStmt extends SourceStmt {
144
144
  else if (this.leftOp instanceof Local_1.Local && this.rightOp instanceof Expr_1.ArkNewArrayExpr) {
145
145
  this.transferRightNewArrayExpr();
146
146
  }
147
- else if (this.rightOp instanceof Expr_1.ArkStaticInvokeExpr && SourceUtils_1.SourceUtils.isComponentCreate(this.rightOp)) {
147
+ else if (this.rightOp instanceof Expr_1.ArkStaticInvokeExpr && PrinterUtils_1.PrinterUtils.isComponentCreate(this.rightOp)) {
148
148
  this.transferRightComponentCreate();
149
149
  }
150
150
  else if (this.rightOp instanceof Expr_1.ArkInstanceInvokeExpr &&
151
- SourceUtils_1.SourceUtils.isComponentAttributeInvoke(this.rightOp)) {
151
+ PrinterUtils_1.PrinterUtils.isComponentAttributeInvoke(this.rightOp)) {
152
152
  this.transferRightComponentAttribute();
153
153
  }
154
154
  else {
@@ -168,7 +168,7 @@ class SourceAssignStmt extends SourceStmt {
168
168
  let leftOpType = this.leftOp.getType();
169
169
  if (leftOpType instanceof Type_1.ClassType) {
170
170
  let name = leftOpType.getClassSignature().getClassName();
171
- if (SourceUtils_1.SourceUtils.isAnonymousClass(name)) {
171
+ if (PrinterUtils_1.PrinterUtils.isAnonymousClass(name)) {
172
172
  this.leftTypeCode = 'any';
173
173
  }
174
174
  else {
@@ -189,7 +189,7 @@ class SourceAssignStmt extends SourceStmt {
189
189
  if (this.context.hasTempVisit(this.leftCode)) {
190
190
  this.setText('');
191
191
  }
192
- else if (SourceUtils_1.SourceUtils.isTemp(this.leftCode)) {
192
+ else if (PrinterUtils_1.PrinterUtils.isTemp(this.leftCode)) {
193
193
  this.setText(`${this.rightCode};`);
194
194
  }
195
195
  else {
@@ -234,7 +234,7 @@ class SourceAssignStmt extends SourceStmt {
234
234
  if (!cls) {
235
235
  return undefined;
236
236
  }
237
- return SourceUtils_1.SourceUtils.getOriginType(cls);
237
+ return PrinterUtils_1.PrinterUtils.getOriginType(cls);
238
238
  }
239
239
  /**
240
240
  * temp1 = new Person
@@ -253,7 +253,7 @@ class SourceAssignStmt extends SourceStmt {
253
253
  instanceInvokeExpr.getArgs().forEach((v) => {
254
254
  args.push(this.transformer.valueToString(v));
255
255
  });
256
- if (originType === SourceUtils_1.CLASS_CATEGORY_COMPONENT) {
256
+ if (originType === PrinterUtils_1.CLASS_CATEGORY_COMPONENT) {
257
257
  this.rightCode = `${this.transformer.typeToString(this.rightOp.getType())}(${args.join(', ')})`;
258
258
  }
259
259
  else if (originType === ArkClass_1.ClassCategory.TYPE_LITERAL || originType === ArkClass_1.ClassCategory.OBJECT) {
@@ -269,7 +269,7 @@ class SourceAssignStmt extends SourceStmt {
269
269
  this.context.getStmtReader().rollback();
270
270
  }
271
271
  }
272
- if (originType === SourceUtils_1.CLASS_CATEGORY_COMPONENT) {
272
+ if (originType === PrinterUtils_1.CLASS_CATEGORY_COMPONENT) {
273
273
  this.rightCode = `${this.transformer.typeToString(this.rightOp.getType())}()`;
274
274
  }
275
275
  else if (originType === ArkClass_1.ClassCategory.TYPE_LITERAL || originType === ArkClass_1.ClassCategory.OBJECT) {
@@ -313,7 +313,7 @@ class SourceAssignStmt extends SourceStmt {
313
313
  let stmt = this.context.getStmtReader().next();
314
314
  if (stmt instanceof Stmt_1.ArkInvokeStmt) {
315
315
  let expr = stmt.getInvokeExpr();
316
- if (expr instanceof Expr_1.ArkStaticInvokeExpr && SourceUtils_1.SourceUtils.isComponentPop(expr)) {
316
+ if (expr instanceof Expr_1.ArkStaticInvokeExpr && PrinterUtils_1.PrinterUtils.isComponentPop(expr)) {
317
317
  this.setText(`${this.rightCode}`);
318
318
  this.dumpType = AssignStmtDumpType.NORMAL;
319
319
  return;
@@ -340,18 +340,18 @@ class SourceInvokeStmt extends SourceStmt {
340
340
  let code = '';
341
341
  let isAttr = false;
342
342
  if (invokeExpr instanceof Expr_1.ArkStaticInvokeExpr) {
343
- if (SourceUtils_1.SourceUtils.isComponentPop(invokeExpr)) {
343
+ if (PrinterUtils_1.PrinterUtils.isComponentPop(invokeExpr)) {
344
344
  code = '}';
345
345
  isAttr = true;
346
346
  }
347
347
  else {
348
348
  code = this.transformer.staticInvokeExprToString(invokeExpr);
349
- isAttr = SourceUtils_1.SourceUtils.isComponentIfElseInvoke(invokeExpr);
349
+ isAttr = PrinterUtils_1.PrinterUtils.isComponentIfElseInvoke(invokeExpr);
350
350
  }
351
351
  }
352
352
  else if (invokeExpr instanceof Expr_1.ArkInstanceInvokeExpr) {
353
353
  code = this.transformer.instanceInvokeExprToString(invokeExpr);
354
- isAttr = SourceUtils_1.SourceUtils.isComponentAttributeInvoke(invokeExpr);
354
+ isAttr = PrinterUtils_1.PrinterUtils.isComponentAttributeInvoke(invokeExpr);
355
355
  }
356
356
  if (code.length > 0 && !isAttr) {
357
357
  this.setText(`${code};`);
@@ -362,15 +362,15 @@ class SourceInvokeStmt extends SourceStmt {
362
362
  }
363
363
  beforeDump() {
364
364
  let invokeExpr = this.original.getInvokeExpr();
365
- if ((invokeExpr instanceof Expr_1.ArkStaticInvokeExpr && SourceUtils_1.SourceUtils.isComponentPop(invokeExpr)) ||
366
- (invokeExpr instanceof Expr_1.ArkStaticInvokeExpr && SourceUtils_1.SourceUtils.isComponentIfElseInvoke(invokeExpr))) {
365
+ if ((invokeExpr instanceof Expr_1.ArkStaticInvokeExpr && PrinterUtils_1.PrinterUtils.isComponentPop(invokeExpr)) ||
366
+ (invokeExpr instanceof Expr_1.ArkStaticInvokeExpr && PrinterUtils_1.PrinterUtils.isComponentIfElseInvoke(invokeExpr))) {
367
367
  this.printer.decIndent();
368
368
  return;
369
369
  }
370
370
  }
371
371
  afterDump() {
372
372
  let invokeExpr = this.original.getInvokeExpr();
373
- if (invokeExpr instanceof Expr_1.ArkStaticInvokeExpr && SourceUtils_1.SourceUtils.isComponentIfElseInvoke(invokeExpr)) {
373
+ if (invokeExpr instanceof Expr_1.ArkStaticInvokeExpr && PrinterUtils_1.PrinterUtils.isComponentIfElseInvoke(invokeExpr)) {
374
374
  this.printer.incIndent();
375
375
  return;
376
376
  }
@@ -531,12 +531,12 @@ class SourceWhileStmt extends SourceStmt {
531
531
  if (!(stmt instanceof Stmt_1.ArkAssignStmt)) {
532
532
  continue;
533
533
  }
534
- if (SourceUtils_1.SourceUtils.isDeIncrementStmt(stmt, Expr_1.NormalBinaryOperator.Addition) &&
534
+ if (PrinterUtils_1.PrinterUtils.isDeIncrementStmt(stmt, Expr_1.NormalBinaryOperator.Addition) &&
535
535
  stmt.getLeftOp().getName() === value.getName()) {
536
536
  this.context.setSkipStmt(stmt);
537
537
  return `${value.getName()}++`;
538
538
  }
539
- if (SourceUtils_1.SourceUtils.isDeIncrementStmt(stmt, Expr_1.NormalBinaryOperator.Subtraction) &&
539
+ if (PrinterUtils_1.PrinterUtils.isDeIncrementStmt(stmt, Expr_1.NormalBinaryOperator.Subtraction) &&
540
540
  stmt.getLeftOp().getName() === value.getName()) {
541
541
  this.context.setSkipStmt(stmt);
542
542
  return `${value.getName()}--`;
@@ -694,33 +694,20 @@ class SourceTypeAliasStmt extends SourceStmt {
694
694
  this.aliasType = aliasType;
695
695
  }
696
696
  transfer2ts() {
697
- let modifier = '';
698
697
  let modifiersArray = (0, ArkBaseModel_1.modifiers2stringArray)(this.aliasType.getModifiers());
699
- if (modifiersArray.length > 0) {
700
- modifier = `${modifiersArray.join(' ')} `;
701
- }
698
+ let modifier = modifiersArray.length > 0 ? `${modifiersArray.join(' ')} ` : '';
702
699
  const expr = this.original.getAliasTypeExpr();
703
- let typeOf = '';
704
- if (expr.getTransferWithTypeOf()) {
705
- typeOf = 'typeof ';
706
- }
707
- let realGenericTypes = '';
708
- if (expr.getRealGenericTypes()) {
709
- let types = expr.getRealGenericTypes().join(', ');
710
- if (types) {
711
- realGenericTypes = `<${types}>`;
712
- }
713
- }
714
- let genericTypes = '';
715
- if (this.aliasType.getGenericTypes()) {
716
- let types = this.aliasType.getGenericTypes().join(', ');
717
- if (types) {
718
- genericTypes = `<${types}>`;
719
- }
720
- }
700
+ let typeOf = expr.getTransferWithTypeOf() ? 'typeof ' : '';
701
+ let realGenericTypes = expr.getRealGenericTypes() ? `<${expr.getRealGenericTypes().join(', ')}>` : '';
702
+ let genericTypes = this.aliasType.getGenericTypes() ? `<${this.transformer.typeArrayToString(this.aliasType.getGenericTypes())}>` : '';
721
703
  let typeObject = expr.getOriginalObject();
722
704
  if (typeObject instanceof Type_1.Type) {
723
- this.setText(`${modifier}type ${this.aliasType.getName()}${genericTypes} = ${typeOf}${this.transformer.typeToString(typeObject)}${realGenericTypes};`);
705
+ if (typeObject instanceof Type_1.AliasType) {
706
+ this.setText(`${modifier}type ${this.aliasType.getName()}${genericTypes} = ${typeOf}${typeObject.getName()}${realGenericTypes};`);
707
+ }
708
+ else {
709
+ this.setText(`${modifier}type ${this.aliasType.getName()}${genericTypes} = ${typeOf}${this.transformer.typeToString(typeObject)}${realGenericTypes};`);
710
+ }
724
711
  return;
725
712
  }
726
713
  if (typeObject instanceof ArkImport_1.ImportInfo) {
@@ -35,8 +35,10 @@ export declare class SourceTransformer {
35
35
  literalObjectToString(type: ClassType): string;
36
36
  typeToString(type: Type): string;
37
37
  private literalType2string;
38
- private unionType2string;
38
+ private multipleType2string;
39
39
  private arrayType2string;
40
+ private tupleType2string;
41
+ private aliasType2string;
40
42
  private unclearReferenceType2string;
41
43
  private classType2string;
42
44
  }
@@ -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,EAMT,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;AAI7D,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;IA0DxE,OAAO,CAAC,oBAAoB;IAYrB,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,KAAK,GAAE,MAAa,GAAG,MAAM;WASvD,aAAa,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM;IAQpD,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;IAwDvC,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,gBAAgB;IAaxB,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;AAI7D,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;IA0DxE,OAAO,CAAC,oBAAoB;IAYrB,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,KAAK,GAAE,MAAa,GAAG,MAAM;WASvD,aAAa,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM;IAQpD,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;IA2DvC,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,mBAAmB;IAgB3B,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,2BAA2B;IAQnC,OAAO,CAAC,gBAAgB;CAkB3B"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  /*
3
- * Copyright (c) 2024 Huawei Device Co., Ltd.
3
+ * Copyright (c) 2024-2025 Huawei Device Co., Ltd.
4
4
  * Licensed under the Apache License, Version 2.0 (the "License");
5
5
  * you may not use this file except in compliance with the License.
6
6
  * You may obtain a copy of the License at
@@ -43,7 +43,7 @@ const Expr_1 = require("../../core/base/Expr");
43
43
  const Local_1 = require("../../core/base/Local");
44
44
  const ArkClass_1 = require("../../core/model/ArkClass");
45
45
  const logger_1 = __importStar(require("../../utils/logger"));
46
- const SourceUtils_1 = require("./SourceUtils");
46
+ const PrinterUtils_1 = require("../base/PrinterUtils");
47
47
  const SourceMethod_1 = require("./SourceMethod");
48
48
  const Type_1 = require("../../core/base/Type");
49
49
  const SourceClass_1 = require("./SourceClass");
@@ -75,7 +75,7 @@ class SourceTransformer {
75
75
  args.push(this.valueToString(v));
76
76
  });
77
77
  let genericCode = this.genericTypesToString(invokeExpr.getRealGenericTypes());
78
- if (SourceUtils_1.SourceUtils.isComponentAttributeInvoke(invokeExpr) && this.context.isInBuilderMethod()) {
78
+ if (PrinterUtils_1.PrinterUtils.isComponentAttributeInvoke(invokeExpr) && this.context.isInBuilderMethod()) {
79
79
  return `.${methodName}${genericCode}(${args.join(', ')})`;
80
80
  }
81
81
  return `${this.valueToString(invokeExpr.getBase())}.${methodName}${genericCode}(${args.join(', ')})`;
@@ -83,11 +83,11 @@ class SourceTransformer {
83
83
  staticInvokeExprToString(invokeExpr) {
84
84
  let methodSignature = invokeExpr.getMethodSignature();
85
85
  let method = this.context.getMethod(methodSignature);
86
- if (method && SourceUtils_1.SourceUtils.isAnonymousMethod(method.getName())) {
86
+ if (method && PrinterUtils_1.PrinterUtils.isAnonymousMethod(method.getName())) {
87
87
  return this.anonymousMethodToString(method, this.context.getPrinter().getIndent());
88
88
  }
89
89
  let classSignature = methodSignature.getDeclaringClassSignature();
90
- let className = SourceUtils_1.SourceUtils.getStaticInvokeClassFullName(classSignature, this.context.getDeclaringArkNamespace());
90
+ let className = PrinterUtils_1.PrinterUtils.getStaticInvokeClassFullName(classSignature, this.context.getDeclaringArkNamespace());
91
91
  let methodName = methodSignature.getMethodSubSignature().getMethodName();
92
92
  let args = [];
93
93
  invokeExpr.getArgs().forEach((v) => {
@@ -107,13 +107,13 @@ class SourceTransformer {
107
107
  return '';
108
108
  }
109
109
  }
110
- if (SourceUtils_1.SourceUtils.isComponentCreate(invokeExpr)) {
110
+ if (PrinterUtils_1.PrinterUtils.isComponentCreate(invokeExpr)) {
111
111
  if (className === EtsConst_1.COMPONENT_IF) {
112
112
  return `if (${args.join(', ')})`;
113
113
  }
114
114
  return `${className}${genericCode}(${args.join(', ')})`;
115
115
  }
116
- if (SourceUtils_1.SourceUtils.isComponentIfBranchInvoke(invokeExpr)) {
116
+ if (PrinterUtils_1.PrinterUtils.isComponentIfBranchInvoke(invokeExpr)) {
117
117
  let arg0 = invokeExpr.getArg(0);
118
118
  if (arg0.getValue() === '0') {
119
119
  return ``;
@@ -122,7 +122,7 @@ class SourceTransformer {
122
122
  return '} else {';
123
123
  }
124
124
  }
125
- if (SourceUtils_1.SourceUtils.isComponentPop(invokeExpr)) {
125
+ if (PrinterUtils_1.PrinterUtils.isComponentPop(invokeExpr)) {
126
126
  return '}';
127
127
  }
128
128
  }
@@ -150,7 +150,7 @@ class SourceTransformer {
150
150
  }
151
151
  static constToString(value) {
152
152
  if (value.getType().toString() === 'string') {
153
- return `'${SourceUtils_1.SourceUtils.escape(value.getValue())}'`;
153
+ return `'${PrinterUtils_1.PrinterUtils.escape(value.getValue())}'`;
154
154
  }
155
155
  else {
156
156
  return value.getValue();
@@ -212,7 +212,7 @@ class SourceTransformer {
212
212
  let index = value.getIndex();
213
213
  if (index instanceof Constant_1.Constant &&
214
214
  index.getType() instanceof Type_1.StringType &&
215
- SourceUtils_1.SourceUtils.isTemp(index.getValue())) {
215
+ PrinterUtils_1.PrinterUtils.isTemp(index.getValue())) {
216
216
  return `${this.valueToString(value.getBase())}[${this.valueToString(new Local_1.Local(index.getValue()))}]`;
217
217
  }
218
218
  return `${this.valueToString(value.getBase())}[${this.valueToString(value.getIndex())}]`;
@@ -235,14 +235,14 @@ class SourceTransformer {
235
235
  return SourceTransformer.constToString(value);
236
236
  }
237
237
  if (value instanceof Local_1.Local) {
238
- if (SourceUtils_1.SourceUtils.isAnonymousMethod(value.getName())) {
238
+ if (PrinterUtils_1.PrinterUtils.isAnonymousMethod(value.getName())) {
239
239
  let methodSignature = value.getType().getMethodSignature();
240
240
  let anonymousMethod = this.context.getMethod(methodSignature);
241
241
  if (anonymousMethod) {
242
242
  return this.anonymousMethodToString(anonymousMethod, this.context.getPrinter().getIndent());
243
243
  }
244
244
  }
245
- if (SourceUtils_1.SourceUtils.isAnonymousClass(value.getName())) {
245
+ if (PrinterUtils_1.PrinterUtils.isAnonymousClass(value.getName())) {
246
246
  let clsSignature = value.getType().getClassSignature();
247
247
  let cls = this.context.getClass(clsSignature);
248
248
  if (cls) {
@@ -252,7 +252,7 @@ class SourceTransformer {
252
252
  if (operator === Expr_1.NormalBinaryOperator.Division ||
253
253
  operator === Expr_1.NormalBinaryOperator.Multiplication ||
254
254
  operator === Expr_1.NormalBinaryOperator.Remainder) {
255
- if (SourceUtils_1.SourceUtils.isTemp(value.getName())) {
255
+ if (PrinterUtils_1.PrinterUtils.isTemp(value.getName())) {
256
256
  let stmt = value.getDeclaringStmt();
257
257
  if (stmt instanceof Stmt_1.ArkAssignStmt && stmt.getRightOp() instanceof Expr_1.ArkNormalBinopExpr) {
258
258
  return `(${this.context.transTemp2Code(value)})`;
@@ -266,7 +266,7 @@ class SourceTransformer {
266
266
  }
267
267
  literalObjectToString(type) {
268
268
  let name = type.getClassSignature().getClassName();
269
- if (SourceUtils_1.SourceUtils.isAnonymousClass(name)) {
269
+ if (PrinterUtils_1.PrinterUtils.isAnonymousClass(name)) {
270
270
  let cls = this.context.getClass(type.getClassSignature());
271
271
  if (cls) {
272
272
  return this.anonymousClassToString(cls, this.context.getPrinter().getIndent());
@@ -281,8 +281,8 @@ class SourceTransformer {
281
281
  if (type instanceof Type_1.PrimitiveType) {
282
282
  return type.getName();
283
283
  }
284
- if (type instanceof Type_1.UnionType) {
285
- return this.unionType2string(type);
284
+ if (type instanceof Type_1.UnionType || type instanceof Type_1.IntersectionType) {
285
+ return this.multipleType2string(type);
286
286
  }
287
287
  if (type instanceof Type_1.UnknownType) {
288
288
  return 'any';
@@ -296,10 +296,13 @@ class SourceTransformer {
296
296
  if (type instanceof Type_1.ArrayType) {
297
297
  return this.arrayType2string(type);
298
298
  }
299
+ if (type instanceof Type_1.TupleType) {
300
+ return this.tupleType2string(type);
301
+ }
299
302
  if (type instanceof Type_1.FunctionType) {
300
303
  let methodSignature = type.getMethodSignature();
301
304
  let method = this.context.getMethod(methodSignature);
302
- if (method && SourceUtils_1.SourceUtils.isAnonymousMethod(method.getName())) {
305
+ if (method && PrinterUtils_1.PrinterUtils.isAnonymousMethod(method.getName())) {
303
306
  return new SourceMethod_1.SourceMethod(method).toArrowFunctionTypeString();
304
307
  }
305
308
  }
@@ -310,7 +313,7 @@ class SourceTransformer {
310
313
  return type.getName();
311
314
  }
312
315
  if (type instanceof Type_1.AliasType) {
313
- return type.getName();
316
+ return this.aliasType2string(type);
314
317
  }
315
318
  if (!type) {
316
319
  return 'any';
@@ -325,37 +328,70 @@ class SourceTransformer {
325
328
  }
326
329
  return `${literalName}`;
327
330
  }
328
- unionType2string(type) {
331
+ multipleType2string(type) {
329
332
  let typesStr = [];
330
333
  for (const member of type.getTypes()) {
331
- typesStr.push(this.typeToString(member));
334
+ if (member instanceof Type_1.UnionType || member instanceof Type_1.IntersectionType) {
335
+ typesStr.push(`(${this.typeToString(member)})`);
336
+ }
337
+ else {
338
+ typesStr.push(this.typeToString(member));
339
+ }
340
+ }
341
+ if (type instanceof Type_1.UnionType) {
342
+ return typesStr.join(' | ');
343
+ }
344
+ else {
345
+ return typesStr.join(' & ');
332
346
  }
333
- return typesStr.join(' | ');
334
347
  }
335
348
  arrayType2string(type) {
349
+ const readonly = type.getReadonlyFlag() ? 'readonly ' : '';
336
350
  const dimensions = [];
337
351
  for (let i = 0; i < type.getDimension(); i++) {
338
352
  dimensions.push('[]');
339
353
  }
340
354
  let baseType = type.getBaseType();
341
- if (baseType instanceof Type_1.UnionType) {
342
- return `(${this.typeToString(baseType)})${dimensions.join('')}`;
355
+ if (baseType instanceof Type_1.UnionType || baseType instanceof Type_1.IntersectionType) {
356
+ return `${readonly}(${this.typeToString(baseType)})${dimensions.join('')}`;
343
357
  }
344
- return `${this.typeToString(baseType)}${dimensions.join('')}`;
358
+ return `${readonly}${this.typeToString(baseType)}${dimensions.join('')}`;
359
+ }
360
+ tupleType2string(type) {
361
+ const readonly = type.getReadonlyFlag() ? 'readonly ' : '';
362
+ let typesStr = [];
363
+ for (const member of type.getTypes()) {
364
+ typesStr.push(this.typeToString(member));
365
+ }
366
+ return `${readonly}[${typesStr.join(', ')}]`;
367
+ }
368
+ aliasType2string(type) {
369
+ var _a;
370
+ let typesStr = [];
371
+ let genericTypes = (_a = type.getRealGenericTypes()) !== null && _a !== void 0 ? _a : type.getGenericTypes();
372
+ if (genericTypes) {
373
+ for (const gType of genericTypes) {
374
+ typesStr.push(this.typeToString(gType));
375
+ }
376
+ }
377
+ if (typesStr.length > 0) {
378
+ return `${type.getName()}<${typesStr.join(', ')}>`;
379
+ }
380
+ return type.getName();
345
381
  }
346
382
  unclearReferenceType2string(type) {
347
383
  let genericTypes = type.getGenericTypes();
348
384
  if (genericTypes.length > 0) {
349
- return `${type.getName()}<${genericTypes.join(', ')}>`;
385
+ return `${type.getName()}<${genericTypes.map((value) => this.typeToString(value)).join(', ')}>`;
350
386
  }
351
387
  return type.getName();
352
388
  }
353
389
  classType2string(type) {
354
- const name = SourceUtils_1.SourceUtils.getStaticInvokeClassFullName(type.getClassSignature());
355
- if (SourceUtils_1.SourceUtils.isDefaultClass(name)) {
390
+ const name = PrinterUtils_1.PrinterUtils.getStaticInvokeClassFullName(type.getClassSignature());
391
+ if (PrinterUtils_1.PrinterUtils.isDefaultClass(name)) {
356
392
  return 'any';
357
393
  }
358
- if (SourceUtils_1.SourceUtils.isAnonymousClass(name)) {
394
+ if (PrinterUtils_1.PrinterUtils.isAnonymousClass(name)) {
359
395
  let cls = this.context.getClass(type.getClassSignature());
360
396
  if (cls && cls.getCategory() === ArkClass_1.ClassCategory.TYPE_LITERAL) {
361
397
  return this.anonymousClassToString(cls, this.context.getPrinter().getIndent());
@@ -364,7 +400,7 @@ class SourceTransformer {
364
400
  }
365
401
  let genericTypes = type.getRealGenericTypes();
366
402
  if (genericTypes && genericTypes.length > 0) {
367
- return `${name}<${genericTypes.join(', ')}>`;
403
+ return `${name}${this.genericTypesToString(genericTypes)}`;
368
404
  }
369
405
  return name;
370
406
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "arkanalyzer",
3
- "version": "1.0.16",
3
+ "version": "1.0.18",
4
4
  "files": [
5
5
  "docs",
6
6
  "lib",
@@ -1 +0,0 @@
1
- {"version":3,"file":"BodyBuilder.d.ts","sourceRoot":"","sources":["../../../src/core/common/BodyBuilder.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAkB,eAAe,EAAsB,MAAM,uBAAuB,CAAC;AAC5F,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAItC,OAAO,EAAuD,SAAS,EAAE,MAAM,aAAa,CAAC;AAc7F,qBAAa,WAAW;IACpB,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,OAAO,CAAC,CAAyB;gBAE7B,eAAe,EAAE,eAAe,EAAE,aAAa,EAAE,EAAE,CAAC,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU;IAIpH,KAAK,IAAI,OAAO,GAAG,IAAI;IAcvB,aAAa,IAAI,UAAU;IAI3B,UAAU,IAAI,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,SAAS;IAIhD,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAI;IAIjD,sBAAsB,IAAI,IAAI;IAsDrC,OAAO,CAAC,6BAA6B;IASrC,OAAO,CAAC,sCAAsC;IA4B9C,OAAO,CAAC,gBAAgB;IAmBxB,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,sBAAsB;IAU9B,OAAO,CAAC,8BAA8B;IAkBtC,OAAO,CAAC,6BAA6B;IA2BrC,OAAO,CAAC,2BAA2B;IAUnC,OAAO,CAAC,4BAA4B;IAoBpC,OAAO,CAAC,2BAA2B;IAwBnC,OAAO,CAAC,oCAAoC;IA2B5C,OAAO,CAAC,8BAA8B;IAgBtC,OAAO,CAAC,qCAAqC;IA8B7C,OAAO,CAAC,2BAA2B;CAyCtC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"CfgBuilder.d.ts","sourceRoot":"","sources":["../../../src/core/common/CfgBuilder.ts"],"names":[],"mappings":"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"}