arkanalyzer 1.0.13 → 1.0.15

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 (107) hide show
  1. package/README.md +10 -10
  2. package/config/arkanalyzer.json +5 -0
  3. package/lib/Config.d.ts +2 -0
  4. package/lib/Config.d.ts.map +1 -1
  5. package/lib/core/base/Expr.d.ts +3 -0
  6. package/lib/core/base/Expr.d.ts.map +1 -1
  7. package/lib/core/base/Expr.js +22 -5
  8. package/lib/core/base/Ref.d.ts +1 -0
  9. package/lib/core/base/Ref.d.ts.map +1 -1
  10. package/lib/core/base/Ref.js +5 -2
  11. package/lib/core/base/Stmt.js +1 -1
  12. package/lib/core/base/Type.d.ts +25 -1
  13. package/lib/core/base/Type.d.ts.map +1 -1
  14. package/lib/core/base/Type.js +39 -2
  15. package/lib/core/common/ArkIRTransformer.d.ts.map +1 -1
  16. package/lib/core/common/ArkIRTransformer.js +33 -2
  17. package/lib/core/common/ArkValueTransformer.js +2 -2
  18. package/lib/core/common/CfgBuilder.d.ts.map +1 -1
  19. package/lib/core/common/CfgBuilder.js +3 -2
  20. package/lib/core/common/Const.d.ts +1 -0
  21. package/lib/core/common/Const.d.ts.map +1 -1
  22. package/lib/core/common/Const.js +3 -2
  23. package/lib/core/common/DummyMainCreater.d.ts +0 -6
  24. package/lib/core/common/DummyMainCreater.d.ts.map +1 -1
  25. package/lib/core/common/DummyMainCreater.js +12 -160
  26. package/lib/core/common/EtsConst.d.ts +0 -3
  27. package/lib/core/common/EtsConst.d.ts.map +1 -1
  28. package/lib/core/common/EtsConst.js +1 -8
  29. package/lib/core/common/IRInference.d.ts.map +1 -1
  30. package/lib/core/common/IRInference.js +8 -2
  31. package/lib/core/common/IRUtils.d.ts +3 -2
  32. package/lib/core/common/IRUtils.d.ts.map +1 -1
  33. package/lib/core/common/IRUtils.js +27 -13
  34. package/lib/core/common/ModelUtils.d.ts +1 -0
  35. package/lib/core/common/ModelUtils.d.ts.map +1 -1
  36. package/lib/core/common/ModelUtils.js +14 -23
  37. package/lib/core/common/SdkUtils.d.ts.map +1 -1
  38. package/lib/core/common/SdkUtils.js +12 -5
  39. package/lib/core/common/TypeInference.d.ts.map +1 -1
  40. package/lib/core/common/TypeInference.js +21 -8
  41. package/lib/core/dataflow/DataflowProblem.d.ts +0 -1
  42. package/lib/core/dataflow/DataflowProblem.d.ts.map +1 -1
  43. package/lib/core/dataflow/DataflowProblem.js +0 -13
  44. package/lib/core/dataflow/Edge.d.ts +0 -4
  45. package/lib/core/dataflow/Edge.d.ts.map +1 -1
  46. package/lib/core/dataflow/Edge.js +1 -10
  47. package/lib/core/dataflow/UndefinedVariable.d.ts.map +1 -1
  48. package/lib/core/dataflow/UndefinedVariable.js +28 -21
  49. package/lib/core/dataflow/Util.d.ts +0 -2
  50. package/lib/core/dataflow/Util.d.ts.map +1 -1
  51. package/lib/core/dataflow/Util.js +1 -95
  52. package/lib/core/graph/builder/ViewTreeBuilder.d.ts.map +1 -1
  53. package/lib/core/graph/builder/ViewTreeBuilder.js +2 -2
  54. package/lib/core/model/ArkClass.d.ts +5 -0
  55. package/lib/core/model/ArkClass.d.ts.map +1 -1
  56. package/lib/core/model/ArkClass.js +10 -2
  57. package/lib/core/model/ArkExport.d.ts +3 -1
  58. package/lib/core/model/ArkExport.d.ts.map +1 -1
  59. package/lib/core/model/ArkExport.js +9 -3
  60. package/lib/core/model/ArkFile.d.ts +4 -4
  61. package/lib/core/model/ArkFile.d.ts.map +1 -1
  62. package/lib/core/model/ArkFile.js +7 -6
  63. package/lib/core/model/ArkMetadata.d.ts +14 -2
  64. package/lib/core/model/ArkMetadata.d.ts.map +1 -1
  65. package/lib/core/model/ArkMetadata.js +12 -1
  66. package/lib/core/model/ArkNamespace.d.ts.map +1 -1
  67. package/lib/core/model/ArkNamespace.js +4 -2
  68. package/lib/core/model/ArkSignature.d.ts +10 -0
  69. package/lib/core/model/ArkSignature.d.ts.map +1 -1
  70. package/lib/core/model/ArkSignature.js +13 -1
  71. package/lib/core/model/builder/ArkClassBuilder.d.ts.map +1 -1
  72. package/lib/core/model/builder/ArkClassBuilder.js +44 -10
  73. package/lib/core/model/builder/ArkExportBuilder.d.ts.map +1 -1
  74. package/lib/core/model/builder/ArkExportBuilder.js +6 -3
  75. package/lib/core/model/builder/ArkFieldBuilder.js +2 -2
  76. package/lib/core/model/builder/ArkImportBuilder.js +6 -6
  77. package/lib/core/model/builder/ArkMethodBuilder.js +3 -3
  78. package/lib/core/model/builder/ArkNamespaceBuilder.js +1 -1
  79. package/lib/core/model/builder/builderUtils.d.ts +2 -2
  80. package/lib/core/model/builder/builderUtils.d.ts.map +1 -1
  81. package/lib/core/model/builder/builderUtils.js +19 -5
  82. package/lib/index.d.ts +4 -2
  83. package/lib/index.d.ts.map +1 -1
  84. package/lib/index.js +9 -6
  85. package/lib/save/source/SourceClass.d.ts.map +1 -1
  86. package/lib/save/source/SourceClass.js +7 -3
  87. package/lib/save/source/SourceField.d.ts.map +1 -1
  88. package/lib/save/source/SourceField.js +7 -3
  89. package/lib/save/source/SourceMethod.d.ts.map +1 -1
  90. package/lib/save/source/SourceMethod.js +7 -3
  91. package/lib/save/source/SourceModule.d.ts.map +1 -1
  92. package/lib/save/source/SourceModule.js +14 -6
  93. package/lib/save/source/SourceNamespace.d.ts.map +1 -1
  94. package/lib/save/source/SourceNamespace.js +8 -6
  95. package/lib/save/source/SourceStmt.d.ts +1 -0
  96. package/lib/save/source/SourceStmt.d.ts.map +1 -1
  97. package/lib/save/source/SourceStmt.js +39 -11
  98. package/lib/utils/AstTreeUtils.d.ts +5 -0
  99. package/lib/utils/AstTreeUtils.d.ts.map +1 -0
  100. package/lib/utils/AstTreeUtils.js +26 -0
  101. package/lib/utils/entryMethodUtils.d.ts +0 -2
  102. package/lib/utils/entryMethodUtils.d.ts.map +1 -1
  103. package/lib/utils/entryMethodUtils.js +1 -31
  104. package/package.json +3 -3
  105. package/lib/core/dataflow/TiantAnalysis.d.ts +0 -38
  106. package/lib/core/dataflow/TiantAnalysis.d.ts.map +0 -1
  107. package/lib/core/dataflow/TiantAnalysis.js +0 -340
@@ -35,9 +35,13 @@ class SourceField extends SourceBase_1.SourceBase {
35
35
  }
36
36
  dump() {
37
37
  this.printer.clear();
38
- (this.field.getMetadata(ArkMetadata_1.ArkMetadataKind.LEADING_COMMENTS) || []).forEach((comment) => {
39
- this.printer.writeIndent().writeLine(comment);
40
- });
38
+ const commentsMetadata = this.field.getMetadata(ArkMetadata_1.ArkMetadataKind.LEADING_COMMENTS);
39
+ if (commentsMetadata instanceof ArkMetadata_1.CommentsMetadata) {
40
+ const comments = commentsMetadata.getComments();
41
+ comments.forEach((comment) => {
42
+ this.printer.writeIndent().writeLine(comment.content);
43
+ });
44
+ }
41
45
  this.printDecorator(this.field.getDecorators());
42
46
  this.printer.writeIndent();
43
47
  if (this.field.getCategory() !== ArkField_1.FieldCategory.ENUM_MEMBER) {
@@ -1 +1 @@
1
- {"version":3,"file":"SourceMethod.d.ts","sourceRoot":"","sources":["../../../src/save/source/SourceMethod.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAEvD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAI1C,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAG7D;;GAEG;AACH,qBAAa,YAAa,SAAQ,UAAU;IACxC,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,WAAW,CAAoB;gBAEpB,MAAM,EAAE,SAAS,EAAE,MAAM,GAAE,MAAW;IAOlD,wBAAwB,IAAI,YAAY,GAAG,SAAS;IAIpD,YAAY,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI;IAItC,IAAI,IAAI,MAAM;IAad,OAAO,IAAI,MAAM;IAuBjB,iBAAiB,IAAI,UAAU,EAAE;IAKxC,OAAO,CAAC,WAAW;IAsBnB,OAAO,CAAC,SAAS;IAKjB,SAAS,CAAC,mBAAmB,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM;IA+CjD,yBAAyB,IAAI,MAAM;IAuB1C,OAAO,CAAC,aAAa;CAQxB"}
1
+ {"version":3,"file":"SourceMethod.d.ts","sourceRoot":"","sources":["../../../src/save/source/SourceMethod.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAEvD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAI1C,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAG7D;;GAEG;AACH,qBAAa,YAAa,SAAQ,UAAU;IACxC,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,WAAW,CAAoB;gBAEpB,MAAM,EAAE,SAAS,EAAE,MAAM,GAAE,MAAW;IAOlD,wBAAwB,IAAI,YAAY,GAAG,SAAS;IAIpD,YAAY,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI;IAItC,IAAI,IAAI,MAAM;IAiBd,OAAO,IAAI,MAAM;IAuBjB,iBAAiB,IAAI,UAAU,EAAE;IAKxC,OAAO,CAAC,WAAW;IAsBnB,OAAO,CAAC,SAAS;IAKjB,SAAS,CAAC,mBAAmB,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM;IA+CjD,yBAAyB,IAAI,MAAM;IAuB1C,OAAO,CAAC,aAAa;CAQxB"}
@@ -40,9 +40,13 @@ class SourceMethod extends SourceBase_1.SourceBase {
40
40
  }
41
41
  dump() {
42
42
  this.printer.clear();
43
- (this.method.getMetadata(ArkMetadata_1.ArkMetadataKind.LEADING_COMMENTS) || []).forEach((comment) => {
44
- this.printer.writeIndent().writeLine(comment);
45
- });
43
+ const commentsMetadata = this.method.getMetadata(ArkMetadata_1.ArkMetadataKind.LEADING_COMMENTS);
44
+ if (commentsMetadata instanceof ArkMetadata_1.CommentsMetadata) {
45
+ const comments = commentsMetadata.getComments();
46
+ comments.forEach((comment) => {
47
+ this.printer.writeIndent().writeLine(comment.content);
48
+ });
49
+ }
46
50
  if (!this.method.isDefaultArkMethod()) {
47
51
  this.printMethod(this.method);
48
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SourceModule.d.ts","sourceRoot":"","sources":["../../../src/save/source/SourceModule.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,UAAU,EAAc,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAExD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,qBAAa,gBAAiB,SAAQ,UAAU;IAC5C,IAAI,EAAE,UAAU,CAAC;gBAEE,IAAI,EAAE,UAAU,EAAE,MAAM,GAAE,MAAW;IAKjD,OAAO,IAAI,MAAM;IAIjB,IAAI,IAAI,MAAM;CAsCxB;AAED,qBAAa,gBAAiB,SAAQ,UAAU;IAC5C,IAAI,EAAE,UAAU,CAAC;gBAEE,IAAI,EAAE,UAAU,EAAE,MAAM,GAAE,MAAW;IAKjD,OAAO,IAAI,MAAM;IAIjB,IAAI,IAAI,MAAM;CAwCxB"}
1
+ {"version":3,"file":"SourceModule.d.ts","sourceRoot":"","sources":["../../../src/save/source/SourceModule.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,UAAU,EAAc,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAExD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,qBAAa,gBAAiB,SAAQ,UAAU;IAC5C,IAAI,EAAE,UAAU,CAAC;gBAEE,IAAI,EAAE,UAAU,EAAE,MAAM,GAAE,MAAW;IAKjD,OAAO,IAAI,MAAM;IAIjB,IAAI,IAAI,MAAM;CAyCxB;AAED,qBAAa,gBAAiB,SAAQ,UAAU;IAC5C,IAAI,EAAE,UAAU,CAAC;gBAEE,IAAI,EAAE,UAAU,EAAE,MAAM,GAAE,MAAW;IAKjD,OAAO,IAAI,MAAM;IAIjB,IAAI,IAAI,MAAM;CA4CxB"}
@@ -28,9 +28,13 @@ class SourceExportInfo extends SourceBase_1.SourceBase {
28
28
  }
29
29
  dump() {
30
30
  this.printer.clear();
31
- (this.info.getMetadata(ArkMetadata_1.ArkMetadataKind.LEADING_COMMENTS) || []).forEach((comment) => {
32
- this.printer.writeIndent().writeLine(comment);
33
- });
31
+ const commentsMetadata = this.info.getMetadata(ArkMetadata_1.ArkMetadataKind.LEADING_COMMENTS);
32
+ if (commentsMetadata instanceof ArkMetadata_1.CommentsMetadata) {
33
+ const comments = commentsMetadata.getComments();
34
+ comments.forEach((comment) => {
35
+ this.printer.writeIndent().writeLine(comment.content);
36
+ });
37
+ }
34
38
  if (!this.info.getFrom() && (this.info.isExport() ||
35
39
  this.info.getExportClauseType() === ArkExport_1.ExportType.LOCAL ||
36
40
  this.info.getExportClauseType() === ArkExport_1.ExportType.TYPE)) {
@@ -73,9 +77,13 @@ class SourceImportInfo extends SourceBase_1.SourceBase {
73
77
  return this.info.getOriginTsPosition().getLineNo();
74
78
  }
75
79
  dump() {
76
- (this.info.getMetadata(ArkMetadata_1.ArkMetadataKind.LEADING_COMMENTS) || []).forEach((comment) => {
77
- this.printer.writeIndent().writeLine(comment);
78
- });
80
+ const commentsMetadata = this.info.getMetadata(ArkMetadata_1.ArkMetadataKind.LEADING_COMMENTS);
81
+ if (commentsMetadata instanceof ArkMetadata_1.CommentsMetadata) {
82
+ const comments = commentsMetadata.getComments();
83
+ comments.forEach((comment) => {
84
+ this.printer.writeIndent().writeLine(comment.content);
85
+ });
86
+ }
79
87
  if (this.info.getImportType() === 'Identifier') {
80
88
  // sample: import fs from 'fs'
81
89
  this.printer
@@ -1 +1 @@
1
- {"version":3,"file":"SourceNamespace.d.ts","sourceRoot":"","sources":["../../../src/save/source/SourceNamespace.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAQ,UAAU,EAAE,MAAM,cAAc,CAAC;AAMhD;;GAEG;AACH,qBAAa,eAAgB,SAAQ,UAAU;IAC3C,EAAE,EAAE,YAAY,CAAC;gBAEE,EAAE,EAAE,YAAY,EAAE,MAAM,GAAE,MAAW;IAKjD,OAAO,IAAI,MAAM;IAIjB,IAAI,IAAI,MAAM;CA6DxB"}
1
+ {"version":3,"file":"SourceNamespace.d.ts","sourceRoot":"","sources":["../../../src/save/source/SourceNamespace.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAQ,UAAU,EAAE,MAAM,cAAc,CAAC;AAMhD;;GAEG;AACH,qBAAa,eAAgB,SAAQ,UAAU;IAC3C,EAAE,EAAE,YAAY,CAAC;gBAEE,EAAE,EAAE,YAAY,EAAE,MAAM,GAAE,MAAW;IAKjD,OAAO,IAAI,MAAM;IAIjB,IAAI,IAAI,MAAM;CAsDxB"}
@@ -33,12 +33,14 @@ class SourceNamespace extends SourceBase_1.SourceBase {
33
33
  return this.ns.getLine();
34
34
  }
35
35
  dump() {
36
- (this.ns.getMetadata(ArkMetadata_1.ArkMetadataKind.LEADING_COMMENTS) || []).forEach((comment) => {
37
- this.printer.writeIndent().writeLine(comment);
38
- });
39
- this.printer
40
- .writeIndent()
41
- .writeSpace(this.modifiersToString(this.ns.getModifiers()))
36
+ const commentsMetadata = this.ns.getMetadata(ArkMetadata_1.ArkMetadataKind.LEADING_COMMENTS);
37
+ if (commentsMetadata instanceof ArkMetadata_1.CommentsMetadata) {
38
+ const comments = commentsMetadata.getComments();
39
+ comments.forEach((comment) => {
40
+ this.printer.writeIndent().writeLine(comment.content);
41
+ });
42
+ }
43
+ this.printer.writeIndent().writeSpace(this.modifiersToString(this.ns.getModifiers()))
42
44
  .writeLine(`namespace ${this.ns.getName()} {`);
43
45
  this.printer.incIndent();
44
46
  let items = [];
@@ -148,6 +148,7 @@ export declare class SourceTypeAliasStmt extends SourceStmt {
148
148
  aliasType: AliasType;
149
149
  constructor(context: StmtPrinterContext, original: Stmt, aliasType: AliasType);
150
150
  transfer2ts(): void;
151
+ private generateClassTS;
151
152
  }
152
153
  export declare class SourceTryStmt extends SourceStmt {
153
154
  constructor(context: StmtPrinterContext, stmt: Stmt);
@@ -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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"}
@@ -80,10 +80,13 @@ class SourceStmt {
80
80
  afterDump() { }
81
81
  dumpTs() {
82
82
  let content = [];
83
- let comments = this.original.getMetadata(ArkMetadata_1.ArkMetadataKind.LEADING_COMMENTS) || [];
84
- comments.forEach((v) => {
85
- content.push(`${this.printer.getIndent()}${v}\n`);
86
- });
83
+ const commentsMetadata = this.original.getMetadata(ArkMetadata_1.ArkMetadataKind.LEADING_COMMENTS);
84
+ if (commentsMetadata instanceof ArkMetadata_1.CommentsMetadata) {
85
+ const comments = commentsMetadata.getComments();
86
+ comments.forEach((comment) => {
87
+ content.push(`${this.printer.getIndent()}${comment.content}\n`);
88
+ });
89
+ }
87
90
  if (this.text.length > 0) {
88
91
  content.push(`${this.printer.getIndent()}${this.text}\n`);
89
92
  }
@@ -701,9 +704,23 @@ class SourceTypeAliasStmt extends SourceStmt {
701
704
  if (expr.getTransferWithTypeOf()) {
702
705
  typeOf = 'typeof ';
703
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
+ }
704
721
  let typeObject = expr.getOriginalObject();
705
722
  if (typeObject instanceof Type_1.Type) {
706
- this.setText(`${modifier}type ${this.aliasType.getName()} = ${typeOf}${this.transformer.typeToString(typeObject)};`);
723
+ this.setText(`${modifier}type ${this.aliasType.getName()}${genericTypes} = ${typeOf}${this.transformer.typeToString(typeObject)}${realGenericTypes};`);
707
724
  return;
708
725
  }
709
726
  if (typeObject instanceof ArkImport_1.ImportInfo) {
@@ -711,23 +728,34 @@ class SourceTypeAliasStmt extends SourceStmt {
711
728
  if (typeObject.getImportClauseName() !== '') {
712
729
  exprStr = `${exprStr}.${typeObject.getImportClauseName()}`;
713
730
  }
714
- this.setText(`${modifier}type ${this.aliasType.getName()} = ${typeOf}${exprStr};`);
731
+ this.setText(`${modifier}type ${this.aliasType.getName()}${genericTypes} = ${typeOf}${exprStr}${realGenericTypes};`);
715
732
  return;
716
733
  }
717
734
  if (typeObject instanceof Local_1.Local) {
718
- this.setText(`${modifier}type ${this.aliasType.getName()} = ${typeOf}${this.transformer.valueToString(typeObject)};`);
735
+ this.setText(`${modifier}type ${this.aliasType.getName()}${genericTypes} = ${typeOf}${this.transformer.valueToString(typeObject)}${realGenericTypes};`);
719
736
  return;
720
737
  }
721
738
  if (typeObject instanceof ArkClass_1.ArkClass) {
722
- let name = SourceUtils_1.SourceUtils.getStaticInvokeClassFullName(typeObject.getSignature());
723
- this.setText(`${modifier}type ${this.aliasType.getName()} = ${typeOf}${name};`);
739
+ let classTS = this.generateClassTS(typeObject);
740
+ this.setText(`${modifier}type ${this.aliasType.getName()}${genericTypes} = ${typeOf}${classTS}${realGenericTypes};`);
724
741
  return;
725
742
  }
726
743
  if (typeObject instanceof ArkMethod_1.ArkMethod) {
727
- this.setText(`${modifier}type ${this.aliasType.getName()} = ${typeOf}${typeObject.getName()};`);
744
+ this.setText(`${modifier}type ${this.aliasType.getName()}${genericTypes} = ${typeOf}${typeObject.getName()}${realGenericTypes};`);
728
745
  return;
729
746
  }
730
- this.setText(`${modifier}type ${this.aliasType.getName()} = ${typeOf}${typeObject.getName()};`);
747
+ this.setText(`${modifier}type ${this.aliasType.getName()}${genericTypes} = ${typeOf}${typeObject.getName()}${realGenericTypes};`);
748
+ }
749
+ generateClassTS(arkClass) {
750
+ let res = '';
751
+ let classType = new Type_1.ClassType(arkClass.getSignature());
752
+ if (arkClass.getCategory() === ArkClass_1.ClassCategory.TYPE_LITERAL || arkClass.getCategory() === ArkClass_1.ClassCategory.OBJECT) {
753
+ res = this.transformer.literalObjectToString(classType);
754
+ }
755
+ else {
756
+ res = this.transformer.typeToString(classType);
757
+ }
758
+ return res;
731
759
  }
732
760
  }
733
761
  exports.SourceTypeAliasStmt = SourceTypeAliasStmt;
@@ -0,0 +1,5 @@
1
+ import { ts } from '..';
2
+ export declare class AstTreeUtils {
3
+ static getASTNode(fileName: string, code: string): ts.SourceFile;
4
+ }
5
+ //# sourceMappingURL=AstTreeUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AstTreeUtils.d.ts","sourceRoot":"","sources":["../../src/utils/AstTreeUtils.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,EAAE,EAAE,MAAM,IAAI,CAAC;AAGxB,qBAAa,YAAY;WACP,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,EAAE,CAAC,UAAU;CAW1E"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2024 Huawei Device Co., Ltd.
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.AstTreeUtils = void 0;
18
+ const __1 = require("..");
19
+ const EtsConst_1 = require("../core/common/EtsConst");
20
+ class AstTreeUtils {
21
+ static getASTNode(fileName, code) {
22
+ const sourceFile = __1.ts.createSourceFile(fileName, code, __1.ts.ScriptTarget.Latest, true, undefined, EtsConst_1.ETS_COMPILER_OPTIONS);
23
+ return sourceFile;
24
+ }
25
+ }
26
+ exports.AstTreeUtils = AstTreeUtils;
@@ -1,5 +1,4 @@
1
1
  import { Scene } from '../Scene';
2
- import { ArkClass } from '../core/model/ArkClass';
3
2
  import { ArkMethod } from '../core/model/ArkMethod';
4
3
  import { Stmt } from '../core/base/Stmt';
5
4
  export declare const LIFECYCLE_METHOD_NAME: string[];
@@ -10,7 +9,6 @@ export interface AbilityMessage {
10
9
  name: string;
11
10
  srcEntrance: string;
12
11
  }
13
- export declare function getAbilities(abilities: AbilityMessage[], modulePath: string, scene: Scene): ArkClass[];
14
12
  export declare function getCallbackMethodFromStmt(stmt: Stmt, scene: Scene): ArkMethod | null;
15
13
  export declare function addCfg2Stmt(method: ArkMethod): void;
16
14
  //# sourceMappingURL=entryMethodUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"entryMethodUtils.d.ts","sourceRoot":"","sources":["../../src/utils/entryMethodUtils.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAGzC,eAAO,MAAM,qBAAqB,EAAE,MAAM,EA2BvC,CAAC;AACJ,eAAO,MAAM,oBAAoB,EAAE,MAAM,EAiBtC,CAAC;AAEJ,eAAO,MAAM,+BAA+B,EAAE,MAAM,EAkBnD,CAAC;AAEF,MAAM,WAAW,cAAc;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,cAAc,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,QAAQ,EAAE,CAuBtG;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,GAAG,SAAS,GAAG,IAAI,CAcpF;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,SAAS,QAS5C"}
1
+ {"version":3,"file":"entryMethodUtils.d.ts","sourceRoot":"","sources":["../../src/utils/entryMethodUtils.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAGzC,eAAO,MAAM,qBAAqB,EAAE,MAAM,EA2BvC,CAAC;AACJ,eAAO,MAAM,oBAAoB,EAAE,MAAM,EAiBtC,CAAC;AAEJ,eAAO,MAAM,+BAA+B,EAAE,MAAM,EAkBnD,CAAC;AAEF,MAAM,WAAW,cAAc;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,GAAG,SAAS,GAAG,IAAI,CAcpF;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,SAAS,QAS5C"}
@@ -13,12 +13,8 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- var __importDefault = (this && this.__importDefault) || function (mod) {
17
- return (mod && mod.__esModule) ? mod : { "default": mod };
18
- };
19
16
  Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.addCfg2Stmt = exports.getCallbackMethodFromStmt = exports.getAbilities = exports.COMPONENT_LIFECYCLE_METHOD_NAME = exports.CALLBACK_METHOD_NAME = exports.LIFECYCLE_METHOD_NAME = void 0;
21
- const path_1 = __importDefault(require("path"));
17
+ exports.addCfg2Stmt = exports.getCallbackMethodFromStmt = exports.COMPONENT_LIFECYCLE_METHOD_NAME = exports.CALLBACK_METHOD_NAME = exports.LIFECYCLE_METHOD_NAME = void 0;
22
18
  const Type_1 = require("../core/base/Type");
23
19
  exports.LIFECYCLE_METHOD_NAME = [
24
20
  'onCreate',
@@ -85,32 +81,6 @@ exports.COMPONENT_LIFECYCLE_METHOD_NAME = [
85
81
  'pageTransition',
86
82
  'onDidBuild'
87
83
  ];
88
- function getAbilities(abilities, modulePath, scene) {
89
- const abilitiyClasses = [];
90
- for (const ability of abilities) {
91
- let entry = '';
92
- if (ability.srcEntry) {
93
- entry = ability.srcEntry;
94
- }
95
- else if (ability.srcEntrance) {
96
- entry = ability.srcEntrance;
97
- }
98
- const filePath = path_1.default.join(modulePath, 'src', 'main', entry);
99
- for (const file of scene.getFiles()) {
100
- if (file.getFilePath() === filePath) {
101
- for (const arkClass of file.getClasses()) {
102
- if (ability.name.includes(arkClass.getName()) && arkClass.isExported()) {
103
- abilitiyClasses.push(arkClass);
104
- break;
105
- }
106
- }
107
- break;
108
- }
109
- }
110
- }
111
- return abilitiyClasses;
112
- }
113
- exports.getAbilities = getAbilities;
114
84
  function getCallbackMethodFromStmt(stmt, scene) {
115
85
  const invokeExpr = stmt.getInvokeExpr();
116
86
  if (invokeExpr && invokeExpr.getMethodSignature().getDeclaringClassSignature().getClassName() === '' && exports.CALLBACK_METHOD_NAME.includes(invokeExpr.getMethodSignature().getMethodSubSignature().getMethodName())) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "arkanalyzer",
3
- "version": "1.0.13",
3
+ "version": "1.0.15",
4
4
  "files": [
5
5
  "docs",
6
6
  "lib",
@@ -11,8 +11,8 @@
11
11
  "build": "tsc",
12
12
  "prepack": "tsc -p ./tsconfig.prod.json",
13
13
  "test": "npm run copyCollectionDefintion && vitest",
14
- "testonce": "vitest --no-color run",
15
- "coverage": "vitest run --coverage",
14
+ "testonce": "npm run copyCollectionDefintion && vitest --no-color run",
15
+ "coverage": "npm run copyCollectionDefintion && vitest run --coverage",
16
16
  "heapdump": "npm run build && node --expose-gc out/tests/HeapDumpTest.js",
17
17
  "gendoc": "npx typedoc",
18
18
  "copyCollectionDefintion": "ts-node script/typescriptCollectionDefinitionCopy.ts"
@@ -1,38 +0,0 @@
1
- import { Scene } from '../../Scene';
2
- import { DataflowProblem, FlowFunction } from './DataflowProblem';
3
- import { Local } from '../base/Local';
4
- import { Value } from '../base/Value';
5
- import { Stmt } from '../base/Stmt';
6
- import { ArkMethod } from '../model/ArkMethod';
7
- import { Constant } from '../base/Constant';
8
- import { DataflowSolver } from './DataflowSolver';
9
- import { FileSignature, NamespaceSignature } from '../model/ArkSignature';
10
- import { ArkClass } from '../model/ArkClass';
11
- export declare class TiantAnalysisChecker extends DataflowProblem<Value> {
12
- zeroValue: Constant;
13
- entryPoint: Stmt;
14
- entryMethod: ArkMethod;
15
- scene: Scene;
16
- classMap: Map<FileSignature | NamespaceSignature, ArkClass[]>;
17
- globalVariableMap: Map<FileSignature | NamespaceSignature, Local[]>;
18
- sources: ArkMethod[];
19
- sinks: ArkMethod[];
20
- constructor(stmt: Stmt, method: ArkMethod);
21
- getEntryPoint(): Stmt;
22
- getEntryMethod(): ArkMethod;
23
- private callSource;
24
- setSources(methods: ArkMethod[]): void;
25
- setSinks(methods: ArkMethod[]): void;
26
- getNormalFlowFunction(srcStmt: Stmt, tgtStmt: Stmt): FlowFunction<Value>;
27
- getCallFlowFunction(srcStmt: Stmt, method: ArkMethod): FlowFunction<Value>;
28
- getExitToReturnFlowFunction(srcStmt: Stmt, tgtStmt: Stmt, callStmt: Stmt): FlowFunction<Value>;
29
- getCallToReturnFlowFunction(srcStmt: Stmt, tgtStmt: Stmt): FlowFunction<Value>;
30
- createZeroValue(): Value;
31
- getZeroValue(): Value;
32
- Json2ArkMethod(path: string): ArkMethod[];
33
- factEqual(d1: Value, d2: Value): boolean;
34
- }
35
- export declare class TiantAnalysisSolver extends DataflowSolver<Value> {
36
- constructor(problem: TiantAnalysisChecker, scene: Scene);
37
- }
38
- //# sourceMappingURL=TiantAnalysis.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TiantAnalysis.d.ts","sourceRoot":"","sources":["../../../src/core/dataflow/TiantAnalysis.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAA+C,IAAI,EAAE,MAAM,cAAc,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAE,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAGjD,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAM7C,qBAAa,oBAAqB,SAAQ,eAAe,CAAC,KAAK,CAAC;IAC5D,SAAS,EAAE,QAAQ,CAA0D;IAC7E,UAAU,EAAE,IAAI,CAAC;IACjB,WAAW,EAAE,SAAS,CAAC;IACvB,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,GAAG,CAAC,aAAa,GAAG,kBAAkB,EAAE,QAAQ,EAAE,CAAC,CAA6D;IAC1H,iBAAiB,EAAE,GAAG,CAAC,aAAa,GAAG,kBAAkB,EAAE,KAAK,EAAE,CAAC,CAA0D;IAC7H,OAAO,EAAE,SAAS,EAAE,CAAM;IAC1B,KAAK,EAAE,SAAS,EAAE,CAAM;gBACZ,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS;IAQzC,aAAa,IAAI,IAAI;IAIrB,cAAc,IAAI,SAAS;IAI3B,OAAO,CAAC,UAAU;IAWX,UAAU,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,IAAI;IAItC,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,IAAI;IAI3C,qBAAqB,CAAC,OAAO,EAAC,IAAI,EAAE,OAAO,EAAC,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC;IAsDtE,mBAAmB,CAAC,OAAO,EAAC,IAAI,EAAE,MAAM,EAAC,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;IA2DxE,2BAA2B,CAAC,OAAO,EAAC,IAAI,EAAE,OAAO,EAAC,IAAI,EAAE,QAAQ,EAAC,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC;IAsC3F,2BAA2B,CAAC,OAAO,EAAC,IAAI,EAAE,OAAO,EAAC,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC;IAkB5E,eAAe,IAAI,KAAK;IAIxB,YAAY,IAAI,KAAK;IAIrB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE;IA6DzC,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,GAAG,OAAO;CAU3C;AAED,qBAAa,mBAAoB,SAAQ,cAAc,CAAC,KAAK,CAAC;gBAC9C,OAAO,EAAE,oBAAoB,EAAE,KAAK,EAAE,KAAK;CAG1D"}