arkanalyzer 1.0.75 → 1.0.77

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 (31) hide show
  1. package/lib/callgraph/pointerAnalysis/PTAUtils.d.ts +12 -9
  2. package/lib/callgraph/pointerAnalysis/PTAUtils.d.ts.map +1 -1
  3. package/lib/callgraph/pointerAnalysis/PTAUtils.js +19 -9
  4. package/lib/callgraph/pointerAnalysis/Pag.d.ts +10 -0
  5. package/lib/callgraph/pointerAnalysis/Pag.d.ts.map +1 -1
  6. package/lib/callgraph/pointerAnalysis/Pag.js +124 -4
  7. package/lib/callgraph/pointerAnalysis/PagBuilder.d.ts +24 -7
  8. package/lib/callgraph/pointerAnalysis/PagBuilder.d.ts.map +1 -1
  9. package/lib/callgraph/pointerAnalysis/PagBuilder.js +163 -42
  10. package/lib/callgraph/pointerAnalysis/PointerAnalysis.d.ts.map +1 -1
  11. package/lib/callgraph/pointerAnalysis/PointerAnalysis.js +3 -1
  12. package/lib/callgraph/pointerAnalysis/context/Context.d.ts +1 -0
  13. package/lib/callgraph/pointerAnalysis/context/Context.d.ts.map +1 -1
  14. package/lib/callgraph/pointerAnalysis/context/Context.js +5 -1
  15. package/lib/callgraph/pointerAnalysis/plugins/ContainerPlugin.d.ts.map +1 -1
  16. package/lib/callgraph/pointerAnalysis/plugins/ContainerPlugin.js +9 -1
  17. package/lib/core/common/Builtin.d.ts +2 -0
  18. package/lib/core/common/Builtin.d.ts.map +1 -1
  19. package/lib/core/common/Builtin.js +2 -0
  20. package/lib/core/common/IRInference.d.ts +4 -0
  21. package/lib/core/common/IRInference.d.ts.map +1 -1
  22. package/lib/core/common/IRInference.js +100 -0
  23. package/lib/core/common/TypeInference.d.ts.map +1 -1
  24. package/lib/core/common/TypeInference.js +5 -5
  25. package/lib/core/inference/ValueInference.d.ts +1 -3
  26. package/lib/core/inference/ValueInference.d.ts.map +1 -1
  27. package/lib/core/inference/ValueInference.js +23 -76
  28. package/lib/core/inference/abc/AbcInference.js +2 -1
  29. package/lib/core/inference/arkts/ArkTsInference.d.ts.map +1 -1
  30. package/lib/core/inference/arkts/ArkTsInference.js +2 -1
  31. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"ValueInference.d.ts","sourceRoot":"","sources":["../../../src/core/inference/ValueInference.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAe,mBAAmB,EAAE,eAAe,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACpH,OAAO,EAaH,IAAI,EAGP,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAI/C,OAAO,EACH,kBAAkB,EAClB,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,EACf,UAAU,EACV,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EAEtB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAQtC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAIpC,oBAAY,aAAa;IACrB,OAAO,KAAK;IACZ,MAAM,IAAI;IACV,SAAS,IAAI;IACb,SAAS,IAAI;IACb,WAAW,IAAI;IACf,GAAG,KAAK;IACR,GAAG,KAAK;CACX;AAED,eAAO,MAAM,UAAU,EAAE,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAsC,CAAC;AAE3F,wBAAgB,IAAI,CAAC,IAAI,GAAE,aAAoC,GAAG,QAAQ,CAMzE;AAED;;;GAGG;AACH,8BAAsB,cAAc,CAAC,CAAC,SAAS,KAAK,CAAE,YAAW,SAAS,EAAE,aAAa;IACrF;;;OAGG;aACa,YAAY,IAAI,MAAM;IAEtC;;;;;OAKG;aACa,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,OAAO;IAExD;;;;;OAKG;aACa,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,KAAK,GAAG,SAAS;IAE/D;;;;;OAKG;IACI,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI;IAc3C;;;;;;OAMG;IACI,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI;CASlE;AAED;;;GAGG;AACH,qBACa,qBAAsB,SAAQ,cAAc,CAAC,eAAe,CAAC;IAC/D,YAAY,IAAI,MAAM;IAI7B;;;;;OAKG;IACI,QAAQ,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO;IAKhD;;;;;;OAMG;IACI,KAAK,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,GAAG,SAAS;CAItE;AAED;;;GAGG;AACH,qBACa,wBAAyB,SAAQ,cAAc,CAAC,eAAe,CAAC;IAClE,YAAY,IAAI,MAAM;IAI7B;;;;;OAKG;IACI,QAAQ,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO;IAKhD;;;;;OAKG;IACI,KAAK,CAAC,KAAK,EAAE,eAAe,GAAG,KAAK,GAAG,SAAS;CAU1D;AAED,qBACa,iBAAkB,SAAQ,cAAc,CAAC,mBAAmB,CAAC;IAC/D,YAAY,IAAI,MAAM;IAI7B;;;;;;OAMG;IACI,QAAQ,CAAC,KAAK,EAAE,mBAAmB,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,OAAO;IAKjE;;;;;;;OAOG;IACI,KAAK,CAAC,KAAK,EAAE,mBAAmB,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,GAAG,SAAS;CAsB1E;AAED,qBACa,uBAAwB,SAAQ,cAAc,CAAC,iBAAiB,CAAC;IACnE,YAAY,IAAI,MAAM;IAI7B;;;;;;OAMG;IACI,QAAQ,CAAC,KAAK,EAAE,iBAAiB,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,OAAO;IAK/D;;;;;;OAMG;IACI,KAAK,CAAC,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,GAAG,SAAS;CAiBxE;AAGD,qBACa,2BAA4B,SAAQ,cAAc,CAAC,qBAAqB,CAAC;IAE3E,YAAY,IAAI,MAAM;IAI7B;;;;;;OAMG;IACI,QAAQ,CAAC,KAAK,EAAE,qBAAqB,EAAE,IAAI,EAAE,IAAI,GAAG,SAAS,GAAG,OAAO;IAK9E;;;;;;OAMG;IACI,KAAK,CAAC,KAAK,EAAE,qBAAqB,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,GAAG,SAAS;IAMzE;;;;;;OAMG;IACI,SAAS,CAAC,KAAK,EAAE,qBAAqB,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI;IAW1E,aAAa,CAAC,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,SAAS,GAAG,MAAM;WAI9D,eAAe,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI;WAsC9H,mBAAmB,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI;CAsB3I;AAED,qBACa,yBAA0B,SAAQ,2BAA2B;IAE/D,YAAY,IAAI,MAAM;IAItB,QAAQ,CAAC,KAAK,EAAE,mBAAmB,EAAE,IAAI,EAAE,IAAI,GAAG,SAAS,GAAG,OAAO;IAIrE,KAAK,CAAC,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,GAAG,SAAS;IA2BtE,OAAO,CAAC,WAAW;CAOtB;AAED,qBACa,yBAA0B,SAAQ,yBAAyB;IAC7D,YAAY,IAAI,MAAM;IAItB,KAAK,CAAC,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,GAAG,SAAS;CAQtE;AAGD,qBACa,mBAAoB,SAAQ,cAAc,CAAC,UAAU,CAAC;IACxD,YAAY,IAAI,MAAM;IAItB,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO;IAIpC,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,GAAG,SAAS;CAqBjE;AAED,qBACa,wBAAyB,SAAQ,cAAc,CAAC,eAAe,CAAC;IAClE,YAAY,IAAI,MAAM;IAItB,QAAQ,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO;IAIzC,KAAK,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,GAAG,SAAS;CAOtE;AAGD,qBACa,2BAA4B,SAAQ,cAAc,CAAC,kBAAkB,CAAC;IACxE,YAAY,IAAI,MAAM;IAItB,QAAQ,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO;IAI5C,KAAK,CAAC,KAAK,EAAE,kBAAkB,GAAG,KAAK,GAAG,SAAS;CAI7D;AAED,qBACa,yBAA0B,SAAQ,2BAA2B;IAC/D,YAAY,IAAI,MAAM;IAItB,QAAQ,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO;IAI1C,KAAK,CAAC,KAAK,EAAE,gBAAgB,GAAG,KAAK,GAAG,SAAS;CAc3D;AAGD,qBACa,0BAA2B,SAAQ,cAAc,CAAC,iBAAiB,CAAC;IACtE,YAAY,IAAI,MAAM;IAItB,QAAQ,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO;IAI3C,KAAK,CAAC,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,GAAG,SAAS;CAOxE;AAED,qBACa,oBAAqB,SAAQ,cAAc,CAAC,WAAW,CAAC;IAC1D,YAAY,IAAI,MAAM;IAItB,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO;IAIrC,KAAK,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,GAAG,SAAS;CAWlE;AAGD,qBACa,cAAe,SAAQ,cAAc,CAAC,KAAK,CAAC;IAC9C,YAAY,IAAI,MAAM;IAItB,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;IAI/B,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,GAAG,SAAS;CAmB5D;AAGD,qBACa,sBAAuB,SAAQ,iBAAiB;IAClD,QAAQ,CAAC,KAAK,EAAE,mBAAmB,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO;IAOhE;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB;CAO7B;AAGD,qBACa,gCAAiC,SAAQ,2BAA2B;IAC7E;;;;;;OAMG;IACI,KAAK,CAAC,KAAK,EAAE,qBAAqB,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,GAAG,SAAS;CAQ5E;AAGD,qBACa,sBAAuB,SAAQ,cAAc,CAAC,aAAa,CAAC;IAC9D,YAAY,IAAI,MAAM;IAItB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO;IAIvC,KAAK,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,GAAG,SAAS;CAwCpE;AAGD,qBACa,mBAAoB,SAAQ,cAAc;IAC5C,YAAY,IAAI,MAAM;IAItB,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;IAW/B,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,GAAG,SAAS;CAyB5D;AAED,qBACa,oBAAqB,SAAQ,iBAAiB;IAChD,YAAY,IAAI,MAAM;IAItB,QAAQ,CAAC,KAAK,EAAE,mBAAmB,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO;CAWnE"}
1
+ {"version":3,"file":"ValueInference.d.ts","sourceRoot":"","sources":["../../../src/core/inference/ValueInference.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACvG,OAAO,EAYH,IAAI,EACP,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAI/C,OAAO,EACH,kBAAkB,EAClB,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,EACf,UAAU,EACV,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EAEtB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAWtC,oBAAY,aAAa;IACrB,OAAO,KAAK;IACZ,MAAM,IAAI;IACV,SAAS,IAAI;IACb,SAAS,IAAI;IACb,WAAW,IAAI;IACf,GAAG,KAAK;IACR,GAAG,KAAK;CACX;AAED,eAAO,MAAM,UAAU,EAAE,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAsC,CAAC;AAE3F,wBAAgB,IAAI,CAAC,IAAI,GAAE,aAAoC,GAAG,QAAQ,CAMzE;AAED;;;GAGG;AACH,8BAAsB,cAAc,CAAC,CAAC,SAAS,KAAK,CAAE,YAAW,SAAS,EAAE,aAAa;IACrF;;;OAGG;aACa,YAAY,IAAI,MAAM;IAEtC;;;;;OAKG;aACa,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,OAAO;IAExD;;;;;OAKG;aACa,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,KAAK,GAAG,SAAS;IAE/D;;;;;OAKG;IACI,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI;IAc3C;;;;;;OAMG;IACI,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI;CASlE;AAED;;;GAGG;AACH,qBACa,qBAAsB,SAAQ,cAAc,CAAC,eAAe,CAAC;IAC/D,YAAY,IAAI,MAAM;IAI7B;;;;;OAKG;IACI,QAAQ,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO;IAKhD;;;;;;OAMG;IACI,KAAK,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,GAAG,SAAS;CAItE;AAED;;;GAGG;AACH,qBACa,wBAAyB,SAAQ,cAAc,CAAC,eAAe,CAAC;IAClE,YAAY,IAAI,MAAM;IAI7B;;;;;OAKG;IACI,QAAQ,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO;IAKhD;;;;;OAKG;IACI,KAAK,CAAC,KAAK,EAAE,eAAe,GAAG,KAAK,GAAG,SAAS;CAU1D;AAED,qBACa,iBAAkB,SAAQ,cAAc,CAAC,mBAAmB,CAAC;IAC/D,YAAY,IAAI,MAAM;IAI7B;;;;;;OAMG;IACI,QAAQ,CAAC,KAAK,EAAE,mBAAmB,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,OAAO;IAKjE;;;;;;;OAOG;IACI,KAAK,CAAC,KAAK,EAAE,mBAAmB,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,GAAG,SAAS;CAS1E;AAED,qBACa,uBAAwB,SAAQ,cAAc,CAAC,iBAAiB,CAAC;IACnE,YAAY,IAAI,MAAM;IAI7B;;;;;;OAMG;IACI,QAAQ,CAAC,KAAK,EAAE,iBAAiB,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,OAAO;IAK/D;;;;;;OAMG;IACI,KAAK,CAAC,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,GAAG,SAAS;CAWxE;AAGD,qBACa,2BAA4B,SAAQ,cAAc,CAAC,qBAAqB,CAAC;IAE3E,YAAY,IAAI,MAAM;IAI7B;;;;;;OAMG;IACI,QAAQ,CAAC,KAAK,EAAE,qBAAqB,EAAE,IAAI,EAAE,IAAI,GAAG,SAAS,GAAG,OAAO;IAK9E;;;;;;OAMG;IACI,KAAK,CAAC,KAAK,EAAE,qBAAqB,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,GAAG,SAAS;IAMzE;;;;;;OAMG;IACI,SAAS,CAAC,KAAK,EAAE,qBAAqB,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI;IAW1E,aAAa,CAAC,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,SAAS,GAAG,MAAM;WAI9D,eAAe,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,SAAS,GAAG,kBAAkB,GAAG,IAAI;CAiC3H;AAED,qBACa,yBAA0B,SAAQ,2BAA2B;IAE/D,YAAY,IAAI,MAAM;IAItB,QAAQ,CAAC,KAAK,EAAE,mBAAmB,EAAE,IAAI,EAAE,IAAI,GAAG,SAAS,GAAG,OAAO;IAIrE,KAAK,CAAC,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,GAAG,SAAS;IA2BtE,OAAO,CAAC,WAAW;CAOtB;AAED,qBACa,yBAA0B,SAAQ,yBAAyB;IAC7D,YAAY,IAAI,MAAM;IAItB,KAAK,CAAC,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,GAAG,SAAS;CAQtE;AAGD,qBACa,mBAAoB,SAAQ,cAAc,CAAC,UAAU,CAAC;IACxD,YAAY,IAAI,MAAM;IAItB,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO;IAIpC,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,GAAG,SAAS;CAqBjE;AAED,qBACa,wBAAyB,SAAQ,cAAc,CAAC,eAAe,CAAC;IAClE,YAAY,IAAI,MAAM;IAItB,QAAQ,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO;IAIzC,KAAK,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,GAAG,SAAS;CAOtE;AAGD,qBACa,2BAA4B,SAAQ,cAAc,CAAC,kBAAkB,CAAC;IACxE,YAAY,IAAI,MAAM;IAItB,QAAQ,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO;IAI5C,KAAK,CAAC,KAAK,EAAE,kBAAkB,GAAG,KAAK,GAAG,SAAS;CAI7D;AAED,qBACa,yBAA0B,SAAQ,2BAA2B;IAC/D,YAAY,IAAI,MAAM;IAItB,QAAQ,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO;IAI1C,KAAK,CAAC,KAAK,EAAE,gBAAgB,GAAG,KAAK,GAAG,SAAS;CAc3D;AAGD,qBACa,0BAA2B,SAAQ,cAAc,CAAC,iBAAiB,CAAC;IACtE,YAAY,IAAI,MAAM;IAItB,QAAQ,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO;IAI3C,KAAK,CAAC,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,GAAG,SAAS;CAOxE;AAED,qBACa,oBAAqB,SAAQ,cAAc,CAAC,WAAW,CAAC;IAC1D,YAAY,IAAI,MAAM;IAItB,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO;IAIrC,KAAK,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,GAAG,SAAS;CAWlE;AAGD,qBACa,cAAe,SAAQ,cAAc,CAAC,KAAK,CAAC;IAC9C,YAAY,IAAI,MAAM;IAItB,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;IAI/B,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,GAAG,SAAS;CAmB5D;AAGD,qBACa,sBAAuB,SAAQ,iBAAiB;IAClD,QAAQ,CAAC,KAAK,EAAE,mBAAmB,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO;IAOhE;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB;CAO7B;AAGD,qBACa,gCAAiC,SAAQ,2BAA2B;IAC7E;;;;;;OAMG;IACI,KAAK,CAAC,KAAK,EAAE,qBAAqB,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,GAAG,SAAS;CAQ5E;AAGD,qBACa,sBAAuB,SAAQ,cAAc,CAAC,aAAa,CAAC;IAC9D,YAAY,IAAI,MAAM;IAItB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO;IAIvC,KAAK,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,GAAG,SAAS;CAwCpE;AAGD,qBACa,mBAAoB,SAAQ,cAAc;IAC5C,YAAY,IAAI,MAAM;IAItB,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;IAW/B,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,GAAG,SAAS;CAyB5D;AAED,qBACa,oBAAqB,SAAQ,iBAAiB;IAChD,YAAY,IAAI,MAAM;IAItB,QAAQ,CAAC,KAAK,EAAE,mBAAmB,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO;CAWnE"}
@@ -56,13 +56,13 @@ const TSConst_1 = require("../common/TSConst");
56
56
  const Expr_1 = require("../base/Expr");
57
57
  const ModelUtils_1 = require("../common/ModelUtils");
58
58
  const Local_1 = require("../base/Local");
59
- const Builtin_1 = require("../common/Builtin");
60
59
  const ArkClass_1 = require("../model/ArkClass");
61
60
  const Constant_1 = require("../base/Constant");
62
61
  const logger_1 = __importStar(require("../../utils/logger"));
63
62
  const ArkSignature_1 = require("../model/ArkSignature");
64
63
  const ArkImport_1 = require("../model/ArkImport");
65
64
  const ArkField_1 = require("../model/ArkField");
65
+ const Builtin_1 = require("../common/Builtin");
66
66
  const logger = logger_1.default.getLogger(logger_1.LOG_MODULE_TYPE.ARKANALYZER, 'ValueInference');
67
67
  var InferLanguage;
68
68
  (function (InferLanguage) {
@@ -225,27 +225,11 @@ let FieldRefInference = class FieldRefInference extends ValueInference {
225
225
  * or undefined for regular instance fields
226
226
  */
227
227
  infer(value, stmt) {
228
- const baseType = TypeInference_1.TypeInference.replaceAliasType(value.getBase().getType());
228
+ const baseType = value.getBase().getType();
229
229
  const arkMethod = stmt.getCfg().getDeclaringMethod();
230
- // Special handling for array types with dynamic field access
231
- if (baseType instanceof Type_1.ArrayType && value.isDynamic()) {
232
- const index = TypeInference_1.TypeInference.getLocalFromMethodBody(value.getFieldName(), arkMethod);
233
- if (index) {
234
- return new Ref_1.ArkArrayRef(value.getBase(), index);
235
- }
236
- else {
237
- return new Ref_1.ArkArrayRef(value.getBase(), ValueUtil_1.ValueUtil.createConst(value.getFieldName()));
238
- }
239
- }
240
230
  // Generate updated field signature based on current context
241
- const newFieldSignature = IRInference_1.IRInference.generateNewFieldSignature(value, arkMethod.getDeclaringArkClass(), baseType);
242
- if (newFieldSignature) {
243
- value.setFieldSignature(newFieldSignature);
244
- if (newFieldSignature.isStatic()) {
245
- return new Ref_1.ArkStaticFieldRef(newFieldSignature);
246
- }
247
- }
248
- return undefined;
231
+ const result = IRInference_1.IRInference.inferInstanceMember(baseType, value, arkMethod, IRInference_1.IRInference.updateRefSignature);
232
+ return !result || result === value ? undefined : result;
249
233
  }
250
234
  };
251
235
  FieldRefInference = __decorate([
@@ -277,19 +261,13 @@ let StaticFieldRefInference = class StaticFieldRefInference extends ValueInferen
277
261
  infer(value, stmt) {
278
262
  const baseSignature = value.getFieldSignature().getDeclaringSignature();
279
263
  const baseName = baseSignature instanceof ArkSignature_1.ClassSignature ? baseSignature.getClassName() : baseSignature.getNamespaceName();
280
- const arkClass = stmt.getCfg().getDeclaringMethod().getDeclaringArkClass();
281
- const baseType = TypeInference_1.TypeInference.inferBaseType(baseName, arkClass);
264
+ const arkMethod = stmt.getCfg().getDeclaringMethod();
265
+ const baseType = TypeInference_1.TypeInference.inferBaseType(baseName, arkMethod.getDeclaringArkClass());
282
266
  if (!baseType) {
283
267
  return undefined;
284
268
  }
285
- const newFieldSignature = IRInference_1.IRInference.generateNewFieldSignature(value, arkClass, baseType);
286
- if (newFieldSignature) {
287
- value.setFieldSignature(newFieldSignature);
288
- if (newFieldSignature.isStatic()) {
289
- return new Ref_1.ArkStaticFieldRef(newFieldSignature);
290
- }
291
- }
292
- return undefined;
269
+ const result = IRInference_1.IRInference.inferInstanceMember(baseType, value, arkMethod, IRInference_1.IRInference.updateRefSignature);
270
+ return !result || result === value ? undefined : result;
293
271
  }
294
272
  };
295
273
  StaticFieldRefInference = __decorate([
@@ -320,7 +298,7 @@ let InstanceInvokeExprInference = InstanceInvokeExprInference_1 = class Instance
320
298
  */
321
299
  infer(value, stmt) {
322
300
  const arkMethod = stmt.getCfg().getDeclaringMethod();
323
- const result = InstanceInvokeExprInference_1.inferInvokeExpr(value.getBase().getType(), value, arkMethod, this.getMethodName(value, arkMethod));
301
+ const result = IRInference_1.IRInference.inferInstanceMember(value.getBase().getType(), value, arkMethod, InstanceInvokeExprInference_1.inferInvokeExpr);
324
302
  return !result || result === value ? undefined : result;
325
303
  }
326
304
  /**
@@ -344,49 +322,21 @@ let InstanceInvokeExprInference = InstanceInvokeExprInference_1 = class Instance
344
322
  getMethodName(expr, arkMethod) {
345
323
  return expr.getMethodSignature().getMethodSubSignature().getMethodName();
346
324
  }
347
- static inferInvokeExpr(baseType, expr, arkMethod, methodName) {
348
- var _a;
349
- // Handle baseType
350
- if (baseType instanceof Type_1.AliasType) {
351
- baseType = TypeInference_1.TypeInference.replaceAliasType(baseType);
352
- }
353
- else if (baseType instanceof Type_1.UnionType) {
354
- for (let type of baseType.flatType()) {
355
- if (type instanceof Type_1.UndefinedType || type instanceof Type_1.NullType) {
356
- continue;
357
- }
358
- let result = this.inferInvokeExpr(type, expr, arkMethod, methodName);
359
- if (result) {
360
- return result;
361
- }
362
- }
363
- }
364
- else if (baseType instanceof Type_1.ArrayType) {
365
- const arrayClass = arkMethod.getDeclaringArkFile().getScene().getSdkGlobal(Builtin_1.Builtin.ARRAY);
366
- if (arrayClass instanceof ArkClass_1.ArkClass) {
367
- baseType = new Type_1.ClassType(arrayClass.getSignature(), [baseType.getBaseType()]);
368
- }
369
- }
370
- else if (baseType instanceof Type_1.GenericType) {
371
- const newType = (_a = baseType.getDefaultType()) !== null && _a !== void 0 ? _a : baseType.getConstraint();
372
- if (!newType) {
373
- return null;
325
+ static inferInvokeExpr(baseType, expr, arkMethod) {
326
+ const methodName = expr.getMethodSignature().getMethodSubSignature().getMethodName();
327
+ const scene = arkMethod.getDeclaringArkFile().getScene();
328
+ if (baseType instanceof Type_1.ArrayType || baseType instanceof Type_1.TupleType) {
329
+ const arrayInterface = scene.getSdkGlobal(Builtin_1.Builtin.ARRAY);
330
+ const realTypes = baseType instanceof Type_1.ArrayType ? [baseType.getBaseType()] : undefined;
331
+ if (arrayInterface instanceof ArkClass_1.ArkClass) {
332
+ baseType = new Type_1.ClassType(arrayInterface.getSignature(), realTypes);
374
333
  }
375
- return this.inferInvokeExpr(newType, expr, arkMethod, methodName);
376
- }
377
- else if (baseType instanceof Type_1.StringType || baseType instanceof Type_1.NumberType || baseType instanceof Type_1.BooleanType) {
378
- // Convert primitive types to their wrapper class types
379
- const name = baseType.getName();
380
- const className = name.charAt(0).toUpperCase() + name.slice(1);
381
- const arrayClass = arkMethod.getDeclaringArkFile().getScene().getSdkGlobal(className);
382
- if (arrayClass instanceof ArkClass_1.ArkClass) {
383
- baseType = new Type_1.ClassType(arrayClass.getSignature());
334
+ else if (methodName === Builtin_1.Builtin.ITERATOR_FUNCTION) {
335
+ expr.getMethodSignature().getMethodSubSignature().setReturnType(Builtin_1.Builtin.ITERATOR_CLASS_TYPE);
336
+ expr.setRealGenericTypes(realTypes !== null && realTypes !== void 0 ? realTypes : expr.getRealGenericTypes());
337
+ return expr;
384
338
  }
385
339
  }
386
- const scene = arkMethod.getDeclaringArkFile().getScene();
387
- return this.inferMethodFromBase(baseType, expr, scene, methodName);
388
- }
389
- static inferMethodFromBase(baseType, expr, scene, methodName) {
390
340
  // Dispatch to appropriate inference method based on resolved base type
391
341
  if (baseType instanceof Type_1.ClassType) {
392
342
  return IRInference_1.IRInference.inferInvokeExprWithDeclaredClass(expr, baseType, methodName, scene);
@@ -406,9 +356,6 @@ let InstanceInvokeExprInference = InstanceInvokeExprInference_1 = class Instance
406
356
  else if (baseType instanceof Type_1.FunctionType) {
407
357
  return IRInference_1.IRInference.inferInvokeExprWithFunction(methodName, expr, baseType, scene);
408
358
  }
409
- else if (baseType instanceof Type_1.ArrayType) {
410
- return IRInference_1.IRInference.inferInvokeExprWithArray(methodName, expr, baseType, scene);
411
- }
412
359
  return null;
413
360
  }
414
361
  };
@@ -447,7 +394,7 @@ let StaticInvokeExprInference = class StaticInvokeExprInference extends Instance
447
394
  return undefined;
448
395
  }
449
396
  const baseType = this.getBaseType(expr, arkMethod);
450
- const result = baseType ? InstanceInvokeExprInference.inferInvokeExpr(baseType, expr, arkMethod, methodName) :
397
+ const result = baseType ? IRInference_1.IRInference.inferInstanceMember(baseType, expr, arkMethod, InstanceInvokeExprInference.inferInvokeExpr) :
451
398
  IRInference_1.IRInference.inferStaticInvokeExprByMethodName(methodName, arkMethod, expr);
452
399
  return !result || result === expr ? undefined : result;
453
400
  }
@@ -690,7 +637,7 @@ let ArkTsInstanceInvokeExprInference = class ArkTsInstanceInvokeExprInference ex
690
637
  var _a;
691
638
  const arkMethod = stmt.getCfg().getDeclaringMethod();
692
639
  TypeInference_1.TypeInference.inferRealGenericTypes(value.getRealGenericTypes(), arkMethod.getDeclaringArkClass());
693
- const result = (_a = InstanceInvokeExprInference.inferInvokeExpr(value.getBase().getType(), value, arkMethod, super.getMethodName(value, arkMethod))) !== null && _a !== void 0 ? _a : IRInference_1.IRInference.processExtendFunc(value, arkMethod, super.getMethodName(value, arkMethod));
640
+ const result = (_a = IRInference_1.IRInference.inferInstanceMember(value.getBase().getType(), value, arkMethod, InstanceInvokeExprInference.inferInvokeExpr)) !== null && _a !== void 0 ? _a : IRInference_1.IRInference.processExtendFunc(value, arkMethod, super.getMethodName(value, arkMethod));
694
641
  return !result || result === value ? undefined : result;
695
642
  }
696
643
  };
@@ -23,6 +23,7 @@ const InferenceBuilder_1 = require("../InferenceBuilder");
23
23
  const SdkUtils_1 = require("../../common/SdkUtils");
24
24
  const ValueInference_1 = require("../ValueInference");
25
25
  const TypeInference_1 = require("../../common/TypeInference");
26
+ const Type_1 = require("../../base/Type");
26
27
  const Local_1 = require("../../base/Local");
27
28
  const Ref_1 = require("../../base/Ref");
28
29
  const ArkTsInference_1 = require("../arkts/ArkTsInference");
@@ -95,7 +96,7 @@ class AbcStmtInference extends ModelInference_1.StmtInference {
95
96
  }
96
97
  transferRight2Left(leftOp, rightType, method) {
97
98
  const projectName = method.getDeclaringArkFile().getProjectName();
98
- if (!TypeInference_1.TypeInference.isUnclearType(rightType) || !TypeInference_1.TypeInference.isAnonType(rightType, projectName)) {
99
+ if (!TypeInference_1.TypeInference.isUnclearType(rightType) || rightType instanceof Type_1.GenericType || !TypeInference_1.TypeInference.isAnonType(rightType, projectName)) {
99
100
  let leftType = leftOp.getType();
100
101
  if (TypeInference_1.TypeInference.isTypeCanBeOverride(leftType)) {
101
102
  leftType = rightType;
@@ -1 +1 @@
1
- {"version":3,"file":"ArkTsInference.d.ts","sourceRoot":"","sources":["../../../../src/core/inference/arkts/ArkTsInference.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAKxG,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAiB,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAA0B,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AA+CvC,qBAAa,kBAAmB,SAAQ,aAAa;gBAErC,eAAe,EAAE,cAAc,CAAC,KAAK,CAAC,EAAE;IAI7C,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC;IAUpD,kBAAkB,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI,EAAE,GAAG,SAAS;WAgBlF,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI,EAAE,GAAG,SAAS;WAiBpF,eAAe,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI,EAAE,OAAO,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,SAAS;CAgBtF;AAGD,qBAAa,qBAAsB,SAAQ,gBAAgB;IAEhD,wBAAwB,IAAI,mBAAmB;IAI/C,mBAAmB,IAAI,cAAc;IAIrC,oBAAoB,IAAI,eAAe;IAIvC,kBAAkB,IAAI,aAAa;CAK7C;AAED,qBAAa,sBAAuB,SAAQ,qBAAqB;CAEhE;AAED,qBAAa,kBAAmB,SAAQ,gBAAgB;IAE7C,wBAAwB,IAAI,mBAAmB;IAI/C,oBAAoB,IAAI,eAAe;IAIvC,kBAAkB,IAAI,aAAa;CAI7C"}
1
+ {"version":3,"file":"ArkTsInference.d.ts","sourceRoot":"","sources":["../../../../src/core/inference/arkts/ArkTsInference.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAKxG,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAiB,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAA0B,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAe,IAAI,EAAE,MAAM,iBAAiB,CAAC;AA+CpD,qBAAa,kBAAmB,SAAQ,aAAa;gBAErC,eAAe,EAAE,cAAc,CAAC,KAAK,CAAC,EAAE;IAI7C,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC;IAUpD,kBAAkB,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI,EAAE,GAAG,SAAS;WAgBlF,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI,EAAE,GAAG,SAAS;WAiBpF,eAAe,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI,EAAE,OAAO,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,SAAS;CAgBtF;AAGD,qBAAa,qBAAsB,SAAQ,gBAAgB;IAEhD,wBAAwB,IAAI,mBAAmB;IAI/C,mBAAmB,IAAI,cAAc;IAIrC,oBAAoB,IAAI,eAAe;IAIvC,kBAAkB,IAAI,aAAa;CAK7C;AAED,qBAAa,sBAAuB,SAAQ,qBAAqB;CAEhE;AAED,qBAAa,kBAAmB,SAAQ,gBAAgB;IAE7C,wBAAwB,IAAI,mBAAmB;IAI/C,oBAAoB,IAAI,eAAe;IAIvC,kBAAkB,IAAI,aAAa;CAI7C"}
@@ -21,6 +21,7 @@ const TypeInference_1 = require("../../common/TypeInference");
21
21
  const InferenceBuilder_1 = require("../InferenceBuilder");
22
22
  const ValueInference_1 = require("../ValueInference");
23
23
  const Stmt_1 = require("../../base/Stmt");
24
+ const Type_1 = require("../../base/Type");
24
25
  const Ref_1 = require("../../base/Ref");
25
26
  const Local_1 = require("../../base/Local");
26
27
  const AbcInference_1 = require("../abc/AbcInference");
@@ -77,7 +78,7 @@ class ArkTsStmtInference extends ModelInference_1.StmtInference {
77
78
  }
78
79
  transferRight2Left(leftOp, rightType, method) {
79
80
  const projectName = method.getDeclaringArkFile().getProjectName();
80
- if (!TypeInference_1.TypeInference.isUnclearType(rightType) || TypeInference_1.TypeInference.isDummyClassType(rightType)) {
81
+ if (!TypeInference_1.TypeInference.isUnclearType(rightType) || rightType instanceof Type_1.GenericType || TypeInference_1.TypeInference.isDummyClassType(rightType)) {
81
82
  let leftType = leftOp.getType();
82
83
  if (TypeInference_1.TypeInference.isTypeCanBeOverride(leftType) || TypeInference_1.TypeInference.isAnonType(leftType, projectName)) {
83
84
  leftType = rightType;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "arkanalyzer",
3
- "version": "1.0.75",
4
- "commit_id": "b5ce7858",
3
+ "version": "1.0.77",
4
+ "commit_id": "b9e6a0ea",
5
5
  "files": [
6
6
  "docs",
7
7
  "lib",