arkanalyzer 1.0.42 → 1.0.44

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 (78) hide show
  1. package/lib/Scene.d.ts +1 -2
  2. package/lib/Scene.d.ts.map +1 -1
  3. package/lib/Scene.js +59 -47
  4. package/lib/callgraph/pointerAnalysis/PTAUtils.d.ts +11 -5
  5. package/lib/callgraph/pointerAnalysis/PTAUtils.d.ts.map +1 -1
  6. package/lib/callgraph/pointerAnalysis/PTAUtils.js +42 -24
  7. package/lib/callgraph/pointerAnalysis/Pag.d.ts +6 -11
  8. package/lib/callgraph/pointerAnalysis/Pag.d.ts.map +1 -1
  9. package/lib/callgraph/pointerAnalysis/Pag.js +26 -23
  10. package/lib/callgraph/pointerAnalysis/PagBuilder.d.ts +11 -63
  11. package/lib/callgraph/pointerAnalysis/PagBuilder.d.ts.map +1 -1
  12. package/lib/callgraph/pointerAnalysis/PagBuilder.js +62 -495
  13. package/lib/callgraph/pointerAnalysis/PointerAnalysis.d.ts.map +1 -1
  14. package/lib/callgraph/pointerAnalysis/PointerAnalysis.js +4 -2
  15. package/lib/callgraph/pointerAnalysis/plugins/ContainerPlugin.d.ts +24 -0
  16. package/lib/callgraph/pointerAnalysis/plugins/ContainerPlugin.d.ts.map +1 -0
  17. package/lib/callgraph/pointerAnalysis/plugins/ContainerPlugin.js +167 -0
  18. package/lib/callgraph/pointerAnalysis/plugins/FunctionPlugin.d.ts +26 -0
  19. package/lib/callgraph/pointerAnalysis/plugins/FunctionPlugin.d.ts.map +1 -0
  20. package/lib/callgraph/pointerAnalysis/plugins/FunctionPlugin.js +151 -0
  21. package/lib/callgraph/pointerAnalysis/plugins/IPagPlugin.d.ts +15 -0
  22. package/lib/callgraph/pointerAnalysis/plugins/IPagPlugin.d.ts.map +1 -0
  23. package/lib/callgraph/pointerAnalysis/plugins/IPagPlugin.js +16 -0
  24. package/lib/callgraph/pointerAnalysis/plugins/PluginManager.d.ts +25 -0
  25. package/lib/callgraph/pointerAnalysis/plugins/PluginManager.d.ts.map +1 -0
  26. package/lib/callgraph/pointerAnalysis/plugins/PluginManager.js +66 -0
  27. package/lib/callgraph/pointerAnalysis/plugins/SdkPlugin.d.ts +37 -0
  28. package/lib/callgraph/pointerAnalysis/plugins/SdkPlugin.d.ts.map +1 -0
  29. package/lib/callgraph/pointerAnalysis/plugins/SdkPlugin.js +160 -0
  30. package/lib/callgraph/pointerAnalysis/plugins/StoragePlugin.d.ts +68 -0
  31. package/lib/callgraph/pointerAnalysis/plugins/StoragePlugin.d.ts.map +1 -0
  32. package/lib/callgraph/pointerAnalysis/plugins/StoragePlugin.js +288 -0
  33. package/lib/core/common/DummyMainCreater.js +1 -1
  34. package/lib/core/common/IRInference.d.ts.map +1 -1
  35. package/lib/core/common/IRInference.js +4 -0
  36. package/lib/core/common/SdkUtils.d.ts +1 -1
  37. package/lib/core/common/SdkUtils.d.ts.map +1 -1
  38. package/lib/core/common/SdkUtils.js +18 -18
  39. package/lib/core/common/TypeInference.d.ts.map +1 -1
  40. package/lib/core/common/TypeInference.js +11 -2
  41. package/lib/core/graph/builder/CfgBuilder.js +1 -1
  42. package/lib/core/graph/builder/ConditionBuilder.js +1 -1
  43. package/lib/core/model/ArkClass.d.ts.map +1 -1
  44. package/lib/core/model/ArkClass.js +2 -1
  45. package/lib/core/model/builder/ArkMethodBuilder.d.ts +1 -0
  46. package/lib/core/model/builder/ArkMethodBuilder.d.ts.map +1 -1
  47. package/lib/core/model/builder/ArkMethodBuilder.js +40 -5
  48. package/lib/core/model/builder/BodyBuilder.js +1 -1
  49. package/lib/pass/Dispatcher.d.ts +2 -2
  50. package/lib/pass/Dispatcher.d.ts.map +1 -1
  51. package/lib/pass/Pass.d.ts +3 -3
  52. package/lib/pass/Pass.d.ts.map +1 -1
  53. package/lib/pass/ScenePassMgr.d.ts +4 -4
  54. package/lib/pass/ScenePassMgr.d.ts.map +1 -1
  55. package/lib/pass/validators/Exprs.d.ts +9 -0
  56. package/lib/pass/validators/Exprs.d.ts.map +1 -0
  57. package/lib/pass/validators/Exprs.js +40 -0
  58. package/lib/pass/validators/Models.d.ts +14 -0
  59. package/lib/pass/validators/Models.d.ts.map +1 -0
  60. package/lib/pass/validators/Models.js +42 -0
  61. package/lib/pass/validators/SceneValidator.d.ts +19 -0
  62. package/lib/pass/validators/SceneValidator.d.ts.map +1 -0
  63. package/lib/pass/validators/SceneValidator.js +77 -0
  64. package/lib/pass/validators/Stmts.d.ts +7 -0
  65. package/lib/pass/validators/Stmts.d.ts.map +1 -0
  66. package/lib/pass/validators/Stmts.js +36 -0
  67. package/lib/pass/{SceneValidator.d.ts → validators/Validator.d.ts} +100 -108
  68. package/lib/pass/validators/Validator.d.ts.map +1 -0
  69. package/lib/pass/{SceneValidator.js → validators/Validator.js} +147 -143
  70. package/lib/pass/validators/Values.d.ts +7 -0
  71. package/lib/pass/validators/Values.d.ts.map +1 -0
  72. package/lib/pass/validators/Values.js +34 -0
  73. package/lib/save/source/SourceStmt.js +1 -1
  74. package/lib/save/source/SourceTransformer.d.ts.map +1 -1
  75. package/lib/save/source/SourceTransformer.js +16 -1
  76. package/lib/utils/FileUtils.js +1 -1
  77. package/package.json +2 -2
  78. package/lib/pass/SceneValidator.d.ts.map +0 -1
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2024-2025 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.LocalValidator = void 0;
18
+ const Validator_1 = require("./Validator");
19
+ const Local_1 = require("../../core/base/Local");
20
+ const Const_1 = require("../../core/common/Const");
21
+ class LocalValidator extends Validator_1.ValueValidator {
22
+ validate(value, ctx) {
23
+ if (value.getName().startsWith(Const_1.NAME_PREFIX) && !value.getDeclaringStmt()) {
24
+ ctx.info(`should have declaring stmt`);
25
+ }
26
+ }
27
+ }
28
+ exports.LocalValidator = LocalValidator;
29
+ LocalValidator.INSTANCE = new LocalValidator();
30
+ (() => {
31
+ LocalValidator.register([Local_1.Local, (v, ctx, mtd) => {
32
+ LocalValidator.INSTANCE.run(v, ctx, mtd);
33
+ }]);
34
+ })();
@@ -776,7 +776,7 @@ class SourceCatchStmt extends SourceStmt {
776
776
  }
777
777
  transfer2ts() {
778
778
  if (this.block) {
779
- let stmt = this.block.getStmts()[0];
779
+ let stmt = this.block.getHead();
780
780
  if (stmt instanceof Stmt_1.ArkAssignStmt) {
781
781
  if (stmt.getLeftOp() instanceof Local_1.Local) {
782
782
  let name = stmt.getLeftOp().getName();
@@ -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,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAC;IAEvD,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,EAAE,MAAM,EAAE,OAAO,GAAG,MAAM;IAiB7F,OAAO,CAAC,kBAAkB;IAuCnB,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;IA4Db,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM;IA0BvC,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,GAAE,OAAe,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM;IAqBxF,OAAO,CAAC,aAAa;IA4Bd,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,EAAyB,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACvG,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;AAInD,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,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAC;IAEvD,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,EAAE,MAAM,EAAE,OAAO,GAAG,MAAM;IA+B7F,OAAO,CAAC,kBAAkB;IAuCnB,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;IA4Db,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM;IA0BvC,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,GAAE,OAAe,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM;IAqBxF,OAAO,CAAC,aAAa;IA4Bd,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"}
@@ -43,6 +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 ArkMethod_1 = require("../../core/model/ArkMethod");
46
+ const ArkSignature_1 = require("../../core/model/ArkSignature");
46
47
  const logger_1 = __importStar(require("../../utils/logger"));
47
48
  const PrinterUtils_1 = require("../base/PrinterUtils");
48
49
  const SourceMethod_1 = require("./SourceMethod");
@@ -86,7 +87,21 @@ class SourceTransformer {
86
87
  if (isAttr && this.context.isInBuilderMethod()) {
87
88
  return `.${methodName}${genericCode}(${args.join(', ')})`;
88
89
  }
89
- return `${this.valueToString(invokeExpr.getBase())}.${methodName}${genericCode}(${args.join(', ')})`;
90
+ const base = invokeExpr.getBase();
91
+ if (base.getName() === TSConst_1.THIS_NAME) {
92
+ if (methodName === TSConst_1.CONSTRUCTOR_NAME) {
93
+ return `super(${args.join(', ')})`;
94
+ }
95
+ // If base type is not match the method declaring class, here take it as super.foo() even though the source code may be this.foo().
96
+ // Because it can not distinguish exactly whether it's this.foo() or super.foo() when foo is only defined in super class.
97
+ const baseType = base.getType();
98
+ if (baseType instanceof Type_1.ClassType) {
99
+ if (!(0, ArkSignature_1.classSignatureCompare)(baseType.getClassSignature(), invokeExpr.getMethodSignature().getDeclaringClassSignature())) {
100
+ return `super.${methodName}${genericCode}(${args.join(', ')})`;
101
+ }
102
+ }
103
+ }
104
+ return `${this.valueToString(base)}.${methodName}${genericCode}(${args.join(', ')})`;
90
105
  }
91
106
  transBuilderMethod(className, methodName, args, invokeExpr, genericCode) {
92
107
  if (className === EtsConst_1.COMPONENT_CUSTOMVIEW) {
@@ -94,7 +94,7 @@ class FileUtils {
94
94
  }
95
95
  }
96
96
  else {
97
- path_1.default.resolve(dir, 'oh_modules', name);
97
+ modulePath = path_1.default.resolve(dir, 'oh_modules', name);
98
98
  }
99
99
  moduleMap.set(name, new ModulePath(modulePath, main));
100
100
  });
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "arkanalyzer",
3
- "version": "1.0.42",
4
- "commit_id": "9990fed7",
3
+ "version": "1.0.44",
4
+ "commit_id": "f1c7c2d4",
5
5
  "files": [
6
6
  "docs",
7
7
  "lib",
@@ -1 +0,0 @@
1
- {"version":3,"file":"SceneValidator.d.ts","sourceRoot":"","sources":["../../src/pass/SceneValidator.ts"],"names":[],"mappings":"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"}