diff --git a/ets2panda/linter/src/lib/TypeScriptLinter.ts b/ets2panda/linter/src/lib/TypeScriptLinter.ts index bdd815d5efc8a7cd4ec1748e6228ddcbcdf16e14..77101963e6ae605708973aa5dfa7aa7e5ee46f87 100644 --- a/ets2panda/linter/src/lib/TypeScriptLinter.ts +++ b/ets2panda/linter/src/lib/TypeScriptLinter.ts @@ -6723,7 +6723,6 @@ export class TypeScriptLinter extends BaseTypeScriptLinter { this.handleAsExpressionImport(tsAsExpr); this.handleNoTuplesArrays(node, targetType, exprType); this.handleObjectLiteralAssignmentToClass(tsAsExpr); - this.handleArrayTypeImmutable(tsAsExpr, exprType, targetType); this.handleNotsLikeSmartTypeOnAsExpression(tsAsExpr); this.handleLimitedVoidTypeOnAsExpression(tsAsExpr); } diff --git a/ets2panda/linter/test/main/arkts-array-type-immutable.ets b/ets2panda/linter/test/main/arkts-array-type-immutable.ets index 3c018c68ab24c13ba22459b3696df7c95d28fe6c..13264dcc2a0d270fef3d0da7550eb056fb3c192c 100644 --- a/ets2panda/linter/test/main/arkts-array-type-immutable.ets +++ b/ets2panda/linter/test/main/arkts-array-type-immutable.ets @@ -13,6 +13,8 @@ * limitations under the License. */ + import taskpool from '@ohos.taskpool'; + let a: number[] = [1] let b: (number | string)[] = a // error @@ -170,3 +172,20 @@ async function Foo_a(): Promise<(string| number)[]> { async function Foo_b(): Promise<(string| number)[]> { return correctArr; } + +function tempfun(b: string[]): void { +} + +tempfun([] as string[]) + +function strSort(): string[] { + return ['']; +} + +async function tempFun(): Promise { + let task1: taskpool.Task = new taskpool.Task(strSort, ['a', 'b']); + + let taskGroup:taskpool.TaskGroup = new taskpool.TaskGroup(); + taskGroup.addTask(task1); + let res: string[] = await taskpool.execute(taskGroup) as string[]; +} \ No newline at end of file diff --git a/ets2panda/linter/test/main/arkts-array-type-immutable.ets.arkts2.json b/ets2panda/linter/test/main/arkts-array-type-immutable.ets.arkts2.json index 8ef0297136e121f20ea195d5538589891b9259ce..ec2275dada0c5dbdf20f9bf5e7c138800bc1eda9 100644 --- a/ets2panda/linter/test/main/arkts-array-type-immutable.ets.arkts2.json +++ b/ets2panda/linter/test/main/arkts-array-type-immutable.ets.arkts2.json @@ -15,9 +15,19 @@ ], "result": [ { - "line": 17, + "line": 16, + "column": 9, + "endLine": 16, + "endColumn": 17, + "problem": "LimitedStdLibNoImportConcurrency", + "suggest": "", + "rule": "Import Concurrency is not required (arkts-limited-stdlib-no-import-concurrency)", + "severity": "ERROR" + }, + { + "line": 19, "column": 5, - "endLine": 17, + "endLine": 19, "endColumn": 31, "problem": "ArrayTypeImmutable", "suggest": "", @@ -25,9 +35,9 @@ "severity": "ERROR" }, { - "line": 23, + "line": 25, "column": 1, - "endLine": 23, + "endLine": 25, "endColumn": 7, "problem": "ArrayTypeImmutable", "suggest": "", @@ -35,9 +45,9 @@ "severity": "ERROR" }, { - "line": 30, + "line": 32, "column": 1, - "endLine": 30, + "endLine": 32, "endColumn": 9, "problem": "ArrayTypeImmutable", "suggest": "", @@ -45,9 +55,9 @@ "severity": "ERROR" }, { - "line": 32, + "line": 34, "column": 5, - "endLine": 32, + "endLine": 34, "endColumn": 54, "problem": "ArrayTypeImmutable", "suggest": "", @@ -55,9 +65,9 @@ "severity": "ERROR" }, { - "line": 32, + "line": 34, "column": 35, - "endLine": 32, + "endLine": 34, "endColumn": 40, "problem": "BuiltinNewCtor", "suggest": "", @@ -65,9 +75,9 @@ "severity": "ERROR" }, { - "line": 36, + "line": 38, "column": 3, - "endLine": 36, + "endLine": 38, "endColumn": 8, "problem": "ArrayTypeImmutable", "suggest": "", @@ -75,9 +85,9 @@ "severity": "ERROR" }, { - "line": 40, + "line": 42, "column": 5, - "endLine": 40, + "endLine": 42, "endColumn": 67, "problem": "ArrayTypeImmutable", "suggest": "", @@ -85,9 +95,9 @@ "severity": "ERROR" }, { - "line": 44, + "line": 46, "column": 3, - "endLine": 44, + "endLine": 46, "endColumn": 71, "problem": "ArrayTypeImmutable", "suggest": "", @@ -95,9 +105,9 @@ "severity": "ERROR" }, { - "line": 45, + "line": 47, "column": 3, - "endLine": 45, + "endLine": 47, "endColumn": 72, "problem": "ArrayTypeImmutable", "suggest": "", @@ -105,9 +115,9 @@ "severity": "ERROR" }, { - "line": 48, + "line": 50, "column": 3, - "endLine": 48, + "endLine": 50, "endColumn": 66, "problem": "ArrayTypeImmutable", "suggest": "", @@ -115,9 +125,9 @@ "severity": "ERROR" }, { - "line": 49, + "line": 51, "column": 3, - "endLine": 49, + "endLine": 51, "endColumn": 72, "problem": "ArrayTypeImmutable", "suggest": "", @@ -125,19 +135,9 @@ "severity": "ERROR" }, { - "line": 67, - "column": 6, - "endLine": 67, - "endColumn": 63, - "problem": "ArrayTypeImmutable", - "suggest": "", - "rule": "Array type is immutable in ArkTS1.2 (arkts-array-type-immutable)", - "severity": "ERROR" - }, - { - "line": 74, + "line": 76, "column": 3, - "endLine": 74, + "endLine": 76, "endColumn": 40, "problem": "ArrayTypeImmutable", "suggest": "", @@ -145,9 +145,9 @@ "severity": "ERROR" }, { - "line": 78, + "line": 80, "column": 9, - "endLine": 78, + "endLine": 80, "endColumn": 53, "problem": "ArrayTypeImmutable", "suggest": "", @@ -155,9 +155,9 @@ "severity": "ERROR" }, { - "line": 81, + "line": 83, "column": 5, - "endLine": 81, + "endLine": 83, "endColumn": 16, "problem": "ArrayTypeImmutable", "suggest": "", @@ -165,9 +165,9 @@ "severity": "ERROR" }, { - "line": 95, + "line": 97, "column": 9, - "endLine": 95, + "endLine": 97, "endColumn": 51, "problem": "ArrayTypeImmutable", "suggest": "", @@ -175,9 +175,9 @@ "severity": "ERROR" }, { - "line": 106, + "line": 108, "column": 10, - "endLine": 106, + "endLine": 108, "endColumn": 15, "problem": "LimitedReturnTypeInference", "suggest": "", @@ -185,59 +185,29 @@ "severity": "ERROR" }, { - "line": 120, - "column": 5, - "endLine": 120, - "endColumn": 54, - "problem": "ArrayTypeImmutable", - "suggest": "", - "rule": "Array type is immutable in ArkTS1.2 (arkts-array-type-immutable)", - "severity": "ERROR" - }, - { - "line": 122, + "line": 124, "column": 5, - "endLine": 122, + "endLine": 124, "endColumn": 22, "problem": "AnyType", "suggest": "", "rule": "Use explicit types instead of \"any\", \"unknown\" (arkts-no-any-unknown)", "severity": "ERROR" }, - { - "line": 127, - "column": 5, - "endLine": 127, - "endColumn": 69, - "problem": "ArrayTypeImmutable", - "suggest": "", - "rule": "Array type is immutable in ArkTS1.2 (arkts-array-type-immutable)", - "severity": "ERROR" - }, - { - "line": 127, - "column": 42, - "endLine": 127, - "endColumn": 69, - "problem": "ArrayTypeImmutable", - "suggest": "", - "rule": "Array type is immutable in ArkTS1.2 (arkts-array-type-immutable)", - "severity": "ERROR" - }, { "line": 129, - "column": 35, + "column": 5, "endLine": 129, - "endColumn": 62, + "endColumn": 69, "problem": "ArrayTypeImmutable", "suggest": "", "rule": "Array type is immutable in ArkTS1.2 (arkts-array-type-immutable)", "severity": "ERROR" }, { - "line": 132, + "line": 134, "column": 5, - "endLine": 132, + "endLine": 134, "endColumn": 70, "problem": "NoTuplesArrays", "suggest": "", @@ -245,9 +215,9 @@ "severity": "ERROR" }, { - "line": 132, + "line": 134, "column": 36, - "endLine": 132, + "endLine": 134, "endColumn": 70, "problem": "NoTuplesArrays", "suggest": "", @@ -255,9 +225,9 @@ "severity": "ERROR" }, { - "line": 134, + "line": 136, "column": 17, - "endLine": 134, + "endLine": 136, "endColumn": 99, "problem": "GenericCallNoTypeArgs", "suggest": "", @@ -265,9 +235,9 @@ "severity": "ERROR" }, { - "line": 134, + "line": 136, "column": 44, - "endLine": 134, + "endLine": 136, "endColumn": 45, "problem": "UnknownType", "suggest": "", @@ -275,19 +245,9 @@ "severity": "ERROR" }, { - "line": 135, + "line": 137, "column": 5, - "endLine": 135, - "endColumn": 56, - "problem": "ArrayTypeImmutable", - "suggest": "", - "rule": "Array type is immutable in ArkTS1.2 (arkts-array-type-immutable)", - "severity": "ERROR" - }, - { - "line": 135, - "column": 35, - "endLine": 135, + "endLine": 137, "endColumn": 56, "problem": "ArrayTypeImmutable", "suggest": "", @@ -295,9 +255,9 @@ "severity": "ERROR" }, { - "line": 138, + "line": 140, "column": 34, - "endLine": 138, + "endLine": 140, "endColumn": 62, "problem": "NoTuplesArrays", "suggest": "", @@ -305,19 +265,9 @@ "severity": "ERROR" }, { - "line": 139, + "line": 141, "column": 5, - "endLine": 139, - "endColumn": 55, - "problem": "ArrayTypeImmutable", - "suggest": "", - "rule": "Array type is immutable in ArkTS1.2 (arkts-array-type-immutable)", - "severity": "ERROR" - }, - { - "line": 139, - "column": 34, - "endLine": 139, + "endLine": 141, "endColumn": 55, "problem": "ArrayTypeImmutable", "suggest": "", @@ -325,9 +275,9 @@ "severity": "ERROR" }, { - "line": 143, + "line": 145, "column": 5, - "endLine": 143, + "endLine": 145, "endColumn": 35, "problem": "ArrayTypeImmutable", "suggest": "", @@ -335,9 +285,9 @@ "severity": "ERROR" }, { - "line": 149, + "line": 151, "column": 40, - "endLine": 149, + "endLine": 151, "endColumn": 45, "problem": "BuiltinNewCtor", "suggest": "", @@ -345,9 +295,9 @@ "severity": "ERROR" }, { - "line": 149, + "line": 151, "column": 36, - "endLine": 149, + "endLine": 151, "endColumn": 47, "problem": "GenericCallNoTypeArgs", "suggest": "", @@ -355,9 +305,9 @@ "severity": "ERROR" }, { - "line": 150, + "line": 152, "column": 21, - "endLine": 150, + "endLine": 152, "endColumn": 26, "problem": "BuiltinNewCtor", "suggest": "", @@ -365,9 +315,9 @@ "severity": "ERROR" }, { - "line": 150, + "line": 152, "column": 17, - "endLine": 150, + "endLine": 152, "endColumn": 29, "problem": "GenericCallNoTypeArgs", "suggest": "", @@ -375,9 +325,9 @@ "severity": "ERROR" }, { - "line": 150, + "line": 152, "column": 17, - "endLine": 150, + "endLine": 152, "endColumn": 29, "problem": "UninitializedArrayElements", "suggest": "", @@ -385,9 +335,9 @@ "severity": "WARNING" }, { - "line": 151, + "line": 153, "column": 1, - "endLine": 151, + "endLine": 153, "endColumn": 54, "problem": "InteropCallReflect", "suggest": "", @@ -395,9 +345,9 @@ "severity": "ERROR" }, { - "line": 151, + "line": 153, "column": 9, - "endLine": 151, + "endLine": 153, "endColumn": 14, "problem": "LimitedStdLibApi", "suggest": "", @@ -405,9 +355,9 @@ "severity": "ERROR" }, { - "line": 155, + "line": 157, "column": 17, - "endLine": 155, + "endLine": 157, "endColumn": 22, "problem": "BuiltinNewCtor", "suggest": "", @@ -415,9 +365,9 @@ "severity": "ERROR" }, { - "line": 156, + "line": 158, "column": 1, - "endLine": 156, + "endLine": 158, "endColumn": 20, "problem": "ArrayTypeImmutable", "suggest": "", @@ -425,9 +375,9 @@ "severity": "ERROR" }, { - "line": 163, + "line": 165, "column": 43, - "endLine": 163, + "endLine": 165, "endColumn": 54, "problem": "ArrayTypeImmutable", "suggest": "", @@ -435,14 +385,34 @@ "severity": "ERROR" }, { - "line": 167, + "line": 169, "column": 5, - "endLine": 167, + "endLine": 169, "endColumn": 24, "problem": "ArrayTypeImmutable", "suggest": "", "rule": "Array type is immutable in ArkTS1.2 (arkts-array-type-immutable)", "severity": "ERROR" + }, + { + "line": 186, + "column": 34, + "endLine": 186, + "endColumn": 47, + "problem": "DynamicCtorCall", + "suggest": "", + "rule": "\"new\" expression with dynamic constructor type is not supported (arkts-no-dynamic-ctor-call)", + "severity": "ERROR" + }, + { + "line": 188, + "column": 42, + "endLine": 188, + "endColumn": 60, + "problem": "DynamicCtorCall", + "suggest": "", + "rule": "\"new\" expression with dynamic constructor type is not supported (arkts-no-dynamic-ctor-call)", + "severity": "ERROR" } ] } \ No newline at end of file diff --git a/ets2panda/linter/test/main/arkts-array-type-immutable.ets.json b/ets2panda/linter/test/main/arkts-array-type-immutable.ets.json index d8f6775c620327300157f3944a39ef32a7656cc6..9be54a56c7265b5f672493889e552239c4002bae 100644 --- a/ets2panda/linter/test/main/arkts-array-type-immutable.ets.json +++ b/ets2panda/linter/test/main/arkts-array-type-immutable.ets.json @@ -15,9 +15,9 @@ ], "result": [ { - "line": 106, + "line": 108, "column": 10, - "endLine": 106, + "endLine": 108, "endColumn": 15, "problem": "LimitedReturnTypeInference", "suggest": "", @@ -25,9 +25,9 @@ "severity": "ERROR" }, { - "line": 122, + "line": 124, "column": 5, - "endLine": 122, + "endLine": 124, "endColumn": 22, "problem": "AnyType", "suggest": "", @@ -35,9 +35,9 @@ "severity": "ERROR" }, { - "line": 134, + "line": 136, "column": 17, - "endLine": 134, + "endLine": 136, "endColumn": 99, "problem": "GenericCallNoTypeArgs", "suggest": "", @@ -45,9 +45,9 @@ "severity": "ERROR" }, { - "line": 134, + "line": 136, "column": 44, - "endLine": 134, + "endLine": 136, "endColumn": 45, "problem": "UnknownType", "suggest": "", @@ -55,9 +55,9 @@ "severity": "ERROR" }, { - "line": 151, + "line": 153, "column": 1, - "endLine": 151, + "endLine": 153, "endColumn": 53, "problem": "LimitedStdLibApi", "suggest": "", @@ -65,9 +65,9 @@ "severity": "ERROR" }, { - "line": 151, + "line": 153, "column": 1, - "endLine": 151, + "endLine": 153, "endColumn": 54, "problem": "InteropCallReflect", "suggest": "",