arkanalyzer 1.0.23 → 1.0.25

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 (52) hide show
  1. package/lib/Scene.d.ts.map +1 -1
  2. package/lib/Scene.js +4 -1
  3. package/lib/core/base/Constant.d.ts +3 -0
  4. package/lib/core/base/Constant.d.ts.map +1 -1
  5. package/lib/core/base/Constant.js +7 -1
  6. package/lib/core/base/Expr.d.ts.map +1 -1
  7. package/lib/core/base/Expr.js +9 -0
  8. package/lib/core/base/Type.d.ts +9 -0
  9. package/lib/core/base/Type.d.ts.map +1 -1
  10. package/lib/core/base/Type.js +15 -1
  11. package/lib/core/common/ArkIRTransformer.d.ts.map +1 -1
  12. package/lib/core/common/ArkIRTransformer.js +20 -3
  13. package/lib/core/common/ArkValueTransformer.d.ts.map +1 -1
  14. package/lib/core/common/ArkValueTransformer.js +3 -1
  15. package/lib/core/common/IRInference.d.ts.map +1 -1
  16. package/lib/core/common/IRInference.js +8 -0
  17. package/lib/core/common/TSConst.d.ts +1 -0
  18. package/lib/core/common/TSConst.d.ts.map +1 -1
  19. package/lib/core/common/TSConst.js +2 -1
  20. package/lib/core/common/TypeInference.d.ts.map +1 -1
  21. package/lib/core/common/TypeInference.js +11 -9
  22. package/lib/core/common/ValueUtil.d.ts +2 -1
  23. package/lib/core/common/ValueUtil.d.ts.map +1 -1
  24. package/lib/core/common/ValueUtil.js +3 -0
  25. package/lib/core/graph/builder/CfgBuilder.d.ts +1 -0
  26. package/lib/core/graph/builder/CfgBuilder.d.ts.map +1 -1
  27. package/lib/core/graph/builder/CfgBuilder.js +26 -1
  28. package/lib/core/model/ArkField.d.ts +3 -1
  29. package/lib/core/model/ArkField.d.ts.map +1 -1
  30. package/lib/core/model/ArkField.js +12 -0
  31. package/lib/core/model/ArkMethod.d.ts +1 -0
  32. package/lib/core/model/ArkMethod.d.ts.map +1 -1
  33. package/lib/core/model/ArkMethod.js +15 -0
  34. package/lib/core/model/builder/ArkClassBuilder.d.ts.map +1 -1
  35. package/lib/core/model/builder/ArkClassBuilder.js +37 -0
  36. package/lib/core/model/builder/ArkFieldBuilder.d.ts.map +1 -1
  37. package/lib/core/model/builder/ArkFieldBuilder.js +11 -12
  38. package/lib/core/model/builder/ArkMethodBuilder.d.ts +1 -1
  39. package/lib/core/model/builder/ArkMethodBuilder.d.ts.map +1 -1
  40. package/lib/core/model/builder/ArkMethodBuilder.js +61 -77
  41. package/lib/core/model/builder/builderUtils.d.ts.map +1 -1
  42. package/lib/core/model/builder/builderUtils.js +16 -13
  43. package/lib/save/JsonPrinter.d.ts.map +1 -1
  44. package/lib/save/JsonPrinter.js +5 -0
  45. package/lib/save/arkir/ArkIRClassPrinter.d.ts.map +1 -1
  46. package/lib/save/arkir/ArkIRClassPrinter.js +20 -12
  47. package/lib/save/arkir/ArkIRFieldPrinter.js +1 -1
  48. package/lib/save/arkir/ArkIRMethodPrinter.d.ts.map +1 -1
  49. package/lib/save/arkir/ArkIRMethodPrinter.js +11 -15
  50. package/lib/save/source/SourceTransformer.d.ts.map +1 -1
  51. package/lib/save/source/SourceTransformer.js +8 -2
  52. package/package.json +2 -2
@@ -15,7 +15,6 @@
15
15
  */
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.ArkIRMethodPrinter = void 0;
18
- const Type_1 = require("../../core/base/Type");
19
18
  const ArkStream_1 = require("../ArkStream");
20
19
  const Stmt_1 = require("../../core/base/Stmt");
21
20
  const ArkMetadata_1 = require("../../core/model/ArkMetadata");
@@ -64,7 +63,7 @@ class ArkIRMethodPrinter extends BasePrinter_1.BasePrinter {
64
63
  this.printer.writeIndent().write(this.methodProtoToString(method));
65
64
  // abstract function no body
66
65
  if (!method.getBody()) {
67
- this.printer.writeLine(';');
66
+ this.printer.writeLine('');
68
67
  return;
69
68
  }
70
69
  this.printer.writeLine(' {');
@@ -72,7 +71,6 @@ class ArkIRMethodPrinter extends BasePrinter_1.BasePrinter {
72
71
  this.printBody(method);
73
72
  this.printer.decIndent();
74
73
  this.printer.writeIndent().writeLine('}');
75
- this.printer.writeLine('');
76
74
  }
77
75
  printBody(method) {
78
76
  if (method.getCfg()) {
@@ -110,21 +108,19 @@ class ArkIRMethodPrinter extends BasePrinter_1.BasePrinter {
110
108
  });
111
109
  code.write(`(${parameters.join(', ')})`);
112
110
  const returnType = method.getReturnType();
113
- if (method.getName() !== 'constructor' && !(returnType instanceof Type_1.UnknownType)) {
114
- code.write(`: ${returnType.toString()}`);
115
- }
111
+ code.write(`: ${returnType.toString()}`);
116
112
  return code.toString();
117
113
  }
118
114
  printCfg(cfg) {
119
115
  let blocks = cfg.getBlocks();
120
- if (blocks.size === 1) {
121
- cfg.getStmts().map((stmt) => {
122
- this.printer.writeIndent().writeLine(stmt.toString());
123
- });
124
- }
125
- else {
126
- for (const block of blocks) {
127
- this.printBasicBlock(block);
116
+ let firstBB = true;
117
+ for (const block of blocks) {
118
+ if (!firstBB) {
119
+ this.printer.writeLine('');
120
+ }
121
+ this.printBasicBlock(block);
122
+ if (firstBB) {
123
+ firstBB = false;
128
124
  }
129
125
  }
130
126
  }
@@ -153,7 +149,7 @@ class ArkIRMethodPrinter extends BasePrinter_1.BasePrinter {
153
149
  this.printer.writeIndent().writeLine(stmt.toString());
154
150
  });
155
151
  }
156
- this.printer.decIndent().writeLine('');
152
+ this.printer.decIndent();
157
153
  }
158
154
  }
159
155
  exports.ArkIRMethodPrinter = ArkIRMethodPrinter;
@@ -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;AAS7D,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;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;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"}
@@ -58,6 +58,7 @@ const ArkBaseModel_1 = require("../../core/model/ArkBaseModel");
58
58
  const ArkField_1 = require("../../core/model/ArkField");
59
59
  const ArkExport_1 = require("../../core/model/ArkExport");
60
60
  const ArkImport_1 = require("../../core/model/ArkImport");
61
+ const TSConst_1 = require("../../core/common/TSConst");
61
62
  const logger = logger_1.default.getLogger(logger_1.LOG_MODULE_TYPE.ARKANALYZER, 'SourceTransformer');
62
63
  class SourceTransformer {
63
64
  constructor(context) {
@@ -106,7 +107,9 @@ class SourceTransformer {
106
107
  if (methodName === EtsConst_1.COMPONENT_CREATE_FUNCTION) {
107
108
  // Anonymous @Builder method
108
109
  if (args.length > 1) {
109
- args[1] = args[1].substring('() => '.length);
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, '');
110
113
  }
111
114
  return `${args.join(' ')}`;
112
115
  }
@@ -133,7 +136,7 @@ class SourceTransformer {
133
136
  return '}';
134
137
  }
135
138
  }
136
- if (className && className.length > 0) {
139
+ if (className && className.length > 0 && methodName !== TSConst_1.SUPER_NAME) {
137
140
  return `${className}.${methodName}${genericCode}(${args.join(', ')})`;
138
141
  }
139
142
  return `${methodName}${genericCode}(${args.join(', ')})`;
@@ -159,6 +162,9 @@ class SourceTransformer {
159
162
  if (value.getType().toString() === 'string') {
160
163
  return `'${PrinterUtils_1.PrinterUtils.escape(value.getValue())}'`;
161
164
  }
165
+ else if (value.getType().toString() === TSConst_1.BIGINT_KEYWORD) {
166
+ return `${value.getValue()}n`;
167
+ }
162
168
  else {
163
169
  return value.getValue();
164
170
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "arkanalyzer",
3
- "version": "1.0.23",
4
- "commit_id": "13cb2fa7",
3
+ "version": "1.0.25",
4
+ "commit_id": "ceb10317",
5
5
  "files": [
6
6
  "docs",
7
7
  "lib",