arkanalyzer 1.0.75 → 1.0.76
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypeInference.d.ts","sourceRoot":"","sources":["../../../src/core/common/TypeInference.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAUtC,OAAO,EAAwD,IAAI,EAAE,MAAM,cAAc,CAAC;AAC1F,OAAO,EAQH,aAAa,EACb,YAAY,EACZ,WAAW,EAOX,IAAI,EACJ,oBAAoB,EAKvB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAiB,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAiB,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAuBtC,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAsB,MAAM,uBAAuB,CAAC;AAWhG,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AASpE,qBAAa,aAAa;WACR,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAqC3D;;;;;;;;;OASG;WACW,kBAAkB,CAAC,UAAU,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,OAAO,GAAE,GAAG,CAAC,IAAI,CAAa,GAAG,IAAI,GAAG,IAAI,GAAG,SAAS;IAgCxI,OAAO,CAAC,MAAM,CAAC,uBAAuB;WAmCxB,iBAAiB,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAuC3D,OAAO,CAAC,MAAM,CAAC,WAAW;IAY1B;;;OAGG;WACW,uBAAuB,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAkBjE;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAuBjC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAMrC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAqBrC,OAAO,CAAC,MAAM,CAAC,UAAU;WAwBX,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,KAAK,GAAG,IAAI;WAgBxE,mBAAmB,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI;IAsBvF;;;;OAIG;WACW,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,GAAG,IAAI;IAmB1E,OAAO,CAAC,MAAM,CAAC,aAAa;IAuB5B,OAAO,CAAC,MAAM,CAAC,eAAe;WAwBhB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI;WAQ5C,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO;WA4BrD,SAAS,CAAC,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,OAAO,EAC3B,OAAO,GAAE,GAAG,CAAC,IAAI,CAAa,GAAG,OAAO;WAwBlD,qBAAqB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;WAcvC,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;WA6BvC,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,GAAG,IAAI,GAAG,IAAI;WAU/D,kBAAkB,CAAC,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,GAAG,IAAI;WAgBtE,wBAAwB,CAAC,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,GAAG,IAAI;WA2BnF,eAAe,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,GAAG,IAAI;WA0BlD,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,SAAS,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAmB1F;;;;;;;OAOG;WACW,mBAAmB,CAAC,MAAM,EAAE,oBAAoB,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,GAAG,IAAI;IAUhG;;;;;;;OAOG;WACW,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,GAAG,IAAI;IAoCnF;;;;;;;;;OASG;WACW,cAAc,CAAC,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI;IAoC3G,OAAO,CAAC,MAAM,CAAC,mBAAmB;IA0BlC,OAAO,CAAC,MAAM,CAAC,eAAe;WAUhB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,aAAa,GAAG,IAAI;IAoBxE,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAYlC;;;;;;;OAOG;WACW,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,GAAG,IAAI;WAehE,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,GAAG,IAAI;WAqBlE,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,IAAI,GAAG,IAAI;WAK1E,qBAAqB,CAAC,SAAS,EAAE,IAAI,EAAE,GAAG,SAAS,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;WAe9E,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,GAAG,IAAI;WASrE,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,EAAE,OAAO,GAAE,GAAG,CAAC,IAAI,CAAa,GAAG,IAAI;WAgBzF,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI;WAkC9E,gBAAgB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;WAQlC,iBAAiB,CAAC,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,GAAG,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,SAAS,GAAG,IAAI;IA4B9I,OAAO,CAAC,MAAM,CAAC,oBAAoB;WAerB,UAAU,CAAC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO;WAYvD,gBAAgB,CAAC,SAAS,EAAE,IAAI,GAAG,OAAO;WAO1C,mBAAmB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO;WAcxC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"TypeInference.d.ts","sourceRoot":"","sources":["../../../src/core/common/TypeInference.ts"],"names":[],"mappings":"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"}
|
|
@@ -664,11 +664,10 @@ class TypeInference {
|
|
|
664
664
|
* @returns
|
|
665
665
|
*/
|
|
666
666
|
static inferUnclearRefType(urType, arkClass) {
|
|
667
|
-
var _a;
|
|
668
667
|
const realTypes = urType.getGenericTypes();
|
|
669
668
|
this.inferRealGenericTypes(realTypes, arkClass);
|
|
670
|
-
if (urType.getName() === Builtin_1.Builtin.ARRAY) {
|
|
671
|
-
return new Type_1.ArrayType(
|
|
669
|
+
if (urType.getName() === Builtin_1.Builtin.ARRAY && realTypes.length > 0) {
|
|
670
|
+
return new Type_1.ArrayType(realTypes[0], 1);
|
|
672
671
|
}
|
|
673
672
|
const type = this.inferUnclearRefName(urType.getName(), arkClass);
|
|
674
673
|
return type ? this.replaceTypeWithReal(type, realTypes) : null;
|
|
@@ -1054,9 +1053,10 @@ class TypeInference {
|
|
|
1054
1053
|
}
|
|
1055
1054
|
else if (leftType instanceof Type_1.UnionType) {
|
|
1056
1055
|
const isExist = leftType.getTypes().find(t => this.isSameType(t, rightType));
|
|
1057
|
-
if (isExist) {
|
|
1058
|
-
|
|
1056
|
+
if (!isExist) {
|
|
1057
|
+
leftType.getTypes().push(type2);
|
|
1059
1058
|
}
|
|
1059
|
+
return type1;
|
|
1060
1060
|
}
|
|
1061
1061
|
else if (leftType instanceof Type_1.IntersectionType) {
|
|
1062
1062
|
const isExist = leftType.getTypes().find(t => !this.isSameType(t, rightType));
|
|
@@ -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,
|
|
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;
|