From e5ce8745b9718d6c52c3954afb81a88f82ca26ac Mon Sep 17 00:00:00 2001 From: zhongning Date: Mon, 9 Jun 2025 11:14:17 +0800 Subject: [PATCH] add test case Issue:https://gitee.com/openharmony/arkcompiler_ets_frontend/issues/ICDL7E Test scenarios:new tests update to the linter Signed-off-by: zhongning --- .../concurrent/use_limited_and_concurrent.ets | 101 ++ ...use_limited_and_concurrent.ets.arkts2.json | 272 ++- ...se_limited_and_concurrent.ets.autofix.json | 515 +++++- .../use_limited_and_concurrent.ets.json | 42 +- ...use_limited_and_concurrent.ets.migrate.ets | 101 ++ ...se_limited_and_concurrent.ets.migrate.json | 73 +- .../linter/test/interop/call_function.ets | 14 +- .../interop/call_function.ets.arkts2.json | 32 +- .../linter/test/interop/call_function_js.js | 5 +- .../test/main/array_index_expr_type.ets | 5 + .../array_index_expr_type.ets.arkts2.json | 70 + .../array_index_expr_type.ets.autofix.json | 136 ++ .../array_index_expr_type.ets.migrate.ets | 5 + .../linter/test/main/class_as_object.ets | 5 +- .../linter/test/main/class_static_init.ets | 11 +- .../test/main/enum_not_support_float.ets | 11 + .../enum_not_support_float.ets.arkts2.json | 30 + .../test/main/explicit_function_type.ets | 17 +- .../explicit_function_type.ets.arkts2.json | 90 + .../explicit_function_type.ets.autofix.json | 189 ++ .../explicit_function_type.ets.migrate.ets | 20 +- .../explicit_function_type.ets.migrate.json | 56 +- ets2panda/linter/test/main/exponent.ets | 21 + .../linter/test/main/exponent.ets.arkts2.json | 170 ++ .../test/main/exponent.ets.autofix.json | 353 ++++ .../linter/test/main/exponent.ets.migrate.ets | 23 + .../test/main/exponent.ets.migrate.json | 60 + .../linter/test/main/invalid_identifier.ets | 69 +- .../main/invalid_identifier.ets.arkts2.json | 1520 +++++++++++++++++ .../test/main/invalid_identifier.ets.json | 500 ++++++ .../linter/test/main/limited_stdlib_api.ets | 18 + .../main/limited_stdlib_api.ets.arkts2.json | 50 + .../test/main/no_import_concurrency.ets | 9 +- .../no_import_concurrency.ets.arkts2.json | 20 + .../no_import_concurrency.ets.autofix.json | 74 +- .../test/main/no_import_concurrency.ets.json | 23 +- .../no_import_concurrency.ets.migrate.ets | 8 + .../linter/test/main/numeric_semantics.ets | 17 +- .../main/numeric_semantics.ets.arkts2.json | 90 + .../main/numeric_semantics.ets.autofix.json | 261 ++- .../main/numeric_semantics.ets.migrate.ets | 17 +- .../test/main/object_literals_properties.ets | 9 +- ...object_literals_properties.ets.arkts2.json | 40 + ...bject_literals_properties.ets.autofix.json | 40 + .../main/object_literals_properties.ets.json | 10 + ...object_literals_properties.ets.migrate.ets | 9 +- ...bject_literals_properties.ets.migrate.json | 40 + .../linter/test/main/optional_methods.ets | 4 + .../linter/test/main/structural_identity.ets | 9 + .../main/structural_identity.ets.arkts2.json | 40 + ets2panda/linter/test/main/void_operator.ets | 4 + .../test/main/void_operator.ets.arkts2.json | 40 + .../test/main/void_operator.ets.autofix.json | 84 + .../test/main/void_operator.ets.migrate.ets | 10 + 54 files changed, 5348 insertions(+), 94 deletions(-) diff --git a/ets2panda/linter/test/concurrent/use_limited_and_concurrent.ets b/ets2panda/linter/test/concurrent/use_limited_and_concurrent.ets index 22ef20b645..d844e92026 100644 --- a/ets2panda/linter/test/concurrent/use_limited_and_concurrent.ets +++ b/ets2panda/linter/test/concurrent/use_limited_and_concurrent.ets @@ -39,3 +39,104 @@ switch (variable2) { case 'use shared': break; } + +function fun11(){ + "use concurrent" +} + +async function fun12(){ + "use concurrent" + return 10 +} + +const fun14 = (par:number):[number| string,boolean]=>{ + "use concurrent" + return [10, true]; +} + +let fun15 = () => { + "use concurrent" +}; + +function createMa1p(keys: K[], values: V[]): Map { + "use concurrent" + const map = new Map(); + keys.forEach((key, index) => { + map.set(key, values[index]); + }); + return map; +} + +function fun16(){ + "use concurrent" +} + +function fun10(){ + ()=>{ + "use concurrent" + } +} +const fun17 = (par:number):[number| string,boolean]=>{ + ()=>{ + "use concurrent" + } + return [10, true]; +} + +let fun18 = () => { + ()=>{ + "use concurrent" + } +}; + +{ + ()=>{ + "use concurrent" + } +} + +namespace Sendable1{ + function fun16(){ + "use concurrent" + } +} +let c1 = "use concurrent" +let c2 = 'use concurrent' +let c3 = use concurrent + +let e = "use concurrent"; +function foo11(e:string) { + switch (e){ + case "": + console.log('E.RED'); + break; + case "use concurrent": + console.log('use concurrent'); + break; + } +} + +let poem = use concurrent 'use concurrent' "use concurrent" use concurrent; +console.log(poem); + +class test1 { + str1 = "use concurrent" + constructor() { + "use concurrent" + } + func1() { + "use concurrent" + return "use concurrent" + } + static{ + "use concurrent" + console.log('use concurrent'); + } + +static func2(pa: string) { + "use concurrent" + console.log('use concurrent'); + return "use concurrent" + } +} +test1.func2("use concurrent") \ No newline at end of file diff --git a/ets2panda/linter/test/concurrent/use_limited_and_concurrent.ets.arkts2.json b/ets2panda/linter/test/concurrent/use_limited_and_concurrent.ets.arkts2.json index 0a82914a53..1b847771d7 100644 --- a/ets2panda/linter/test/concurrent/use_limited_and_concurrent.ets.arkts2.json +++ b/ets2panda/linter/test/concurrent/use_limited_and_concurrent.ets.arkts2.json @@ -43,6 +43,276 @@ "suggest": "", "rule": "\"use concurrent\" is not supported (arkts-limited-stdlib-no-use-concurrent)", "severity": "ERROR" + }, + { + "line": 44, + "column": 3, + "endLine": 44, + "endColumn": 19, + "problem": "UseConcurrentDeprecated", + "suggest": "", + "rule": "\"use concurrent\" is not supported (arkts-limited-stdlib-no-use-concurrent)", + "severity": "ERROR" + }, + { + "line": 48, + "column": 3, + "endLine": 48, + "endColumn": 19, + "problem": "UseConcurrentDeprecated", + "suggest": "", + "rule": "\"use concurrent\" is not supported (arkts-limited-stdlib-no-use-concurrent)", + "severity": "ERROR" + }, + { + "line": 49, + "column": 10, + "endLine": 49, + "endColumn": 12, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 53, + "column": 3, + "endLine": 53, + "endColumn": 19, + "problem": "UseConcurrentDeprecated", + "suggest": "", + "rule": "\"use concurrent\" is not supported (arkts-limited-stdlib-no-use-concurrent)", + "severity": "ERROR" + }, + { + "line": 54, + "column": 11, + "endLine": 54, + "endColumn": 13, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 58, + "column": 3, + "endLine": 58, + "endColumn": 19, + "problem": "UseConcurrentDeprecated", + "suggest": "", + "rule": "\"use concurrent\" is not supported (arkts-limited-stdlib-no-use-concurrent)", + "severity": "ERROR" + }, + { + "line": 62, + "column": 3, + "endLine": 62, + "endColumn": 19, + "problem": "UseConcurrentDeprecated", + "suggest": "", + "rule": "\"use concurrent\" is not supported (arkts-limited-stdlib-no-use-concurrent)", + "severity": "ERROR" + }, + { + "line": 65, + "column": 18, + "endLine": 65, + "endColumn": 31, + "problem": "RuntimeArrayCheck", + "suggest": "", + "rule": "Array bound not checked. (arkts-runtime-array-check)", + "severity": "ERROR" + }, + { + "line": 65, + "column": 25, + "endLine": 65, + "endColumn": 30, + "problem": "ArrayIndexExprType", + "suggest": "", + "rule": "The index expression must be of a numeric type (arkts-array-index-expr-type)", + "severity": "ERROR" + }, + { + "line": 71, + "column": 3, + "endLine": 71, + "endColumn": 19, + "problem": "UseConcurrentDeprecated", + "suggest": "", + "rule": "\"use concurrent\" is not supported (arkts-limited-stdlib-no-use-concurrent)", + "severity": "ERROR" + }, + { + "line": 76, + "column": 5, + "endLine": 76, + "endColumn": 21, + "problem": "UseConcurrentDeprecated", + "suggest": "", + "rule": "\"use concurrent\" is not supported (arkts-limited-stdlib-no-use-concurrent)", + "severity": "ERROR" + }, + { + "line": 81, + "column": 5, + "endLine": 81, + "endColumn": 21, + "problem": "UseConcurrentDeprecated", + "suggest": "", + "rule": "\"use concurrent\" is not supported (arkts-limited-stdlib-no-use-concurrent)", + "severity": "ERROR" + }, + { + "line": 83, + "column": 11, + "endLine": 83, + "endColumn": 13, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 88, + "column": 5, + "endLine": 88, + "endColumn": 21, + "problem": "UseConcurrentDeprecated", + "suggest": "", + "rule": "\"use concurrent\" is not supported (arkts-limited-stdlib-no-use-concurrent)", + "severity": "ERROR" + }, + { + "line": 94, + "column": 5, + "endLine": 94, + "endColumn": 21, + "problem": "UseConcurrentDeprecated", + "suggest": "", + "rule": "\"use concurrent\" is not supported (arkts-limited-stdlib-no-use-concurrent)", + "severity": "ERROR" + }, + { + "line": 100, + "column": 5, + "endLine": 100, + "endColumn": 21, + "problem": "UseConcurrentDeprecated", + "suggest": "", + "rule": "\"use concurrent\" is not supported (arkts-limited-stdlib-no-use-concurrent)", + "severity": "ERROR" + }, + { + "line": 105, + "column": 5, + "endLine": 105, + "endColumn": 13, + "problem": "AnyType", + "suggest": "", + "rule": "Use explicit types instead of \"any\", \"unknown\" (arkts-no-any-unknown)", + "severity": "ERROR" + }, + { + "line": 105, + "column": 14, + "endLine": 105, + "endColumn": 24, + "problem": "AnyType", + "suggest": "", + "rule": "Use explicit types instead of \"any\", \"unknown\" (arkts-no-any-unknown)", + "severity": "ERROR" + }, + { + "line": 119, + "column": 5, + "endLine": 119, + "endColumn": 15, + "problem": "AnyType", + "suggest": "", + "rule": "Use explicit types instead of \"any\", \"unknown\" (arkts-no-any-unknown)", + "severity": "ERROR" + }, + { + "line": 119, + "column": 16, + "endLine": 119, + "endColumn": 26, + "problem": "AnyType", + "suggest": "", + "rule": "Use explicit types instead of \"any\", \"unknown\" (arkts-no-any-unknown)", + "severity": "ERROR" + }, + { + "line": 119, + "column": 27, + "endLine": 119, + "endColumn": 43, + "problem": "UseConcurrentDeprecated", + "suggest": "", + "rule": "\"use concurrent\" is not supported (arkts-limited-stdlib-no-use-concurrent)", + "severity": "ERROR" + }, + { + "line": 119, + "column": 44, + "endLine": 119, + "endColumn": 60, + "problem": "UseConcurrentDeprecated", + "suggest": "", + "rule": "\"use concurrent\" is not supported (arkts-limited-stdlib-no-use-concurrent)", + "severity": "ERROR" + }, + { + "line": 131, + "column": 3, + "endLine": 134, + "endColumn": 4, + "problem": "NoStaticOnClass", + "suggest": "", + "rule": "Class cannot have static codeblocks. (arkts-class-lazy-import)", + "severity": "ERROR" + }, + { + "line": 125, + "column": 4, + "endLine": 125, + "endColumn": 20, + "problem": "UseConcurrentDeprecated", + "suggest": "", + "rule": "\"use concurrent\" is not supported (arkts-limited-stdlib-no-use-concurrent)", + "severity": "ERROR" + }, + { + "line": 128, + "column": 5, + "endLine": 128, + "endColumn": 21, + "problem": "UseConcurrentDeprecated", + "suggest": "", + "rule": "\"use concurrent\" is not supported (arkts-limited-stdlib-no-use-concurrent)", + "severity": "ERROR" + }, + { + "line": 132, + "column": 5, + "endLine": 132, + "endColumn": 21, + "problem": "UseConcurrentDeprecated", + "suggest": "", + "rule": "\"use concurrent\" is not supported (arkts-limited-stdlib-no-use-concurrent)", + "severity": "ERROR" + }, + { + "line": 137, + "column": 5, + "endLine": 137, + "endColumn": 21, + "problem": "UseConcurrentDeprecated", + "suggest": "", + "rule": "\"use concurrent\" is not supported (arkts-limited-stdlib-no-use-concurrent)", + "severity": "ERROR" } ] -} +} \ No newline at end of file diff --git a/ets2panda/linter/test/concurrent/use_limited_and_concurrent.ets.autofix.json b/ets2panda/linter/test/concurrent/use_limited_and_concurrent.ets.autofix.json index 052fc5f382..0ad0aa684e 100644 --- a/ets2panda/linter/test/concurrent/use_limited_and_concurrent.ets.autofix.json +++ b/ets2panda/linter/test/concurrent/use_limited_and_concurrent.ets.autofix.json @@ -24,7 +24,11 @@ { "start": 605, "end": 617, - "replacementText": "" + "replacementText": "", + "line": 16, + "column": 1, + "endLine": 16, + "endColumn": 13 } ], "suggest": "", @@ -51,7 +55,512 @@ { "start": 687, "end": 703, - "replacementText": "" + "replacementText": "", + "line": 20, + "column": 5, + "endLine": 20, + "endColumn": 21 + } + ], + "suggest": "", + "rule": "\"use concurrent\" is not supported (arkts-limited-stdlib-no-use-concurrent)", + "severity": "ERROR" + }, + { + "line": 44, + "column": 3, + "endLine": 44, + "endColumn": 19, + "problem": "UseConcurrentDeprecated", + "autofix": [ + { + "start": 994, + "end": 1010, + "replacementText": "", + "line": 44, + "column": 3, + "endLine": 44, + "endColumn": 19 + } + ], + "suggest": "", + "rule": "\"use concurrent\" is not supported (arkts-limited-stdlib-no-use-concurrent)", + "severity": "ERROR" + }, + { + "line": 48, + "column": 3, + "endLine": 48, + "endColumn": 19, + "problem": "UseConcurrentDeprecated", + "autofix": [ + { + "start": 1040, + "end": 1056, + "replacementText": "", + "line": 48, + "column": 3, + "endLine": 48, + "endColumn": 19 + } + ], + "suggest": "", + "rule": "\"use concurrent\" is not supported (arkts-limited-stdlib-no-use-concurrent)", + "severity": "ERROR" + }, + { + "line": 49, + "column": 10, + "endLine": 49, + "endColumn": 12, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1066, + "end": 1068, + "replacementText": "10.0", + "line": 49, + "column": 10, + "endLine": 49, + "endColumn": 12 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 53, + "column": 3, + "endLine": 53, + "endColumn": 19, + "problem": "UseConcurrentDeprecated", + "autofix": [ + { + "start": 1129, + "end": 1145, + "replacementText": "", + "line": 53, + "column": 3, + "endLine": 53, + "endColumn": 19 + } + ], + "suggest": "", + "rule": "\"use concurrent\" is not supported (arkts-limited-stdlib-no-use-concurrent)", + "severity": "ERROR" + }, + { + "line": 54, + "column": 11, + "endLine": 54, + "endColumn": 13, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1156, + "end": 1158, + "replacementText": "10.0", + "line": 54, + "column": 11, + "endLine": 54, + "endColumn": 13 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 58, + "column": 3, + "endLine": 58, + "endColumn": 19, + "problem": "UseConcurrentDeprecated", + "autofix": [ + { + "start": 1192, + "end": 1208, + "replacementText": "", + "line": 58, + "column": 3, + "endLine": 58, + "endColumn": 19 + } + ], + "suggest": "", + "rule": "\"use concurrent\" is not supported (arkts-limited-stdlib-no-use-concurrent)", + "severity": "ERROR" + }, + { + "line": 62, + "column": 3, + "endLine": 62, + "endColumn": 19, + "problem": "UseConcurrentDeprecated", + "autofix": [ + { + "start": 1278, + "end": 1294, + "replacementText": "", + "line": 62, + "column": 3, + "endLine": 62, + "endColumn": 19 + } + ], + "suggest": "", + "rule": "\"use concurrent\" is not supported (arkts-limited-stdlib-no-use-concurrent)", + "severity": "ERROR" + }, + { + "line": 65, + "column": 18, + "endLine": 65, + "endColumn": 31, + "problem": "RuntimeArrayCheck", + "suggest": "", + "rule": "Array bound not checked. (arkts-runtime-array-check)", + "severity": "ERROR" + }, + { + "line": 65, + "column": 25, + "endLine": 65, + "endColumn": 30, + "problem": "ArrayIndexExprType", + "autofix": [ + { + "start": 1383, + "end": 1388, + "replacementText": "index as int", + "line": 65, + "column": 25, + "endLine": 65, + "endColumn": 30 + } + ], + "suggest": "", + "rule": "The index expression must be of a numeric type (arkts-array-index-expr-type)", + "severity": "ERROR" + }, + { + "line": 71, + "column": 3, + "endLine": 71, + "endColumn": 19, + "problem": "UseConcurrentDeprecated", + "autofix": [ + { + "start": 1435, + "end": 1451, + "replacementText": "", + "line": 71, + "column": 3, + "endLine": 71, + "endColumn": 19 + } + ], + "suggest": "", + "rule": "\"use concurrent\" is not supported (arkts-limited-stdlib-no-use-concurrent)", + "severity": "ERROR" + }, + { + "line": 76, + "column": 5, + "endLine": 76, + "endColumn": 21, + "problem": "UseConcurrentDeprecated", + "autofix": [ + { + "start": 1485, + "end": 1501, + "replacementText": "", + "line": 76, + "column": 5, + "endLine": 76, + "endColumn": 21 + } + ], + "suggest": "", + "rule": "\"use concurrent\" is not supported (arkts-limited-stdlib-no-use-concurrent)", + "severity": "ERROR" + }, + { + "line": 81, + "column": 5, + "endLine": 81, + "endColumn": 21, + "problem": "UseConcurrentDeprecated", + "autofix": [ + { + "start": 1575, + "end": 1591, + "replacementText": "", + "line": 81, + "column": 5, + "endLine": 81, + "endColumn": 21 + } + ], + "suggest": "", + "rule": "\"use concurrent\" is not supported (arkts-limited-stdlib-no-use-concurrent)", + "severity": "ERROR" + }, + { + "line": 83, + "column": 11, + "endLine": 83, + "endColumn": 13, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1606, + "end": 1608, + "replacementText": "10.0", + "line": 83, + "column": 11, + "endLine": 83, + "endColumn": 13 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 88, + "column": 5, + "endLine": 88, + "endColumn": 21, + "problem": "UseConcurrentDeprecated", + "autofix": [ + { + "start": 1652, + "end": 1668, + "replacementText": "", + "line": 88, + "column": 5, + "endLine": 88, + "endColumn": 21 + } + ], + "suggest": "", + "rule": "\"use concurrent\" is not supported (arkts-limited-stdlib-no-use-concurrent)", + "severity": "ERROR" + }, + { + "line": 94, + "column": 5, + "endLine": 94, + "endColumn": 21, + "problem": "UseConcurrentDeprecated", + "autofix": [ + { + "start": 1691, + "end": 1707, + "replacementText": "", + "line": 94, + "column": 5, + "endLine": 94, + "endColumn": 21 + } + ], + "suggest": "", + "rule": "\"use concurrent\" is not supported (arkts-limited-stdlib-no-use-concurrent)", + "severity": "ERROR" + }, + { + "line": 100, + "column": 5, + "endLine": 100, + "endColumn": 21, + "problem": "UseConcurrentDeprecated", + "autofix": [ + { + "start": 1760, + "end": 1776, + "replacementText": "", + "line": 100, + "column": 5, + "endLine": 100, + "endColumn": 21 + } + ], + "suggest": "", + "rule": "\"use concurrent\" is not supported (arkts-limited-stdlib-no-use-concurrent)", + "severity": "ERROR" + }, + { + "line": 105, + "column": 5, + "endLine": 105, + "endColumn": 13, + "problem": "AnyType", + "suggest": "", + "rule": "Use explicit types instead of \"any\", \"unknown\" (arkts-no-any-unknown)", + "severity": "ERROR" + }, + { + "line": 105, + "column": 14, + "endLine": 105, + "endColumn": 24, + "problem": "AnyType", + "suggest": "", + "rule": "Use explicit types instead of \"any\", \"unknown\" (arkts-no-any-unknown)", + "severity": "ERROR" + }, + { + "line": 119, + "column": 5, + "endLine": 119, + "endColumn": 15, + "problem": "AnyType", + "suggest": "", + "rule": "Use explicit types instead of \"any\", \"unknown\" (arkts-no-any-unknown)", + "severity": "ERROR" + }, + { + "line": 119, + "column": 16, + "endLine": 119, + "endColumn": 26, + "problem": "AnyType", + "suggest": "", + "rule": "Use explicit types instead of \"any\", \"unknown\" (arkts-no-any-unknown)", + "severity": "ERROR" + }, + { + "line": 119, + "column": 27, + "endLine": 119, + "endColumn": 43, + "problem": "UseConcurrentDeprecated", + "autofix": [ + { + "start": 2091, + "end": 2107, + "replacementText": "", + "line": 119, + "column": 27, + "endLine": 119, + "endColumn": 43 + } + ], + "suggest": "", + "rule": "\"use concurrent\" is not supported (arkts-limited-stdlib-no-use-concurrent)", + "severity": "ERROR" + }, + { + "line": 119, + "column": 44, + "endLine": 119, + "endColumn": 60, + "problem": "UseConcurrentDeprecated", + "autofix": [ + { + "start": 2108, + "end": 2124, + "replacementText": "", + "line": 119, + "column": 44, + "endLine": 119, + "endColumn": 60 + } + ], + "suggest": "", + "rule": "\"use concurrent\" is not supported (arkts-limited-stdlib-no-use-concurrent)", + "severity": "ERROR" + }, + { + "line": 131, + "column": 3, + "endLine": 134, + "endColumn": 4, + "problem": "NoStaticOnClass", + "suggest": "", + "rule": "Class cannot have static codeblocks. (arkts-class-lazy-import)", + "severity": "ERROR" + }, + { + "line": 125, + "column": 4, + "endLine": 125, + "endColumn": 20, + "problem": "UseConcurrentDeprecated", + "autofix": [ + { + "start": 2221, + "end": 2237, + "replacementText": "", + "line": 125, + "column": 4, + "endLine": 125, + "endColumn": 20 + } + ], + "suggest": "", + "rule": "\"use concurrent\" is not supported (arkts-limited-stdlib-no-use-concurrent)", + "severity": "ERROR" + }, + { + "line": 128, + "column": 5, + "endLine": 128, + "endColumn": 21, + "problem": "UseConcurrentDeprecated", + "autofix": [ + { + "start": 2257, + "end": 2273, + "replacementText": "", + "line": 128, + "column": 5, + "endLine": 128, + "endColumn": 21 + } + ], + "suggest": "", + "rule": "\"use concurrent\" is not supported (arkts-limited-stdlib-no-use-concurrent)", + "severity": "ERROR" + }, + { + "line": 132, + "column": 5, + "endLine": 132, + "endColumn": 21, + "problem": "UseConcurrentDeprecated", + "autofix": [ + { + "start": 2320, + "end": 2336, + "replacementText": "", + "line": 132, + "column": 5, + "endLine": 132, + "endColumn": 21 + } + ], + "suggest": "", + "rule": "\"use concurrent\" is not supported (arkts-limited-stdlib-no-use-concurrent)", + "severity": "ERROR" + }, + { + "line": 137, + "column": 5, + "endLine": 137, + "endColumn": 21, + "problem": "UseConcurrentDeprecated", + "autofix": [ + { + "start": 2408, + "end": 2424, + "replacementText": "", + "line": 137, + "column": 5, + "endLine": 137, + "endColumn": 21 } ], "suggest": "", @@ -59,4 +568,4 @@ "severity": "ERROR" } ] -} +} \ No newline at end of file diff --git a/ets2panda/linter/test/concurrent/use_limited_and_concurrent.ets.json b/ets2panda/linter/test/concurrent/use_limited_and_concurrent.ets.json index 443a9bc21b..0883d860b4 100644 --- a/ets2panda/linter/test/concurrent/use_limited_and_concurrent.ets.json +++ b/ets2panda/linter/test/concurrent/use_limited_and_concurrent.ets.json @@ -23,6 +23,46 @@ "suggest": "", "rule": "Only \"Sendable\" entities can be exported in shared module (arkts-shared-module-exports)", "severity": "ERROR" + }, + { + "line": 105, + "column": 5, + "endLine": 105, + "endColumn": 13, + "problem": "AnyType", + "suggest": "", + "rule": "Use explicit types instead of \"any\", \"unknown\" (arkts-no-any-unknown)", + "severity": "ERROR" + }, + { + "line": 105, + "column": 14, + "endLine": 105, + "endColumn": 24, + "problem": "AnyType", + "suggest": "", + "rule": "Use explicit types instead of \"any\", \"unknown\" (arkts-no-any-unknown)", + "severity": "ERROR" + }, + { + "line": 119, + "column": 5, + "endLine": 119, + "endColumn": 15, + "problem": "AnyType", + "suggest": "", + "rule": "Use explicit types instead of \"any\", \"unknown\" (arkts-no-any-unknown)", + "severity": "ERROR" + }, + { + "line": 119, + "column": 16, + "endLine": 119, + "endColumn": 26, + "problem": "AnyType", + "suggest": "", + "rule": "Use explicit types instead of \"any\", \"unknown\" (arkts-no-any-unknown)", + "severity": "ERROR" } ] -} +} \ No newline at end of file diff --git a/ets2panda/linter/test/concurrent/use_limited_and_concurrent.ets.migrate.ets b/ets2panda/linter/test/concurrent/use_limited_and_concurrent.ets.migrate.ets index 5224e3b79f..a08b36f381 100644 --- a/ets2panda/linter/test/concurrent/use_limited_and_concurrent.ets.migrate.ets +++ b/ets2panda/linter/test/concurrent/use_limited_and_concurrent.ets.migrate.ets @@ -39,3 +39,104 @@ switch (variable2) { case 'use shared': break; } + +function fun11(){ + +} + +async function fun12(){ + + return 10.0 +} + +const fun14 = (par:number):[number| string,boolean]=>{ + + return [10.0, true]; +} + +let fun15 = () => { + +}; + +function createMa1p(keys: K[], values: V[]): Map { + + const map = new Map(); + keys.forEach((key, index) => { + map.set(key, values[index as int]); + }); + return map; +} + +function fun16(){ + +} + +function fun10(){ + ()=>{ + + } +} +const fun17 = (par:number):[number| string,boolean]=>{ + ()=>{ + + } + return [10.0, true]; +} + +let fun18 = () => { + ()=>{ + + } +}; + +{ + ()=>{ + + } +} + +namespace Sendable1{ + function fun16(){ + + } +} +let c1 = "use concurrent" +let c2 = 'use concurrent' +let c3 = use concurrent + +let e = "use concurrent"; +function foo11(e:string) { + switch (e){ + case "": + console.log('E.RED'); + break; + case "use concurrent": + console.log('use concurrent'); + break; + } +} + +let poem = use concurrent use concurrent; +console.log(poem); + +class test1 { + str1 = "use concurrent" + constructor() { + + } + func1() { + + return "use concurrent" + } + static{ + + console.log('use concurrent'); + } + +static func2(pa: string) { + + console.log('use concurrent'); + return "use concurrent" + } +} +test1.func2("use concurrent") \ No newline at end of file diff --git a/ets2panda/linter/test/concurrent/use_limited_and_concurrent.ets.migrate.json b/ets2panda/linter/test/concurrent/use_limited_and_concurrent.ets.migrate.json index ca88f857e9..4e8e9723b5 100644 --- a/ets2panda/linter/test/concurrent/use_limited_and_concurrent.ets.migrate.json +++ b/ets2panda/linter/test/concurrent/use_limited_and_concurrent.ets.migrate.json @@ -13,5 +13,76 @@ "See the License for the specific language governing permissions and", "limitations under the License." ], - "result": [] + "result": [ + { + "line": 105, + "column": 5, + "endLine": 105, + "endColumn": 13, + "problem": "AnyType", + "suggest": "", + "rule": "Use explicit types instead of \"any\", \"unknown\" (arkts-no-any-unknown)", + "severity": "ERROR" + }, + { + "line": 105, + "column": 14, + "endLine": 105, + "endColumn": 24, + "problem": "AnyType", + "suggest": "", + "rule": "Use explicit types instead of \"any\", \"unknown\" (arkts-no-any-unknown)", + "severity": "ERROR" + }, + { + "line": 119, + "column": 5, + "endLine": 119, + "endColumn": 15, + "problem": "AnyType", + "suggest": "", + "rule": "Use explicit types instead of \"any\", \"unknown\" (arkts-no-any-unknown)", + "severity": "ERROR" + }, + { + "line": 119, + "column": 16, + "endLine": 119, + "endColumn": 26, + "problem": "AnyType", + "suggest": "", + "rule": "Use explicit types instead of \"any\", \"unknown\" (arkts-no-any-unknown)", + "severity": "ERROR" + }, + { + "line": 119, + "column": 29, + "endLine": 119, + "endColumn": 32, + "problem": "AnyType", + "suggest": "", + "rule": "Use explicit types instead of \"any\", \"unknown\" (arkts-no-any-unknown)", + "severity": "ERROR" + }, + { + "line": 119, + "column": 33, + "endLine": 119, + "endColumn": 43, + "problem": "AnyType", + "suggest": "", + "rule": "Use explicit types instead of \"any\", \"unknown\" (arkts-no-any-unknown)", + "severity": "ERROR" + }, + { + "line": 131, + "column": 3, + "endLine": 134, + "endColumn": 4, + "problem": "NoStaticOnClass", + "suggest": "", + "rule": "Class cannot have static codeblocks. (arkts-class-lazy-import)", + "severity": "ERROR" + } + ] } \ No newline at end of file diff --git a/ets2panda/linter/test/interop/call_function.ets b/ets2panda/linter/test/interop/call_function.ets index 74665b905c..aa4330eaef 100644 --- a/ets2panda/linter/test/interop/call_function.ets +++ b/ets2panda/linter/test/interop/call_function.ets @@ -12,7 +12,17 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import {foo,bar} from "./call_function_js" +import {foo,bar,foo1} from "./call_function_js" foo() -bar(123) \ No newline at end of file +bar(123) + +try{ + foo1() +}catch(e){ + console.log(e as number) //123 +} + +test_helper.test(() => { +return person.simple_function() === 0x55aa; +}, "person.simple_function() === 0x55aa"); \ No newline at end of file diff --git a/ets2panda/linter/test/interop/call_function.ets.arkts2.json b/ets2panda/linter/test/interop/call_function.ets.arkts2.json index 66335fa504..48b76b4a67 100644 --- a/ets2panda/linter/test/interop/call_function.ets.arkts2.json +++ b/ets2panda/linter/test/interop/call_function.ets.arkts2.json @@ -18,7 +18,7 @@ "line": 15, "column": 1, "endLine": 15, - "endColumn": 43, + "endColumn": 48, "problem": "InterOpImportJs", "suggest": "", "rule": "Importing directly from \"JS\" module is not supported (arkts-interop-js2s-import-js)", @@ -53,6 +53,36 @@ "suggest": "", "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" + }, + { + "line": 21, + "column": 5, + "endLine": 21, + "endColumn": 11, + "problem": "InteropJSFunctionInvoke", + "suggest": "", + "rule": "ArkTS1.2 cannot catch a non Error instance thrown from JS code (arkts-interop-js2s-js-exception)", + "severity": "ERROR" + }, + { + "line": 21, + "column": 5, + "endLine": 21, + "endColumn": 11, + "problem": "CallJSFunction", + "suggest": "", + "rule": "ArkTS directly call JS functions or parameters is not supported (arkts-interop-js2s-call-js-func)", + "severity": "ERROR" + }, + { + "line": 22, + "column": 2, + "endLine": 24, + "endColumn": 2, + "problem": "TsLikeCatchType", + "suggest": "", + "rule": "TS catch type are not supported (arkts-no-ts-like-catch-type)", + "severity": "ERROR" } ] } \ No newline at end of file diff --git a/ets2panda/linter/test/interop/call_function_js.js b/ets2panda/linter/test/interop/call_function_js.js index 1ca0a23aeb..dc54facbfe 100644 --- a/ets2panda/linter/test/interop/call_function_js.js +++ b/ets2panda/linter/test/interop/call_function_js.js @@ -14,4 +14,7 @@ */ export function foo(){} -export function bar(a){} \ No newline at end of file +export function bar(a){} +export function foo1() { + throw 123 +} \ No newline at end of file diff --git a/ets2panda/linter/test/main/array_index_expr_type.ets b/ets2panda/linter/test/main/array_index_expr_type.ets index fe370c16cd..c0e952b6ed 100644 --- a/ets2panda/linter/test/main/array_index_expr_type.ets +++ b/ets2panda/linter/test/main/array_index_expr_type.ets @@ -83,3 +83,8 @@ arr[a] = 1; arr[b] = 1; arr[c] = 1; arr[d] = 1; + +function foo23(par1: number = 1) { + let array:number[]= [1,2,3]; + array[par1] = 1; +} \ No newline at end of file diff --git a/ets2panda/linter/test/main/array_index_expr_type.ets.arkts2.json b/ets2panda/linter/test/main/array_index_expr_type.ets.arkts2.json index 3643204633..c10360bbc1 100644 --- a/ets2panda/linter/test/main/array_index_expr_type.ets.arkts2.json +++ b/ets2panda/linter/test/main/array_index_expr_type.ets.arkts2.json @@ -943,6 +943,76 @@ "suggest": "", "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" + }, + { + "line": 87, + "column": 31, + "endLine": 87, + "endColumn": 32, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 88, + "column": 24, + "endLine": 88, + "endColumn": 25, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 88, + "column": 26, + "endLine": 88, + "endColumn": 27, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 88, + "column": 28, + "endLine": 88, + "endColumn": 29, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 89, + "column": 3, + "endLine": 89, + "endColumn": 14, + "problem": "RuntimeArrayCheck", + "suggest": "", + "rule": "Array bound not checked. (arkts-runtime-array-check)", + "severity": "ERROR" + }, + { + "line": 89, + "column": 9, + "endLine": 89, + "endColumn": 13, + "problem": "ArrayIndexExprType", + "suggest": "", + "rule": "The index expression must be of a numeric type (arkts-array-index-expr-type)", + "severity": "ERROR" + }, + { + "line": 89, + "column": 17, + "endLine": 89, + "endColumn": 18, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" } ] } \ No newline at end of file diff --git a/ets2panda/linter/test/main/array_index_expr_type.ets.autofix.json b/ets2panda/linter/test/main/array_index_expr_type.ets.autofix.json index f3c4133394..aab64b0943 100644 --- a/ets2panda/linter/test/main/array_index_expr_type.ets.autofix.json +++ b/ets2panda/linter/test/main/array_index_expr_type.ets.autofix.json @@ -1636,6 +1636,142 @@ "suggest": "", "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" + }, + { + "line": 87, + "column": 31, + "endLine": 87, + "endColumn": 32, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1950, + "end": 1951, + "replacementText": "1.0", + "line": 87, + "column": 31, + "endLine": 87, + "endColumn": 32 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 88, + "column": 24, + "endLine": 88, + "endColumn": 25, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1978, + "end": 1979, + "replacementText": "1.0", + "line": 88, + "column": 24, + "endLine": 88, + "endColumn": 25 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 88, + "column": 26, + "endLine": 88, + "endColumn": 27, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1980, + "end": 1981, + "replacementText": "2.0", + "line": 88, + "column": 26, + "endLine": 88, + "endColumn": 27 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 88, + "column": 28, + "endLine": 88, + "endColumn": 29, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1982, + "end": 1983, + "replacementText": "3.0", + "line": 88, + "column": 28, + "endLine": 88, + "endColumn": 29 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 89, + "column": 3, + "endLine": 89, + "endColumn": 14, + "problem": "RuntimeArrayCheck", + "suggest": "", + "rule": "Array bound not checked. (arkts-runtime-array-check)", + "severity": "ERROR" + }, + { + "line": 89, + "column": 9, + "endLine": 89, + "endColumn": 13, + "problem": "ArrayIndexExprType", + "autofix": [ + { + "start": 1994, + "end": 1998, + "replacementText": "par1 as int", + "line": 89, + "column": 9, + "endLine": 89, + "endColumn": 13 + } + ], + "suggest": "", + "rule": "The index expression must be of a numeric type (arkts-array-index-expr-type)", + "severity": "ERROR" + }, + { + "line": 89, + "column": 17, + "endLine": 89, + "endColumn": 18, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 2002, + "end": 2003, + "replacementText": "1.0", + "line": 89, + "column": 17, + "endLine": 89, + "endColumn": 18 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" } ] } \ No newline at end of file diff --git a/ets2panda/linter/test/main/array_index_expr_type.ets.migrate.ets b/ets2panda/linter/test/main/array_index_expr_type.ets.migrate.ets index 5ba7613e1b..387f478732 100644 --- a/ets2panda/linter/test/main/array_index_expr_type.ets.migrate.ets +++ b/ets2panda/linter/test/main/array_index_expr_type.ets.migrate.ets @@ -83,3 +83,8 @@ arr[a] = 1.0; arr[b] = 1.0; arr[c] = 1.0; arr[d] = 1.0; + +function foo23(par1: number = 1.0) { + let array:number[]= [1.0,2.0,3.0]; + array[par1 as int] = 1.0; +} \ No newline at end of file diff --git a/ets2panda/linter/test/main/class_as_object.ets b/ets2panda/linter/test/main/class_as_object.ets index fcc5a36250..9224a6cc4d 100644 --- a/ets2panda/linter/test/main/class_as_object.ets +++ b/ets2panda/linter/test/main/class_as_object.ets @@ -203,4 +203,7 @@ function parse(type: "number" | "boolean", value: string): number | boolean { } function format(input: string | number): string[] | number[] { return typeof input === "string" ? input.split("") : input.toString().split("").map(Number); -} \ No newline at end of file +} + +console.log("welink_index:\t" + String(end - start) + "\tms"); +throw Error('Key not found: ' + key); \ No newline at end of file diff --git a/ets2panda/linter/test/main/class_static_init.ets b/ets2panda/linter/test/main/class_static_init.ets index c74ec693d9..ae50635430 100755 --- a/ets2panda/linter/test/main/class_static_init.ets +++ b/ets2panda/linter/test/main/class_static_init.ets @@ -171,7 +171,16 @@ class SpecialTypes { static uninitializedAny: any; } - class Test1 { static count: string | undefined; } + +class A2 { + static count: string | undefined; + static count: boolean; + static count: null; + static count: undefined; + static count: "string literal"; + static count: number; + static count?: string; +} \ No newline at end of file diff --git a/ets2panda/linter/test/main/enum_not_support_float.ets b/ets2panda/linter/test/main/enum_not_support_float.ets index 593f6c64b9..98d121538b 100644 --- a/ets2panda/linter/test/main/enum_not_support_float.ets +++ b/ets2panda/linter/test/main/enum_not_support_float.ets @@ -53,3 +53,14 @@ enum ExprInits { H = '123'.length, I = 1 && 2, } + +enum Numbers5{ + One = 1.7976931348623157e+308, + Two = 5e-324 + Three = 2.220446049250313e-16 +} + +enum Numbers2 { + One = Infinity, + Two = -Infinity +} \ No newline at end of file diff --git a/ets2panda/linter/test/main/enum_not_support_float.ets.arkts2.json b/ets2panda/linter/test/main/enum_not_support_float.ets.arkts2.json index ff258d6c12..7c7346fe75 100644 --- a/ets2panda/linter/test/main/enum_not_support_float.ets.arkts2.json +++ b/ets2panda/linter/test/main/enum_not_support_float.ets.arkts2.json @@ -153,6 +153,36 @@ "suggest": "", "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" + }, + { + "line": 59, + "column": 3, + "endLine": 59, + "endColumn": 15, + "problem": "EnumMemberNonConstInit", + "suggest": "", + "rule": "Enumeration members can be initialized only with compile time expressions of the same type (arkts-no-enum-mixed-types)", + "severity": "ERROR" + }, + { + "line": 60, + "column": 3, + "endLine": 60, + "endColumn": 32, + "problem": "EnumMemberNonConstInit", + "suggest": "", + "rule": "Enumeration members can be initialized only with compile time expressions of the same type (arkts-no-enum-mixed-types)", + "severity": "ERROR" + }, + { + "line": 65, + "column": 3, + "endLine": 65, + "endColumn": 18, + "problem": "EnumMemberNonConstInit", + "suggest": "", + "rule": "Enumeration members can be initialized only with compile time expressions of the same type (arkts-no-enum-mixed-types)", + "severity": "ERROR" } ] } \ No newline at end of file diff --git a/ets2panda/linter/test/main/explicit_function_type.ets b/ets2panda/linter/test/main/explicit_function_type.ets index 9b44052197..e50fc2367f 100755 --- a/ets2panda/linter/test/main/explicit_function_type.ets +++ b/ets2panda/linter/test/main/explicit_function_type.ets @@ -172,4 +172,19 @@ let ab3 = new AB3(); ab3.fn3(); const fn29: Function[] = []; -fn29[1](); \ No newline at end of file +fn29[1](); + +export const doFaceBeautyWithEdit: (inputPixelMap: image.PixelMap, outPixelMap: image.PixelMap, editData: string, + fd: number, resultCb: (resultPixelMap: image.PixelMap) => void) => string; + +export const doFaceBeautyWithoutEdit: (inputPixelMap: image.PixelMap, outPixelMap: image.PixelMap, + resultCb: (resultPixelMap: image.PixelMap) => void) => string; + +export const cancelFaceBeauty: (inputPixelMap: image.PixelMap, outPixelMap: image.PixelMap, editData: string, + fd: number, resultCb: (resultPixelMap: image.PixelMap) => void) => string; + +export const isSupportBeauty: () => boolean; + +export const updateEditData: (data: string) => string; + +export const hasWatermarkEffect: (editData: string) => boolean; \ No newline at end of file diff --git a/ets2panda/linter/test/main/explicit_function_type.ets.arkts2.json b/ets2panda/linter/test/main/explicit_function_type.ets.arkts2.json index d79abde569..53a2fac251 100755 --- a/ets2panda/linter/test/main/explicit_function_type.ets.arkts2.json +++ b/ets2panda/linter/test/main/explicit_function_type.ets.arkts2.json @@ -333,6 +333,96 @@ "suggest": "", "rule": "Array bound not checked. (arkts-runtime-array-check)", "severity": "ERROR" + }, + { + "line": 177, + "column": 58, + "endLine": 177, + "endColumn": 66, + "problem": "UIInterfaceImport", + "suggest": "", + "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", + "severity": "ERROR" + }, + { + "line": 177, + "column": 87, + "endLine": 177, + "endColumn": 95, + "problem": "UIInterfaceImport", + "suggest": "", + "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", + "severity": "ERROR" + }, + { + "line": 178, + "column": 48, + "endLine": 178, + "endColumn": 56, + "problem": "UIInterfaceImport", + "suggest": "", + "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", + "severity": "ERROR" + }, + { + "line": 180, + "column": 61, + "endLine": 180, + "endColumn": 69, + "problem": "UIInterfaceImport", + "suggest": "", + "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", + "severity": "ERROR" + }, + { + "line": 180, + "column": 90, + "endLine": 180, + "endColumn": 98, + "problem": "UIInterfaceImport", + "suggest": "", + "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", + "severity": "ERROR" + }, + { + "line": 181, + "column": 36, + "endLine": 181, + "endColumn": 44, + "problem": "UIInterfaceImport", + "suggest": "", + "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", + "severity": "ERROR" + }, + { + "line": 183, + "column": 54, + "endLine": 183, + "endColumn": 62, + "problem": "UIInterfaceImport", + "suggest": "", + "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", + "severity": "ERROR" + }, + { + "line": 183, + "column": 83, + "endLine": 183, + "endColumn": 91, + "problem": "UIInterfaceImport", + "suggest": "", + "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", + "severity": "ERROR" + }, + { + "line": 184, + "column": 48, + "endLine": 184, + "endColumn": 56, + "problem": "UIInterfaceImport", + "suggest": "", + "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", + "severity": "ERROR" } ] } \ No newline at end of file diff --git a/ets2panda/linter/test/main/explicit_function_type.ets.autofix.json b/ets2panda/linter/test/main/explicit_function_type.ets.autofix.json index d3870c4c8f..5bb30d9797 100644 --- a/ets2panda/linter/test/main/explicit_function_type.ets.autofix.json +++ b/ets2panda/linter/test/main/explicit_function_type.ets.autofix.json @@ -531,6 +531,195 @@ "suggest": "", "rule": "Array bound not checked. (arkts-runtime-array-check)", "severity": "ERROR" + }, + { + "line": 177, + "column": 58, + "endLine": 177, + "endColumn": 66, + "problem": "UIInterfaceImport", + "autofix": [ + { + "start": 608, + "end": 608, + "replacementText": "\n\nimport { PixelMap } from '@kit.ArkUI';\n", + "line": 184, + "column": 48, + "endLine": 184, + "endColumn": 56 + } + ], + "suggest": "", + "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", + "severity": "ERROR" + }, + { + "line": 177, + "column": 87, + "endLine": 177, + "endColumn": 95, + "problem": "UIInterfaceImport", + "autofix": [ + { + "start": 608, + "end": 608, + "replacementText": "\n\nimport { PixelMap } from '@kit.ArkUI';\n", + "line": 184, + "column": 48, + "endLine": 184, + "endColumn": 56 + } + ], + "suggest": "", + "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", + "severity": "ERROR" + }, + { + "line": 178, + "column": 48, + "endLine": 178, + "endColumn": 56, + "problem": "UIInterfaceImport", + "autofix": [ + { + "start": 608, + "end": 608, + "replacementText": "\n\nimport { PixelMap } from '@kit.ArkUI';\n", + "line": 184, + "column": 48, + "endLine": 184, + "endColumn": 56 + } + ], + "suggest": "", + "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", + "severity": "ERROR" + }, + { + "line": 180, + "column": 61, + "endLine": 180, + "endColumn": 69, + "problem": "UIInterfaceImport", + "autofix": [ + { + "start": 608, + "end": 608, + "replacementText": "\n\nimport { PixelMap } from '@kit.ArkUI';\n", + "line": 184, + "column": 48, + "endLine": 184, + "endColumn": 56 + } + ], + "suggest": "", + "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", + "severity": "ERROR" + }, + { + "line": 180, + "column": 90, + "endLine": 180, + "endColumn": 98, + "problem": "UIInterfaceImport", + "autofix": [ + { + "start": 608, + "end": 608, + "replacementText": "\n\nimport { PixelMap } from '@kit.ArkUI';\n", + "line": 184, + "column": 48, + "endLine": 184, + "endColumn": 56 + } + ], + "suggest": "", + "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", + "severity": "ERROR" + }, + { + "line": 181, + "column": 36, + "endLine": 181, + "endColumn": 44, + "problem": "UIInterfaceImport", + "autofix": [ + { + "start": 608, + "end": 608, + "replacementText": "\n\nimport { PixelMap } from '@kit.ArkUI';\n", + "line": 184, + "column": 48, + "endLine": 184, + "endColumn": 56 + } + ], + "suggest": "", + "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", + "severity": "ERROR" + }, + { + "line": 183, + "column": 54, + "endLine": 183, + "endColumn": 62, + "problem": "UIInterfaceImport", + "autofix": [ + { + "start": 608, + "end": 608, + "replacementText": "\n\nimport { PixelMap } from '@kit.ArkUI';\n", + "line": 184, + "column": 48, + "endLine": 184, + "endColumn": 56 + } + ], + "suggest": "", + "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", + "severity": "ERROR" + }, + { + "line": 183, + "column": 83, + "endLine": 183, + "endColumn": 91, + "problem": "UIInterfaceImport", + "autofix": [ + { + "start": 608, + "end": 608, + "replacementText": "\n\nimport { PixelMap } from '@kit.ArkUI';\n", + "line": 184, + "column": 48, + "endLine": 184, + "endColumn": 56 + } + ], + "suggest": "", + "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", + "severity": "ERROR" + }, + { + "line": 184, + "column": 48, + "endLine": 184, + "endColumn": 56, + "problem": "UIInterfaceImport", + "autofix": [ + { + "start": 608, + "end": 608, + "replacementText": "\n\nimport { PixelMap } from '@kit.ArkUI';\n", + "line": 184, + "column": 48, + "endLine": 184, + "endColumn": 56 + } + ], + "suggest": "", + "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", + "severity": "ERROR" } ] } \ No newline at end of file diff --git a/ets2panda/linter/test/main/explicit_function_type.ets.migrate.ets b/ets2panda/linter/test/main/explicit_function_type.ets.migrate.ets index 0a5b1a221f..a7ca824de9 100644 --- a/ets2panda/linter/test/main/explicit_function_type.ets.migrate.ets +++ b/ets2panda/linter/test/main/explicit_function_type.ets.migrate.ets @@ -12,6 +12,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + +import { PixelMap } from '@kit.ArkUI'; + let f1: Function = () => {}; // NOT OK let g1: Function = () => { }; // NOT OK let h1: Function = new Function('return 42'); // NOT OK @@ -172,4 +175,19 @@ let ab3 = new AB3(); ab3.fn3.unSafeCall(); const fn29: Function[] = []; -fn29[1].unSafeCall(); \ No newline at end of file +fn29[1].unSafeCall(); + +export const doFaceBeautyWithEdit: (inputPixelMap: image.PixelMap, outPixelMap: image.PixelMap, editData: string, + fd: number, resultCb: (resultPixelMap: image.PixelMap) => void) => string; + +export const doFaceBeautyWithoutEdit: (inputPixelMap: image.PixelMap, outPixelMap: image.PixelMap, + resultCb: (resultPixelMap: image.PixelMap) => void) => string; + +export const cancelFaceBeauty: (inputPixelMap: image.PixelMap, outPixelMap: image.PixelMap, editData: string, + fd: number, resultCb: (resultPixelMap: image.PixelMap) => void) => string; + +export const isSupportBeauty: () => boolean; + +export const updateEditData: (data: string) => string; + +export const hasWatermarkEffect: (editData: string) => boolean; \ No newline at end of file diff --git a/ets2panda/linter/test/main/explicit_function_type.ets.migrate.json b/ets2panda/linter/test/main/explicit_function_type.ets.migrate.json index b4e8db486e..6978e00960 100644 --- a/ets2panda/linter/test/main/explicit_function_type.ets.migrate.json +++ b/ets2panda/linter/test/main/explicit_function_type.ets.migrate.json @@ -15,9 +15,9 @@ ], "result": [ { - "line": 70, + "line": 73, "column": 12, - "endLine": 70, + "endLine": 73, "endColumn": 20, "problem": "ClassAsObjectError", "suggest": "", @@ -25,9 +25,9 @@ "severity": "ERROR" }, { - "line": 79, + "line": 82, "column": 11, - "endLine": 79, + "endLine": 82, "endColumn": 19, "problem": "ClassAsObjectError", "suggest": "", @@ -35,9 +35,9 @@ "severity": "ERROR" }, { - "line": 118, + "line": 121, "column": 16, - "endLine": 118, + "endLine": 121, "endColumn": 24, "problem": "ClassAsObjectError", "suggest": "", @@ -45,9 +45,9 @@ "severity": "ERROR" }, { - "line": 121, + "line": 124, "column": 3, - "endLine": 121, + "endLine": 124, "endColumn": 10, "problem": "TsOverload", "suggest": "", @@ -55,9 +55,9 @@ "severity": "ERROR" }, { - "line": 122, + "line": 125, "column": 3, - "endLine": 122, + "endLine": 125, "endColumn": 35, "problem": "TsOverload", "suggest": "", @@ -65,9 +65,9 @@ "severity": "ERROR" }, { - "line": 123, + "line": 126, "column": 3, - "endLine": 125, + "endLine": 128, "endColumn": 4, "problem": "TsOverload", "suggest": "", @@ -75,9 +75,9 @@ "severity": "ERROR" }, { - "line": 128, + "line": 131, "column": 31, - "endLine": 128, + "endLine": 131, "endColumn": 34, "problem": "LimitedLiteralType", "suggest": "", @@ -85,9 +85,9 @@ "severity": "ERROR" }, { - "line": 128, + "line": 131, "column": 35, - "endLine": 128, + "endLine": 131, "endColumn": 39, "problem": "LimitedLiteralType", "suggest": "", @@ -95,9 +95,9 @@ "severity": "ERROR" }, { - "line": 128, + "line": 131, "column": 41, - "endLine": 128, + "endLine": 131, "endColumn": 46, "problem": "LimitedLiteralType", "suggest": "", @@ -105,9 +105,9 @@ "severity": "ERROR" }, { - "line": 132, + "line": 135, "column": 3, - "endLine": 132, + "endLine": 135, "endColumn": 11, "problem": "InvalidIdentifier", "suggest": "", @@ -115,9 +115,9 @@ "severity": "ERROR" }, { - "line": 150, + "line": 153, "column": 16, - "endLine": 150, + "endLine": 153, "endColumn": 21, "problem": "LimitedReturnTypeInference", "suggest": "", @@ -125,9 +125,9 @@ "severity": "ERROR" }, { - "line": 151, + "line": 154, "column": 14, - "endLine": 151, + "endLine": 154, "endColumn": 22, "problem": "DynamicCtorCall", "suggest": "", @@ -135,9 +135,9 @@ "severity": "ERROR" }, { - "line": 154, + "line": 157, "column": 9, - "endLine": 154, + "endLine": 157, "endColumn": 31, "problem": "AnyType", "suggest": "", @@ -145,9 +145,9 @@ "severity": "ERROR" }, { - "line": 175, + "line": 178, "column": 1, - "endLine": 175, + "endLine": 178, "endColumn": 8, "problem": "RuntimeArrayCheck", "suggest": "", diff --git a/ets2panda/linter/test/main/exponent.ets b/ets2panda/linter/test/main/exponent.ets index 46f7cb267e..68d5b3ab92 100644 --- a/ets2panda/linter/test/main/exponent.ets +++ b/ets2panda/linter/test/main/exponent.ets @@ -24,3 +24,24 @@ console.log(k); k = Math.pow(-1, Infinity); console.log(k); + +export function pow2(num: number): number { + return Math.pow(num, 2) +} + +const num = 1; +switch (num) { + case 2 ** 5: + console.log('First match'); + case 2 ** 5: + console.log('Second match'); + break; + default: + console.log('No match'); +} + +class A2 { + constructor(readonly a: number = 0) { + let b = 2 ** 5; + } +} \ No newline at end of file diff --git a/ets2panda/linter/test/main/exponent.ets.arkts2.json b/ets2panda/linter/test/main/exponent.ets.arkts2.json index 5f36685a32..44a99a155b 100644 --- a/ets2panda/linter/test/main/exponent.ets.arkts2.json +++ b/ets2panda/linter/test/main/exponent.ets.arkts2.json @@ -133,6 +133,176 @@ "suggest": "", "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" + }, + { + "line": 29, + "column": 10, + "endLine": 29, + "endColumn": 26, + "problem": "MathPow", + "suggest": "", + "rule": "function \"Math.pow()\" behavior for ArkTS differs from Typescript version (arkts-math-pow-standard-diff)", + "severity": "ERROR" + }, + { + "line": 29, + "column": 24, + "endLine": 29, + "endColumn": 25, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 32, + "column": 7, + "endLine": 32, + "endColumn": 14, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 32, + "column": 13, + "endLine": 32, + "endColumn": 14, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 36, + "column": 10, + "endLine": 36, + "endColumn": 16, + "problem": "CaseExpression", + "suggest": "", + "rule": "No two case constant expressions have identical values.(arkts-case-expr)", + "severity": "ERROR" + }, + { + "line": 34, + "column": 10, + "endLine": 34, + "endColumn": 11, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 34, + "column": 12, + "endLine": 34, + "endColumn": 14, + "problem": "ExponentOp", + "suggest": "", + "rule": "exponent opartions \"**\" and \"**=\" are disabled (arkts-no-exponent-op)", + "severity": "ERROR" + }, + { + "line": 34, + "column": 15, + "endLine": 34, + "endColumn": 16, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 36, + "column": 10, + "endLine": 36, + "endColumn": 11, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 36, + "column": 12, + "endLine": 36, + "endColumn": 14, + "problem": "ExponentOp", + "suggest": "", + "rule": "exponent opartions \"**\" and \"**=\" are disabled (arkts-no-exponent-op)", + "severity": "ERROR" + }, + { + "line": 36, + "column": 15, + "endLine": 36, + "endColumn": 16, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 44, + "column": 17, + "endLine": 44, + "endColumn": 39, + "problem": "ParameterProperties", + "suggest": "", + "rule": "Declaring fields in \"constructor\" is not supported (arkts-no-ctor-prop-decls)", + "severity": "ERROR" + }, + { + "line": 44, + "column": 38, + "endLine": 44, + "endColumn": 39, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 45, + "column": 13, + "endLine": 45, + "endColumn": 23, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 45, + "column": 17, + "endLine": 45, + "endColumn": 18, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 45, + "column": 19, + "endLine": 45, + "endColumn": 21, + "problem": "ExponentOp", + "suggest": "", + "rule": "exponent opartions \"**\" and \"**=\" are disabled (arkts-no-exponent-op)", + "severity": "ERROR" + }, + { + "line": 45, + "column": 22, + "endLine": 45, + "endColumn": 23, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" } ] } \ No newline at end of file diff --git a/ets2panda/linter/test/main/exponent.ets.autofix.json b/ets2panda/linter/test/main/exponent.ets.autofix.json index ee4e3b4662..c31d13064a 100644 --- a/ets2panda/linter/test/main/exponent.ets.autofix.json +++ b/ets2panda/linter/test/main/exponent.ets.autofix.json @@ -243,6 +243,359 @@ "suggest": "", "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" + }, + { + "line": 29, + "column": 10, + "endLine": 29, + "endColumn": 26, + "problem": "MathPow", + "suggest": "", + "rule": "function \"Math.pow()\" behavior for ArkTS differs from Typescript version (arkts-math-pow-standard-diff)", + "severity": "ERROR" + }, + { + "line": 29, + "column": 24, + "endLine": 29, + "endColumn": 25, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 819, + "end": 820, + "replacementText": "2.0", + "line": 29, + "column": 24, + "endLine": 29, + "endColumn": 25 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 32, + "column": 7, + "endLine": 32, + "endColumn": 14, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 831, + "end": 838, + "replacementText": "num: number = 1", + "line": 32, + "column": 7, + "endLine": 32, + "endColumn": 14 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 32, + "column": 13, + "endLine": 32, + "endColumn": 14, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 837, + "end": 838, + "replacementText": "1.0", + "line": 32, + "column": 13, + "endLine": 32, + "endColumn": 14 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 36, + "column": 10, + "endLine": 36, + "endColumn": 16, + "problem": "CaseExpression", + "suggest": "", + "rule": "No two case constant expressions have identical values.(arkts-case-expr)", + "severity": "ERROR" + }, + { + "line": 34, + "column": 10, + "endLine": 34, + "endColumn": 11, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 864, + "end": 865, + "replacementText": "2.0", + "line": 34, + "column": 10, + "endLine": 34, + "endColumn": 11 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 34, + "column": 12, + "endLine": 34, + "endColumn": 14, + "problem": "ExponentOp", + "autofix": [ + { + "replacementText": "Math.pow(2, 5)", + "start": 864, + "end": 870, + "line": 34, + "column": 12, + "endLine": 34, + "endColumn": 14 + } + ], + "suggest": "", + "rule": "exponent opartions \"**\" and \"**=\" are disabled (arkts-no-exponent-op)", + "severity": "ERROR" + }, + { + "line": 34, + "column": 15, + "endLine": 34, + "endColumn": 16, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 869, + "end": 870, + "replacementText": "5.0", + "line": 34, + "column": 15, + "endLine": 34, + "endColumn": 16 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 36, + "column": 10, + "endLine": 36, + "endColumn": 11, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 917, + "end": 918, + "replacementText": "2.0", + "line": 36, + "column": 10, + "endLine": 36, + "endColumn": 11 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 36, + "column": 12, + "endLine": 36, + "endColumn": 14, + "problem": "ExponentOp", + "autofix": [ + { + "replacementText": "Math.pow(2, 5)", + "start": 917, + "end": 923, + "line": 36, + "column": 12, + "endLine": 36, + "endColumn": 14 + } + ], + "suggest": "", + "rule": "exponent opartions \"**\" and \"**=\" are disabled (arkts-no-exponent-op)", + "severity": "ERROR" + }, + { + "line": 36, + "column": 15, + "endLine": 36, + "endColumn": 16, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 922, + "end": 923, + "replacementText": "5.0", + "line": 36, + "column": 15, + "endLine": 36, + "endColumn": 16 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 44, + "column": 17, + "endLine": 44, + "endColumn": 39, + "problem": "ParameterProperties", + "autofix": [ + { + "start": 1041, + "end": 1041, + "replacementText": "readonly a: number;\n", + "line": 44, + "column": 17, + "endLine": 44, + "endColumn": 39 + }, + { + "start": 1053, + "end": 1075, + "replacementText": "a: number = 0", + "line": 44, + "column": 17, + "endLine": 44, + "endColumn": 39 + }, + { + "start": 1077, + "end": 1108, + "replacementText": "{\n this.a = a;\n let b = 2 ** 5;\n}", + "line": 44, + "column": 17, + "endLine": 44, + "endColumn": 39 + } + ], + "suggest": "", + "rule": "Declaring fields in \"constructor\" is not supported (arkts-no-ctor-prop-decls)", + "severity": "ERROR" + }, + { + "line": 44, + "column": 38, + "endLine": 44, + "endColumn": 39, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1074, + "end": 1075, + "replacementText": "0.0", + "line": 44, + "column": 38, + "endLine": 44, + "endColumn": 39 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 45, + "column": 13, + "endLine": 45, + "endColumn": 23, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1091, + "end": 1101, + "replacementText": "b: number = 2 ** 5", + "line": 45, + "column": 13, + "endLine": 45, + "endColumn": 23 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 45, + "column": 17, + "endLine": 45, + "endColumn": 18, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1095, + "end": 1096, + "replacementText": "2.0", + "line": 45, + "column": 17, + "endLine": 45, + "endColumn": 18 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 45, + "column": 19, + "endLine": 45, + "endColumn": 21, + "problem": "ExponentOp", + "autofix": [ + { + "replacementText": "Math.pow(2, 5)", + "start": 1095, + "end": 1101, + "line": 45, + "column": 19, + "endLine": 45, + "endColumn": 21 + } + ], + "suggest": "", + "rule": "exponent opartions \"**\" and \"**=\" are disabled (arkts-no-exponent-op)", + "severity": "ERROR" + }, + { + "line": 45, + "column": 22, + "endLine": 45, + "endColumn": 23, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1100, + "end": 1101, + "replacementText": "5.0", + "line": 45, + "column": 22, + "endLine": 45, + "endColumn": 23 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" } ] } \ No newline at end of file diff --git a/ets2panda/linter/test/main/exponent.ets.migrate.ets b/ets2panda/linter/test/main/exponent.ets.migrate.ets index b4124ce72d..e99c3014b3 100644 --- a/ets2panda/linter/test/main/exponent.ets.migrate.ets +++ b/ets2panda/linter/test/main/exponent.ets.migrate.ets @@ -24,3 +24,26 @@ console.log(k); k = Math.pow(-1.0, Infinity); console.log(k); + +export function pow2(num: number): number { + return Math.pow(num, 2.0) +} + +const num: number = 1.0; +switch (num) { + case Math.pow(2.0, 5.0): + console.log('First match'); + case Math.pow(2.0, 5.0): + console.log('Second match'); + break; + default: + console.log('No match'); +} + +class A2 { + readonly a: number; +constructor(a: number = 0.0) { + this.a = a; + let b: number = Math.pow(2.0, 5.0); +} +} \ No newline at end of file diff --git a/ets2panda/linter/test/main/exponent.ets.migrate.json b/ets2panda/linter/test/main/exponent.ets.migrate.json index c4a7f4ec82..69dd857144 100644 --- a/ets2panda/linter/test/main/exponent.ets.migrate.json +++ b/ets2panda/linter/test/main/exponent.ets.migrate.json @@ -53,6 +53,66 @@ "suggest": "", "rule": "function \"Math.pow()\" behavior for ArkTS differs from Typescript version (arkts-math-pow-standard-diff)", "severity": "ERROR" + }, + { + "line": 29, + "column": 10, + "endLine": 29, + "endColumn": 28, + "problem": "MathPow", + "suggest": "", + "rule": "function \"Math.pow()\" behavior for ArkTS differs from Typescript version (arkts-math-pow-standard-diff)", + "severity": "ERROR" + }, + { + "line": 33, + "column": 9, + "endLine": 33, + "endColumn": 12, + "problem": "SwitchExpression", + "suggest": "", + "rule": "The switch expression type must be of type char, byte, short, int, long, string or enum (arkts-switch-expr)", + "severity": "ERROR" + }, + { + "line": 36, + "column": 10, + "endLine": 36, + "endColumn": 28, + "problem": "CaseExpression", + "suggest": "", + "rule": "No two case constant expressions have identical values.(arkts-case-expr)", + "severity": "ERROR" + }, + { + "line": 34, + "column": 10, + "endLine": 34, + "endColumn": 28, + "problem": "MathPow", + "suggest": "", + "rule": "function \"Math.pow()\" behavior for ArkTS differs from Typescript version (arkts-math-pow-standard-diff)", + "severity": "ERROR" + }, + { + "line": 36, + "column": 10, + "endLine": 36, + "endColumn": 28, + "problem": "MathPow", + "suggest": "", + "rule": "function \"Math.pow()\" behavior for ArkTS differs from Typescript version (arkts-math-pow-standard-diff)", + "severity": "ERROR" + }, + { + "line": 47, + "column": 21, + "endLine": 47, + "endColumn": 39, + "problem": "MathPow", + "suggest": "", + "rule": "function \"Math.pow()\" behavior for ArkTS differs from Typescript version (arkts-math-pow-standard-diff)", + "severity": "ERROR" } ] } \ No newline at end of file diff --git a/ets2panda/linter/test/main/invalid_identifier.ets b/ets2panda/linter/test/main/invalid_identifier.ets index ade4397a20..b220294b6f 100755 --- a/ets2panda/linter/test/main/invalid_identifier.ets +++ b/ets2panda/linter/test/main/invalid_identifier.ets @@ -218,4 +218,71 @@ namespace quarantine { interface test { int: int } -} \ No newline at end of file +} + +let Awaited: number = 42; +let NoInfer: number = 42; +let Pick: number = 42; +let ConstructorParameters: number = 42; +let NonNullable: number = 42; +let ReturnType: number = 42; +let Exclude: number = 42; +let Omit: number = 42; +let ThisParameterType: number = 42; +let Extract: number = 42; +let OmitThisParameter: number = 42; +let ThisType: number = 42; +let InstanceType: number = 42; +let Parameters: number = 42; +let Capitalize: number = 42; +let Uncapitalize: number = 42; +let Lowercase: number = 42; +let Uppercase: number = 42; +let ArrayBufferTypes: number = 42; +let Function: number = 42; +let Proxy: number = 42; +let AsyncGenerator: number = 42; +let Generator: number = 42; +let ProxyHandler: number = 42; +let AsyncGeneratorFunction: number = 42; +let GeneratorFunction: number = 42; +let Symbol: number = 42; +let AsyncIterable: number = 42; +let IArguments: number = 42; +let TemplateStringsArray: number = 42; +let AsyncIterableIterator: number = 42; +let IteratorYieldResult: number = 42; +let TypedPropertyDescriptor: number = 42; +let AsyncIterator: number = 42; +let NewableFunction: number = 42; +let CallableFunction: number = 42; +let PropertyDescriptor: number = 42; + +type abstract = number +type internal = number +type as = number +type launch = number +type async = number +type native = number +type final = number +type undefined = number +type constructor = number +type double = number +type Boolean = number +type Double = number +type Number = number +type byte = number +type float = number +type Byte = number +type Float = number +type Object = number +type int = number +type short = number +type Bigint = number +type Int = number +type Short = number +type char = number +type long = number +type Char = number +type Long = number +type String = number \ No newline at end of file diff --git a/ets2panda/linter/test/main/invalid_identifier.ets.arkts2.json b/ets2panda/linter/test/main/invalid_identifier.ets.arkts2.json index df7367f9de..2ebf31daf2 100644 --- a/ets2panda/linter/test/main/invalid_identifier.ets.arkts2.json +++ b/ets2panda/linter/test/main/invalid_identifier.ets.arkts2.json @@ -44,6 +44,26 @@ "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", "severity": "ERROR" }, + { + "line": 18, + "column": 8, + "endLine": 18, + "endColumn": 16, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 22, + "column": 7, + "endLine": 22, + "endColumn": 15, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, { "line": 22, "column": 7, @@ -64,6 +84,16 @@ "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", "severity": "ERROR" }, + { + "line": 26, + "column": 7, + "endLine": 26, + "endColumn": 9, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, { "line": 26, "column": 7, @@ -74,6 +104,16 @@ "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", "severity": "ERROR" }, + { + "line": 30, + "column": 7, + "endLine": 30, + "endColumn": 13, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, { "line": 30, "column": 7, @@ -94,6 +134,16 @@ "rule": "The switch expression type must be of type char, byte, short, int, long, string or enum (arkts-switch-expr)", "severity": "ERROR" }, + { + "line": 34, + "column": 7, + "endLine": 34, + "endColumn": 12, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, { "line": 34, "column": 7, @@ -124,6 +174,16 @@ "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", "severity": "ERROR" }, + { + "line": 42, + "column": 7, + "endLine": 42, + "endColumn": 13, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, { "line": 42, "column": 7, @@ -154,6 +214,16 @@ "rule": "\"throw\" statements cannot accept values of arbitrary types (arkts-limited-throw)", "severity": "ERROR" }, + { + "line": 54, + "column": 7, + "endLine": 54, + "endColumn": 12, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, { "line": 54, "column": 7, @@ -184,6 +254,16 @@ "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", "severity": "ERROR" }, + { + "line": 72, + "column": 7, + "endLine": 72, + "endColumn": 16, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, { "line": 72, "column": 7, @@ -194,6 +274,16 @@ "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", "severity": "ERROR" }, + { + "line": 74, + "column": 7, + "endLine": 74, + "endColumn": 18, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, { "line": 74, "column": 7, @@ -264,6 +354,16 @@ "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", "severity": "ERROR" }, + { + "line": 98, + "column": 7, + "endLine": 98, + "endColumn": 13, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, { "line": 98, "column": 7, @@ -274,6 +374,16 @@ "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", "severity": "ERROR" }, + { + "line": 100, + "column": 7, + "endLine": 100, + "endColumn": 14, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, { "line": 100, "column": 7, @@ -284,6 +394,16 @@ "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", "severity": "ERROR" }, + { + "line": 102, + "column": 7, + "endLine": 102, + "endColumn": 13, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, { "line": 102, "column": 7, @@ -294,6 +414,16 @@ "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", "severity": "ERROR" }, + { + "line": 104, + "column": 7, + "endLine": 104, + "endColumn": 13, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, { "line": 104, "column": 7, @@ -314,6 +444,16 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 106, + "column": 7, + "endLine": 106, + "endColumn": 11, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, { "line": 106, "column": 7, @@ -334,6 +474,16 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 108, + "column": 7, + "endLine": 108, + "endColumn": 12, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, { "line": 108, "column": 7, @@ -364,6 +514,16 @@ "rule": "Object literal must correspond to some explicitly declared class or interface (arkts-no-untyped-obj-literals)", "severity": "ERROR" }, + { + "line": 112, + "column": 7, + "endLine": 112, + "endColumn": 11, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, { "line": 112, "column": 7, @@ -384,6 +544,16 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 114, + "column": 7, + "endLine": 114, + "endColumn": 12, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, { "line": 114, "column": 7, @@ -394,6 +564,16 @@ "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", "severity": "ERROR" }, + { + "line": 116, + "column": 7, + "endLine": 116, + "endColumn": 13, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, { "line": 116, "column": 7, @@ -424,6 +604,16 @@ "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", "severity": "ERROR" }, + { + "line": 120, + "column": 7, + "endLine": 120, + "endColumn": 10, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, { "line": 120, "column": 7, @@ -444,6 +634,16 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 122, + "column": 7, + "endLine": 122, + "endColumn": 12, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, { "line": 122, "column": 7, @@ -464,6 +664,16 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 124, + "column": 7, + "endLine": 124, + "endColumn": 13, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, { "line": 124, "column": 7, @@ -474,6 +684,16 @@ "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", "severity": "ERROR" }, + { + "line": 126, + "column": 7, + "endLine": 126, + "endColumn": 10, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, { "line": 126, "column": 7, @@ -494,6 +714,16 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 128, + "column": 7, + "endLine": 128, + "endColumn": 12, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, { "line": 128, "column": 7, @@ -514,6 +744,16 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 130, + "column": 7, + "endLine": 130, + "endColumn": 11, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, { "line": 130, "column": 7, @@ -644,6 +884,16 @@ "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", "severity": "ERROR" }, + { + "line": 164, + "column": 10, + "endLine": 164, + "endColumn": 14, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, { "line": 164, "column": 10, @@ -844,6 +1094,1276 @@ "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", "severity": "ERROR" }, + { + "line": 223, + "column": 5, + "endLine": 223, + "endColumn": 12, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 223, + "column": 23, + "endLine": 223, + "endColumn": 25, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 224, + "column": 5, + "endLine": 224, + "endColumn": 12, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 224, + "column": 23, + "endLine": 224, + "endColumn": 25, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 225, + "column": 5, + "endLine": 225, + "endColumn": 9, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 225, + "column": 20, + "endLine": 225, + "endColumn": 22, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 226, + "column": 5, + "endLine": 226, + "endColumn": 26, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 226, + "column": 37, + "endLine": 226, + "endColumn": 39, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 227, + "column": 5, + "endLine": 227, + "endColumn": 16, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 227, + "column": 27, + "endLine": 227, + "endColumn": 29, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 228, + "column": 5, + "endLine": 228, + "endColumn": 15, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 228, + "column": 26, + "endLine": 228, + "endColumn": 28, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 229, + "column": 5, + "endLine": 229, + "endColumn": 12, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 229, + "column": 23, + "endLine": 229, + "endColumn": 25, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 230, + "column": 5, + "endLine": 230, + "endColumn": 9, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 230, + "column": 20, + "endLine": 230, + "endColumn": 22, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 231, + "column": 5, + "endLine": 231, + "endColumn": 22, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 231, + "column": 33, + "endLine": 231, + "endColumn": 35, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 232, + "column": 5, + "endLine": 232, + "endColumn": 12, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 232, + "column": 23, + "endLine": 232, + "endColumn": 25, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 233, + "column": 5, + "endLine": 233, + "endColumn": 22, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 233, + "column": 33, + "endLine": 233, + "endColumn": 35, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 234, + "column": 5, + "endLine": 234, + "endColumn": 13, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 234, + "column": 24, + "endLine": 234, + "endColumn": 26, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 235, + "column": 5, + "endLine": 235, + "endColumn": 17, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 235, + "column": 28, + "endLine": 235, + "endColumn": 30, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 236, + "column": 5, + "endLine": 236, + "endColumn": 15, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 236, + "column": 26, + "endLine": 236, + "endColumn": 28, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 237, + "column": 5, + "endLine": 237, + "endColumn": 15, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 237, + "column": 26, + "endLine": 237, + "endColumn": 28, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 238, + "column": 5, + "endLine": 238, + "endColumn": 17, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 238, + "column": 28, + "endLine": 238, + "endColumn": 30, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 239, + "column": 5, + "endLine": 239, + "endColumn": 14, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 239, + "column": 25, + "endLine": 239, + "endColumn": 27, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 240, + "column": 5, + "endLine": 240, + "endColumn": 14, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 240, + "column": 25, + "endLine": 240, + "endColumn": 27, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 241, + "column": 5, + "endLine": 241, + "endColumn": 21, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 241, + "column": 32, + "endLine": 241, + "endColumn": 34, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 242, + "column": 5, + "endLine": 242, + "endColumn": 13, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 242, + "column": 24, + "endLine": 242, + "endColumn": 26, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 243, + "column": 5, + "endLine": 243, + "endColumn": 10, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 243, + "column": 21, + "endLine": 243, + "endColumn": 23, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 244, + "column": 5, + "endLine": 244, + "endColumn": 19, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 244, + "column": 30, + "endLine": 244, + "endColumn": 32, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 245, + "column": 5, + "endLine": 245, + "endColumn": 14, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 245, + "column": 25, + "endLine": 245, + "endColumn": 27, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 246, + "column": 5, + "endLine": 246, + "endColumn": 17, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 246, + "column": 28, + "endLine": 246, + "endColumn": 30, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 247, + "column": 5, + "endLine": 247, + "endColumn": 27, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 247, + "column": 38, + "endLine": 247, + "endColumn": 40, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 248, + "column": 5, + "endLine": 248, + "endColumn": 22, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 248, + "column": 33, + "endLine": 248, + "endColumn": 35, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 249, + "column": 5, + "endLine": 249, + "endColumn": 11, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 249, + "column": 22, + "endLine": 249, + "endColumn": 24, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 250, + "column": 5, + "endLine": 250, + "endColumn": 18, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 250, + "column": 29, + "endLine": 250, + "endColumn": 31, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 251, + "column": 5, + "endLine": 251, + "endColumn": 15, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 251, + "column": 26, + "endLine": 251, + "endColumn": 28, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 252, + "column": 5, + "endLine": 252, + "endColumn": 25, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 252, + "column": 36, + "endLine": 252, + "endColumn": 38, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 253, + "column": 5, + "endLine": 253, + "endColumn": 26, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 253, + "column": 37, + "endLine": 253, + "endColumn": 39, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 254, + "column": 5, + "endLine": 254, + "endColumn": 24, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 254, + "column": 35, + "endLine": 254, + "endColumn": 37, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 255, + "column": 5, + "endLine": 255, + "endColumn": 28, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 255, + "column": 39, + "endLine": 255, + "endColumn": 41, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 256, + "column": 5, + "endLine": 256, + "endColumn": 18, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 256, + "column": 29, + "endLine": 256, + "endColumn": 31, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 257, + "column": 5, + "endLine": 257, + "endColumn": 20, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 257, + "column": 31, + "endLine": 257, + "endColumn": 33, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 258, + "column": 5, + "endLine": 258, + "endColumn": 21, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 258, + "column": 32, + "endLine": 258, + "endColumn": 34, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 259, + "column": 5, + "endLine": 259, + "endColumn": 23, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 259, + "column": 34, + "endLine": 259, + "endColumn": 36, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 261, + "column": 6, + "endLine": 261, + "endColumn": 14, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 261, + "column": 6, + "endLine": 261, + "endColumn": 14, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 262, + "column": 6, + "endLine": 262, + "endColumn": 14, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 262, + "column": 6, + "endLine": 262, + "endColumn": 14, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 263, + "column": 6, + "endLine": 263, + "endColumn": 8, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 263, + "column": 6, + "endLine": 263, + "endColumn": 8, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 264, + "column": 6, + "endLine": 264, + "endColumn": 12, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 264, + "column": 6, + "endLine": 264, + "endColumn": 12, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 265, + "column": 6, + "endLine": 265, + "endColumn": 11, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 265, + "column": 6, + "endLine": 265, + "endColumn": 11, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 266, + "column": 6, + "endLine": 266, + "endColumn": 12, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 266, + "column": 6, + "endLine": 266, + "endColumn": 12, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 267, + "column": 6, + "endLine": 267, + "endColumn": 11, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 267, + "column": 6, + "endLine": 267, + "endColumn": 11, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 268, + "column": 6, + "endLine": 268, + "endColumn": 15, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 268, + "column": 6, + "endLine": 268, + "endColumn": 15, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 269, + "column": 6, + "endLine": 269, + "endColumn": 17, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 269, + "column": 6, + "endLine": 269, + "endColumn": 17, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 270, + "column": 6, + "endLine": 270, + "endColumn": 12, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 270, + "column": 6, + "endLine": 270, + "endColumn": 12, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 271, + "column": 6, + "endLine": 271, + "endColumn": 13, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 271, + "column": 6, + "endLine": 271, + "endColumn": 13, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 272, + "column": 6, + "endLine": 272, + "endColumn": 12, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 272, + "column": 6, + "endLine": 272, + "endColumn": 12, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 273, + "column": 6, + "endLine": 273, + "endColumn": 12, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 273, + "column": 6, + "endLine": 273, + "endColumn": 12, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 274, + "column": 6, + "endLine": 274, + "endColumn": 10, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 274, + "column": 6, + "endLine": 274, + "endColumn": 10, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 275, + "column": 6, + "endLine": 275, + "endColumn": 11, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 275, + "column": 6, + "endLine": 275, + "endColumn": 11, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 276, + "column": 6, + "endLine": 276, + "endColumn": 10, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 276, + "column": 6, + "endLine": 276, + "endColumn": 10, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 277, + "column": 6, + "endLine": 277, + "endColumn": 11, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 277, + "column": 6, + "endLine": 277, + "endColumn": 11, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 278, + "column": 6, + "endLine": 278, + "endColumn": 12, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 278, + "column": 6, + "endLine": 278, + "endColumn": 12, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 279, + "column": 6, + "endLine": 279, + "endColumn": 9, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 279, + "column": 6, + "endLine": 279, + "endColumn": 9, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 280, + "column": 6, + "endLine": 280, + "endColumn": 11, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 280, + "column": 6, + "endLine": 280, + "endColumn": 11, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 281, + "column": 6, + "endLine": 281, + "endColumn": 12, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 281, + "column": 6, + "endLine": 281, + "endColumn": 12, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 282, + "column": 6, + "endLine": 282, + "endColumn": 9, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 282, + "column": 6, + "endLine": 282, + "endColumn": 9, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 283, + "column": 6, + "endLine": 283, + "endColumn": 11, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 283, + "column": 6, + "endLine": 283, + "endColumn": 11, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 284, + "column": 6, + "endLine": 284, + "endColumn": 10, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 284, + "column": 6, + "endLine": 284, + "endColumn": 10, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 285, + "column": 6, + "endLine": 285, + "endColumn": 10, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 285, + "column": 6, + "endLine": 285, + "endColumn": 10, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 286, + "column": 6, + "endLine": 286, + "endColumn": 10, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 287, + "column": 6, + "endLine": 287, + "endColumn": 10, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 288, + "column": 6, + "endLine": 288, + "endColumn": 12, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, { "line": 172, "column": 2, diff --git a/ets2panda/linter/test/main/invalid_identifier.ets.json b/ets2panda/linter/test/main/invalid_identifier.ets.json index a673c05632..972a7d164c 100755 --- a/ets2panda/linter/test/main/invalid_identifier.ets.json +++ b/ets2panda/linter/test/main/invalid_identifier.ets.json @@ -14,6 +14,66 @@ "limitations under the License." ], "result": [ + { + "line": 18, + "column": 8, + "endLine": 18, + "endColumn": 16, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 22, + "column": 7, + "endLine": 22, + "endColumn": 15, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 26, + "column": 7, + "endLine": 26, + "endColumn": 9, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 30, + "column": 7, + "endLine": 30, + "endColumn": 13, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 34, + "column": 7, + "endLine": 34, + "endColumn": 12, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 42, + "column": 7, + "endLine": 42, + "endColumn": 13, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, { "line": 52, "column": 7, @@ -24,6 +84,96 @@ "rule": "\"throw\" statements cannot accept values of arbitrary types (arkts-limited-throw)", "severity": "ERROR" }, + { + "line": 54, + "column": 7, + "endLine": 54, + "endColumn": 12, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 72, + "column": 7, + "endLine": 72, + "endColumn": 16, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 74, + "column": 7, + "endLine": 74, + "endColumn": 18, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 98, + "column": 7, + "endLine": 98, + "endColumn": 13, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 100, + "column": 7, + "endLine": 100, + "endColumn": 14, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 102, + "column": 7, + "endLine": 102, + "endColumn": 13, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 104, + "column": 7, + "endLine": 104, + "endColumn": 13, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 106, + "column": 7, + "endLine": 106, + "endColumn": 11, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 108, + "column": 7, + "endLine": 108, + "endColumn": 12, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, { "line": 110, "column": 24, @@ -34,6 +184,36 @@ "rule": "Object literal must correspond to some explicitly declared class or interface (arkts-no-untyped-obj-literals)", "severity": "ERROR" }, + { + "line": 112, + "column": 7, + "endLine": 112, + "endColumn": 11, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 114, + "column": 7, + "endLine": 114, + "endColumn": 12, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 116, + "column": 7, + "endLine": 116, + "endColumn": 13, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, { "line": 116, "column": 24, @@ -43,6 +223,326 @@ "suggest": "", "rule": "Object literal must correspond to some explicitly declared class or interface (arkts-no-untyped-obj-literals)", "severity": "ERROR" + }, + { + "line": 120, + "column": 7, + "endLine": 120, + "endColumn": 10, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 122, + "column": 7, + "endLine": 122, + "endColumn": 12, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 124, + "column": 7, + "endLine": 124, + "endColumn": 13, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 126, + "column": 7, + "endLine": 126, + "endColumn": 10, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 128, + "column": 7, + "endLine": 128, + "endColumn": 12, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 130, + "column": 7, + "endLine": 130, + "endColumn": 11, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 164, + "column": 10, + "endLine": 164, + "endColumn": 14, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 261, + "column": 6, + "endLine": 261, + "endColumn": 14, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 262, + "column": 6, + "endLine": 262, + "endColumn": 14, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 263, + "column": 6, + "endLine": 263, + "endColumn": 8, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 264, + "column": 6, + "endLine": 264, + "endColumn": 12, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 265, + "column": 6, + "endLine": 265, + "endColumn": 11, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 266, + "column": 6, + "endLine": 266, + "endColumn": 12, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 267, + "column": 6, + "endLine": 267, + "endColumn": 11, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 268, + "column": 6, + "endLine": 268, + "endColumn": 15, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 269, + "column": 6, + "endLine": 269, + "endColumn": 17, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 270, + "column": 6, + "endLine": 270, + "endColumn": 12, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 271, + "column": 6, + "endLine": 271, + "endColumn": 13, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 272, + "column": 6, + "endLine": 272, + "endColumn": 12, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 273, + "column": 6, + "endLine": 273, + "endColumn": 12, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 274, + "column": 6, + "endLine": 274, + "endColumn": 10, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 275, + "column": 6, + "endLine": 275, + "endColumn": 11, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 276, + "column": 6, + "endLine": 276, + "endColumn": 10, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 277, + "column": 6, + "endLine": 277, + "endColumn": 11, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 278, + "column": 6, + "endLine": 278, + "endColumn": 12, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 279, + "column": 6, + "endLine": 279, + "endColumn": 9, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 280, + "column": 6, + "endLine": 280, + "endColumn": 11, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 281, + "column": 6, + "endLine": 281, + "endColumn": 12, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 282, + "column": 6, + "endLine": 282, + "endColumn": 9, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 283, + "column": 6, + "endLine": 283, + "endColumn": 11, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 284, + "column": 6, + "endLine": 284, + "endColumn": 10, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 285, + "column": 6, + "endLine": 285, + "endColumn": 10, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" } ] } \ No newline at end of file diff --git a/ets2panda/linter/test/main/limited_stdlib_api.ets b/ets2panda/linter/test/main/limited_stdlib_api.ets index 15e2f493e1..b844f00e2e 100644 --- a/ets2panda/linter/test/main/limited_stdlib_api.ets +++ b/ets2panda/linter/test/main/limited_stdlib_api.ets @@ -132,3 +132,21 @@ const rec4: Object = Object.assign(rec, new C2()); // NOT O const rec5 = Object.assign(rec, new C2()); // NOT OK, return type is intersection type 'Record & C2' const rec6: Record = Object.assign(new C2(), new C3()); // NOT OK, target type is 'C2' Object.assign(rec, new C2()); // NOT OK, no return (context) type + +@Sendable +type funtType1 = () => void + +@Sendable +function test4(param1: funtType1) { +return param1 +} + +@Sendable +type funtType2 = () => string | number + +@Sendable +function test5(param1: funtType2) { +return param1 +} +@Sendable +function test6(){} \ No newline at end of file diff --git a/ets2panda/linter/test/main/limited_stdlib_api.ets.arkts2.json b/ets2panda/linter/test/main/limited_stdlib_api.ets.arkts2.json index affb940597..2cd7ef6f2e 100644 --- a/ets2panda/linter/test/main/limited_stdlib_api.ets.arkts2.json +++ b/ets2panda/linter/test/main/limited_stdlib_api.ets.arkts2.json @@ -864,6 +864,56 @@ "rule": "Usage of standard library is restricted (arkts-limited-stdlib)", "severity": "ERROR" }, + { + "line": 136, + "column": 1, + "endLine": 136, + "endColumn": 10, + "problem": "LimitedStdLibNoSendableDecorator", + "suggest": "", + "rule": "Usage of standard library is restricted(arkts-limited-stdlib-no-sendable-decorator)", + "severity": "ERROR" + }, + { + "line": 139, + "column": 1, + "endLine": 139, + "endColumn": 10, + "problem": "LimitedStdLibNoSendableDecorator", + "suggest": "", + "rule": "Usage of standard library is restricted(arkts-limited-stdlib-no-sendable-decorator)", + "severity": "ERROR" + }, + { + "line": 144, + "column": 1, + "endLine": 144, + "endColumn": 10, + "problem": "LimitedStdLibNoSendableDecorator", + "suggest": "", + "rule": "Usage of standard library is restricted(arkts-limited-stdlib-no-sendable-decorator)", + "severity": "ERROR" + }, + { + "line": 147, + "column": 1, + "endLine": 147, + "endColumn": 10, + "problem": "LimitedStdLibNoSendableDecorator", + "suggest": "", + "rule": "Usage of standard library is restricted(arkts-limited-stdlib-no-sendable-decorator)", + "severity": "ERROR" + }, + { + "line": 151, + "column": 1, + "endLine": 151, + "endColumn": 10, + "problem": "LimitedStdLibNoSendableDecorator", + "suggest": "", + "rule": "Usage of standard library is restricted(arkts-limited-stdlib-no-sendable-decorator)", + "severity": "ERROR" + }, { "line": 126, "column": 12, diff --git a/ets2panda/linter/test/main/no_import_concurrency.ets b/ets2panda/linter/test/main/no_import_concurrency.ets index d6f173602a..49bbabfaa9 100644 --- a/ets2panda/linter/test/main/no_import_concurrency.ets +++ b/ets2panda/linter/test/main/no_import_concurrency.ets @@ -23,4 +23,11 @@ import doo, { ArkTSUtils as Ats, too } from '@kit.ArkTS'; import fooke from '@ohos.process'; //legal import { process as ps } from '@ohos.process'; import process from '@ohos.process'; -import ArkTSUtils, { taskpool as tsk, process as prs } from '@kit.ArkTS'; \ No newline at end of file +import ArkTSUtils, { taskpool as tsk, process as prs } from '@kit.ArkTS'; + +class Taskpool{ + isConcurrent(){ + } +} +let taskpool = new Taskpool(); +taskpool.isConcurrent(); \ No newline at end of file diff --git a/ets2panda/linter/test/main/no_import_concurrency.ets.arkts2.json b/ets2panda/linter/test/main/no_import_concurrency.ets.arkts2.json index 7d90da6369..af0c19ff42 100644 --- a/ets2panda/linter/test/main/no_import_concurrency.ets.arkts2.json +++ b/ets2panda/linter/test/main/no_import_concurrency.ets.arkts2.json @@ -44,6 +44,16 @@ "rule": "Import Concurrency is not required (arkts-limited-stdlib-no-import-concurrency)", "severity": "ERROR" }, + { + "line": 20, + "column": 8, + "endLine": 20, + "endColumn": 16, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, { "line": 21, "column": 15, @@ -103,6 +113,16 @@ "suggest": "", "rule": "Import Concurrency is not required (arkts-limited-stdlib-no-import-concurrency)", "severity": "ERROR" + }, + { + "line": 32, + "column": 5, + "endLine": 32, + "endColumn": 13, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" } ] } \ No newline at end of file diff --git a/ets2panda/linter/test/main/no_import_concurrency.ets.autofix.json b/ets2panda/linter/test/main/no_import_concurrency.ets.autofix.json index 2a756c0a4e..b321e2d8db 100644 --- a/ets2panda/linter/test/main/no_import_concurrency.ets.autofix.json +++ b/ets2panda/linter/test/main/no_import_concurrency.ets.autofix.json @@ -24,7 +24,11 @@ { "start": 629, "end": 646, - "replacementText": "" + "replacementText": "", + "line": 17, + "column": 21, + "endLine": 17, + "endColumn": 36 } ], "suggest": "", @@ -41,7 +45,11 @@ { "start": 783, "end": 793, - "replacementText": "" + "replacementText": "", + "line": 20, + "column": 8, + "endLine": 20, + "endColumn": 16 } ], "suggest": "", @@ -58,13 +66,27 @@ { "start": 795, "end": 814, - "replacementText": "" + "replacementText": "", + "line": 20, + "column": 20, + "endLine": 20, + "endColumn": 37 } ], "suggest": "", "rule": "Import Concurrency is not required (arkts-limited-stdlib-no-import-concurrency)", "severity": "ERROR" }, + { + "line": 20, + "column": 8, + "endLine": 20, + "endColumn": 16, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, { "line": 21, "column": 15, @@ -75,7 +97,11 @@ { "start": 853, "end": 872, - "replacementText": "" + "replacementText": "", + "line": 21, + "column": 15, + "endLine": 21, + "endColumn": 32 } ], "suggest": "", @@ -92,7 +118,11 @@ { "start": 870, "end": 885, - "replacementText": "" + "replacementText": "", + "line": 21, + "column": 34, + "endLine": 21, + "endColumn": 47 } ], "suggest": "", @@ -109,7 +139,11 @@ { "start": 921, "end": 940, - "replacementText": "" + "replacementText": "", + "line": 22, + "column": 15, + "endLine": 22, + "endColumn": 32 } ], "suggest": "", @@ -126,7 +160,11 @@ { "start": 1008, "end": 1054, - "replacementText": "" + "replacementText": "", + "line": 24, + "column": 1, + "endLine": 24, + "endColumn": 47 } ], "suggest": "", @@ -143,7 +181,11 @@ { "start": 1055, "end": 1091, - "replacementText": "" + "replacementText": "", + "line": 25, + "column": 1, + "endLine": 25, + "endColumn": 37 } ], "suggest": "", @@ -160,12 +202,26 @@ { "start": 1092, "end": 1165, - "replacementText": "" + "replacementText": "", + "line": 26, + "column": 1, + "endLine": 26, + "endColumn": 74 } ], "suggest": "", "rule": "Import Concurrency is not required (arkts-limited-stdlib-no-import-concurrency)", "severity": "ERROR" + }, + { + "line": 32, + "column": 5, + "endLine": 32, + "endColumn": 13, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" } ] } \ No newline at end of file diff --git a/ets2panda/linter/test/main/no_import_concurrency.ets.json b/ets2panda/linter/test/main/no_import_concurrency.ets.json index ca88f857e9..987a70dd07 100644 --- a/ets2panda/linter/test/main/no_import_concurrency.ets.json +++ b/ets2panda/linter/test/main/no_import_concurrency.ets.json @@ -13,5 +13,26 @@ "See the License for the specific language governing permissions and", "limitations under the License." ], - "result": [] + "result": [ + { + "line": 20, + "column": 8, + "endLine": 20, + "endColumn": 16, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + }, + { + "line": 32, + "column": 5, + "endLine": 32, + "endColumn": 13, + "problem": "DeclWithDuplicateName", + "suggest": "", + "rule": "Use unique names for types and namespaces. (arkts-unique-names)", + "severity": "ERROR" + } + ] } \ No newline at end of file diff --git a/ets2panda/linter/test/main/no_import_concurrency.ets.migrate.ets b/ets2panda/linter/test/main/no_import_concurrency.ets.migrate.ets index a7dc1cccd1..a93f6a9831 100644 --- a/ets2panda/linter/test/main/no_import_concurrency.ets.migrate.ets +++ b/ets2panda/linter/test/main/no_import_concurrency.ets.migrate.ets @@ -23,3 +23,11 @@ import doo, { too } from '@kit.ArkTS'; import fooke from '@ohos.process'; //legal + + +class Taskpool{ + isConcurrent(){ + } +} +let taskpool = new Taskpool(); +taskpool.isConcurrent(); \ No newline at end of file diff --git a/ets2panda/linter/test/main/numeric_semantics.ets b/ets2panda/linter/test/main/numeric_semantics.ets index e09d8b47cf..3ffd2f010b 100755 --- a/ets2panda/linter/test/main/numeric_semantics.ets +++ b/ets2panda/linter/test/main/numeric_semantics.ets @@ -202,4 +202,19 @@ for (let i:number = 0; i < 100; i++) { } let cancelIds:ArrayList = arr.subArrayList(6, 86) let a: Array = Array.from(cancelIds) -let arr1: Array = Array.from(new ArrayList()) \ No newline at end of file +let arr1: Array = Array.from(new ArrayList()) + +let t2 = (1); + +let t0 = +123; +let t3 = -234; + +class TMP1 { + static get(propName: string): T|undefined { + // let a:T = ; + return undefined; + } +} + +const c: number = TMP1.get("123") ?? 123; +const a: number = AppStorage.get("123") ?? 123; \ No newline at end of file diff --git a/ets2panda/linter/test/main/numeric_semantics.ets.arkts2.json b/ets2panda/linter/test/main/numeric_semantics.ets.arkts2.json index d7c46831b1..72a312144f 100755 --- a/ets2panda/linter/test/main/numeric_semantics.ets.arkts2.json +++ b/ets2panda/linter/test/main/numeric_semantics.ets.arkts2.json @@ -1094,6 +1094,86 @@ "rule": "\"new\" expression with dynamic constructor type is not supported (arkts-no-dynamic-ctor-call)", "severity": "ERROR" }, + { + "line": 207, + "column": 5, + "endLine": 207, + "endColumn": 13, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 207, + "column": 11, + "endLine": 207, + "endColumn": 12, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 209, + "column": 5, + "endLine": 209, + "endColumn": 14, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 209, + "column": 11, + "endLine": 209, + "endColumn": 14, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 210, + "column": 5, + "endLine": 210, + "endColumn": 14, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 210, + "column": 11, + "endLine": 210, + "endColumn": 14, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 219, + "column": 38, + "endLine": 219, + "endColumn": 41, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 220, + "column": 44, + "endLine": 220, + "endColumn": 47, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 117, "column": 2, @@ -1183,6 +1263,16 @@ "suggest": "", "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", "severity": "ERROR" + }, + { + "line": 220, + "column": 19, + "endLine": 220, + "endColumn": 29, + "problem": "UIInterfaceImport", + "suggest": "", + "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", + "severity": "ERROR" } ] } \ No newline at end of file diff --git a/ets2panda/linter/test/main/numeric_semantics.ets.autofix.json b/ets2panda/linter/test/main/numeric_semantics.ets.autofix.json index 5045e3f3cb..2ae6759ca2 100644 --- a/ets2panda/linter/test/main/numeric_semantics.ets.autofix.json +++ b/ets2panda/linter/test/main/numeric_semantics.ets.autofix.json @@ -2170,6 +2170,174 @@ "rule": "\"new\" expression with dynamic constructor type is not supported (arkts-no-dynamic-ctor-call)", "severity": "ERROR" }, + { + "line": 207, + "column": 5, + "endLine": 207, + "endColumn": 13, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 5114, + "end": 5122, + "replacementText": "t2: number = (1)", + "line": 207, + "column": 5, + "endLine": 207, + "endColumn": 13 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 207, + "column": 11, + "endLine": 207, + "endColumn": 12, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 5120, + "end": 5121, + "replacementText": "1.0", + "line": 207, + "column": 11, + "endLine": 207, + "endColumn": 12 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 209, + "column": 5, + "endLine": 209, + "endColumn": 14, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 5131, + "end": 5140, + "replacementText": "t0: number = +123", + "line": 209, + "column": 5, + "endLine": 209, + "endColumn": 14 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 209, + "column": 11, + "endLine": 209, + "endColumn": 14, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 5137, + "end": 5140, + "replacementText": "123.0", + "line": 209, + "column": 11, + "endLine": 209, + "endColumn": 14 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 210, + "column": 5, + "endLine": 210, + "endColumn": 14, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 5147, + "end": 5156, + "replacementText": "t3: number = -234", + "line": 210, + "column": 5, + "endLine": 210, + "endColumn": 14 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 210, + "column": 11, + "endLine": 210, + "endColumn": 14, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 5153, + "end": 5156, + "replacementText": "234.0", + "line": 210, + "column": 11, + "endLine": 210, + "endColumn": 14 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 219, + "column": 38, + "endLine": 219, + "endColumn": 41, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 5312, + "end": 5315, + "replacementText": "123.0", + "line": 219, + "column": 38, + "endLine": 219, + "endColumn": 41 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 220, + "column": 44, + "endLine": 220, + "endColumn": 47, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 5361, + "end": 5364, + "replacementText": "123.0", + "line": 220, + "column": 44, + "endLine": 220, + "endColumn": 47 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 117, "column": 2, @@ -2181,10 +2349,10 @@ "start": 738, "end": 738, "replacementText": "\r\n\r\nimport { Entry, Component, State, RelativeContainer, Text, AppStorage } from '@kit.ArkUI';\r\n", - "line": 155, - "column": 34, - "endLine": 155, - "endColumn": 44 + "line": 220, + "column": 19, + "endLine": 220, + "endColumn": 29 } ], "suggest": "", @@ -2202,10 +2370,10 @@ "start": 738, "end": 738, "replacementText": "\r\n\r\nimport { Entry, Component, State, RelativeContainer, Text, AppStorage } from '@kit.ArkUI';\r\n", - "line": 155, - "column": 34, - "endLine": 155, - "endColumn": 44 + "line": 220, + "column": 19, + "endLine": 220, + "endColumn": 29 } ], "suggest": "", @@ -2223,10 +2391,10 @@ "start": 738, "end": 738, "replacementText": "\r\n\r\nimport { Entry, Component, State, RelativeContainer, Text, AppStorage } from '@kit.ArkUI';\r\n", - "line": 155, - "column": 34, - "endLine": 155, - "endColumn": 44 + "line": 220, + "column": 19, + "endLine": 220, + "endColumn": 29 } ], "suggest": "", @@ -2244,10 +2412,10 @@ "start": 738, "end": 738, "replacementText": "\r\n\r\nimport { Entry, Component, State, RelativeContainer, Text, AppStorage } from '@kit.ArkUI';\r\n", - "line": 155, - "column": 34, - "endLine": 155, - "endColumn": 44 + "line": 220, + "column": 19, + "endLine": 220, + "endColumn": 29 } ], "suggest": "", @@ -2265,10 +2433,10 @@ "start": 738, "end": 738, "replacementText": "\r\n\r\nimport { Entry, Component, State, RelativeContainer, Text, AppStorage } from '@kit.ArkUI';\r\n", - "line": 155, - "column": 34, - "endLine": 155, - "endColumn": 44 + "line": 220, + "column": 19, + "endLine": 220, + "endColumn": 29 } ], "suggest": "", @@ -2286,10 +2454,10 @@ "start": 738, "end": 738, "replacementText": "\r\n\r\nimport { Entry, Component, State, RelativeContainer, Text, AppStorage } from '@kit.ArkUI';\r\n", - "line": 155, - "column": 34, - "endLine": 155, - "endColumn": 44 + "line": 220, + "column": 19, + "endLine": 220, + "endColumn": 29 } ], "suggest": "", @@ -2307,10 +2475,10 @@ "start": 738, "end": 738, "replacementText": "\r\n\r\nimport { Entry, Component, State, RelativeContainer, Text, AppStorage } from '@kit.ArkUI';\r\n", - "line": 155, - "column": 34, - "endLine": 155, - "endColumn": 44 + "line": 220, + "column": 19, + "endLine": 220, + "endColumn": 29 } ], "suggest": "", @@ -2328,10 +2496,10 @@ "start": 738, "end": 738, "replacementText": "\r\n\r\nimport { Entry, Component, State, RelativeContainer, Text, AppStorage } from '@kit.ArkUI';\r\n", - "line": 155, - "column": 34, - "endLine": 155, - "endColumn": 44 + "line": 220, + "column": 19, + "endLine": 220, + "endColumn": 29 } ], "suggest": "", @@ -2349,10 +2517,31 @@ "start": 738, "end": 738, "replacementText": "\r\n\r\nimport { Entry, Component, State, RelativeContainer, Text, AppStorage } from '@kit.ArkUI';\r\n", - "line": 155, - "column": 34, - "endLine": 155, - "endColumn": 44 + "line": 220, + "column": 19, + "endLine": 220, + "endColumn": 29 + } + ], + "suggest": "", + "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", + "severity": "ERROR" + }, + { + "line": 220, + "column": 19, + "endLine": 220, + "endColumn": 29, + "problem": "UIInterfaceImport", + "autofix": [ + { + "start": 738, + "end": 738, + "replacementText": "\r\n\r\nimport { Entry, Component, State, RelativeContainer, Text, AppStorage } from '@kit.ArkUI';\r\n", + "line": 220, + "column": 19, + "endLine": 220, + "endColumn": 29 } ], "suggest": "", diff --git a/ets2panda/linter/test/main/numeric_semantics.ets.migrate.ets b/ets2panda/linter/test/main/numeric_semantics.ets.migrate.ets index cecf097403..261e9c0d8d 100644 --- a/ets2panda/linter/test/main/numeric_semantics.ets.migrate.ets +++ b/ets2panda/linter/test/main/numeric_semantics.ets.migrate.ets @@ -208,4 +208,19 @@ for (let i:number = 0.0; i < 100.0; i++) { } let cancelIds:ArrayList = arr.subArrayList(6.0, 86.0) let a: Array = Array.from(cancelIds) -let arr1: Array = Array.from(new ArrayList()) \ No newline at end of file +let arr1: Array = Array.from(new ArrayList()) + +let t2: number = (1.0); + +let t0: number = +123.0; +let t3: number = -234.0; + +class TMP1 { + static get(propName: string): T|undefined { + // let a:T = ; + return undefined; + } +} + +const c: number = TMP1.get("123") ?? 123.0; +const a: number = AppStorage.get("123") ?? 123.0; \ No newline at end of file diff --git a/ets2panda/linter/test/main/object_literals_properties.ets b/ets2panda/linter/test/main/object_literals_properties.ets index d5265f7493..d08e6df423 100644 --- a/ets2panda/linter/test/main/object_literals_properties.ets +++ b/ets2panda/linter/test/main/object_literals_properties.ets @@ -255,4 +255,11 @@ class C { } let map1:Map = new Map(); -let c:C = {map1}; \ No newline at end of file +let c:C = {map1}; + +MeasureText.measureText({ "textContent": "asyncTask" }); + +let worker01 = new worker.ThreadWorker("./workers/cvWorker02", { + "name": "cvWorker01", + "priority": ThreadWorkerPriority.HIGH +}); \ No newline at end of file diff --git a/ets2panda/linter/test/main/object_literals_properties.ets.arkts2.json b/ets2panda/linter/test/main/object_literals_properties.ets.arkts2.json index ac48689e30..2f00c2ff2d 100644 --- a/ets2panda/linter/test/main/object_literals_properties.ets.arkts2.json +++ b/ets2panda/linter/test/main/object_literals_properties.ets.arkts2.json @@ -1114,6 +1114,46 @@ "rule": "Object literal must correspond to some explicitly declared class or interface (arkts-no-untyped-obj-literals)", "severity": "ERROR" }, + { + "line": 262, + "column": 5, + "endLine": 265, + "endColumn": 3, + "problem": "AnyType", + "suggest": "", + "rule": "Use explicit types instead of \"any\", \"unknown\" (arkts-no-any-unknown)", + "severity": "ERROR" + }, + { + "line": 262, + "column": 20, + "endLine": 262, + "endColumn": 39, + "problem": "DynamicCtorCall", + "suggest": "", + "rule": "\"new\" expression with dynamic constructor type is not supported (arkts-no-dynamic-ctor-call)", + "severity": "ERROR" + }, + { + "line": 263, + "column": 5, + "endLine": 263, + "endColumn": 11, + "problem": "LiteralAsPropertyName", + "suggest": "", + "rule": "Objects with property names that are not identifiers are not supported (arkts-identifiers-as-prop-names)", + "severity": "ERROR" + }, + { + "line": 264, + "column": 5, + "endLine": 264, + "endColumn": 15, + "problem": "LiteralAsPropertyName", + "suggest": "", + "rule": "Objects with property names that are not identifiers are not supported (arkts-identifiers-as-prop-names)", + "severity": "ERROR" + }, { "line": 187, "column": 3, diff --git a/ets2panda/linter/test/main/object_literals_properties.ets.autofix.json b/ets2panda/linter/test/main/object_literals_properties.ets.autofix.json index 706c09bb34..0b5ffb3a73 100644 --- a/ets2panda/linter/test/main/object_literals_properties.ets.autofix.json +++ b/ets2panda/linter/test/main/object_literals_properties.ets.autofix.json @@ -1919,6 +1919,46 @@ "rule": "Object literal must correspond to some explicitly declared class or interface (arkts-no-untyped-obj-literals)", "severity": "ERROR" }, + { + "line": 262, + "column": 5, + "endLine": 265, + "endColumn": 3, + "problem": "AnyType", + "suggest": "", + "rule": "Use explicit types instead of \"any\", \"unknown\" (arkts-no-any-unknown)", + "severity": "ERROR" + }, + { + "line": 262, + "column": 20, + "endLine": 262, + "endColumn": 39, + "problem": "DynamicCtorCall", + "suggest": "", + "rule": "\"new\" expression with dynamic constructor type is not supported (arkts-no-dynamic-ctor-call)", + "severity": "ERROR" + }, + { + "line": 263, + "column": 5, + "endLine": 263, + "endColumn": 11, + "problem": "LiteralAsPropertyName", + "suggest": "", + "rule": "Objects with property names that are not identifiers are not supported (arkts-identifiers-as-prop-names)", + "severity": "ERROR" + }, + { + "line": 264, + "column": 5, + "endLine": 264, + "endColumn": 15, + "problem": "LiteralAsPropertyName", + "suggest": "", + "rule": "Objects with property names that are not identifiers are not supported (arkts-identifiers-as-prop-names)", + "severity": "ERROR" + }, { "line": 187, "column": 3, diff --git a/ets2panda/linter/test/main/object_literals_properties.ets.json b/ets2panda/linter/test/main/object_literals_properties.ets.json index 8548318c10..5f999ee960 100644 --- a/ets2panda/linter/test/main/object_literals_properties.ets.json +++ b/ets2panda/linter/test/main/object_literals_properties.ets.json @@ -304,6 +304,16 @@ "rule": "Object literal must correspond to some explicitly declared class or interface (arkts-no-untyped-obj-literals)", "severity": "ERROR" }, + { + "line": 262, + "column": 5, + "endLine": 265, + "endColumn": 3, + "problem": "AnyType", + "suggest": "", + "rule": "Use explicit types instead of \"any\", \"unknown\" (arkts-no-any-unknown)", + "severity": "ERROR" + }, { "line": 187, "column": 3, diff --git a/ets2panda/linter/test/main/object_literals_properties.ets.migrate.ets b/ets2panda/linter/test/main/object_literals_properties.ets.migrate.ets index eb3a50b921..d5873d1f1c 100644 --- a/ets2panda/linter/test/main/object_literals_properties.ets.migrate.ets +++ b/ets2panda/linter/test/main/object_literals_properties.ets.migrate.ets @@ -312,4 +312,11 @@ class C { } let map1:Map = new Map(); -let c:C = {map1}; \ No newline at end of file +let c:C = {map1}; + +MeasureText.measureText({ "textContent": "asyncTask" }); + +let worker01 = new worker.ThreadWorker("./workers/cvWorker02", { + "name": "cvWorker01", + "priority": ThreadWorkerPriority.HIGH +}); \ No newline at end of file diff --git a/ets2panda/linter/test/main/object_literals_properties.ets.migrate.json b/ets2panda/linter/test/main/object_literals_properties.ets.migrate.json index 972e1c73e2..a630b3e8ab 100644 --- a/ets2panda/linter/test/main/object_literals_properties.ets.migrate.json +++ b/ets2panda/linter/test/main/object_literals_properties.ets.migrate.json @@ -334,6 +334,46 @@ "rule": "Object literal must correspond to some explicitly declared class or interface (arkts-no-untyped-obj-literals)", "severity": "ERROR" }, + { + "line": 319, + "column": 5, + "endLine": 322, + "endColumn": 3, + "problem": "AnyType", + "suggest": "", + "rule": "Use explicit types instead of \"any\", \"unknown\" (arkts-no-any-unknown)", + "severity": "ERROR" + }, + { + "line": 319, + "column": 20, + "endLine": 319, + "endColumn": 39, + "problem": "DynamicCtorCall", + "suggest": "", + "rule": "\"new\" expression with dynamic constructor type is not supported (arkts-no-dynamic-ctor-call)", + "severity": "ERROR" + }, + { + "line": 320, + "column": 5, + "endLine": 320, + "endColumn": 11, + "problem": "LiteralAsPropertyName", + "suggest": "", + "rule": "Objects with property names that are not identifiers are not supported (arkts-identifiers-as-prop-names)", + "severity": "ERROR" + }, + { + "line": 321, + "column": 5, + "endLine": 321, + "endColumn": 15, + "problem": "LiteralAsPropertyName", + "suggest": "", + "rule": "Objects with property names that are not identifiers are not supported (arkts-identifiers-as-prop-names)", + "severity": "ERROR" + }, { "line": 240, "column": 3, diff --git a/ets2panda/linter/test/main/optional_methods.ets b/ets2panda/linter/test/main/optional_methods.ets index 30e161d581..ace0592f10 100644 --- a/ets2panda/linter/test/main/optional_methods.ets +++ b/ets2panda/linter/test/main/optional_methods.ets @@ -20,3 +20,7 @@ class X { interface Y { throw?(): void } + +interface InterfaceA2 { + aboutToDisappear?: ()=> void +} \ No newline at end of file diff --git a/ets2panda/linter/test/main/structural_identity.ets b/ets2panda/linter/test/main/structural_identity.ets index 406a7fee8e..adf71df5f3 100644 --- a/ets2panda/linter/test/main/structural_identity.ets +++ b/ets2panda/linter/test/main/structural_identity.ets @@ -703,4 +703,13 @@ interface goodPerson extends IPerson { function foo2(rule:Record){ let b:Array = rule['123'] as Array +} + +function test6(){ + let buffer: ArrayBuffer = new ArrayBuffer(8); + let view: Uint8Array = new Uint8Array(buffer); + let buffer1: ArrayBuffer = new ArrayBuffer(16); + let view1: Uint8Array = new Uint8Array(buffer1); + let task1: taskpool.Task = new taskpool.Task(task_1, test5, view, view1) + task1.setTransferList([view.buffer, view1.buffer]) } \ No newline at end of file diff --git a/ets2panda/linter/test/main/structural_identity.ets.arkts2.json b/ets2panda/linter/test/main/structural_identity.ets.arkts2.json index 89cd070221..3c57380356 100644 --- a/ets2panda/linter/test/main/structural_identity.ets.arkts2.json +++ b/ets2panda/linter/test/main/structural_identity.ets.arkts2.json @@ -1623,6 +1623,46 @@ "suggest": "", "rule": "Construct signatures are not supported in interfaces.(sdk-ctor-signatures-iface)", "severity": "ERROR" + }, + { + "line": 709, + "column": 45, + "endLine": 709, + "endColumn": 46, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 711, + "column": 46, + "endLine": 711, + "endColumn": 48, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 713, + "column": 34, + "endLine": 713, + "endColumn": 47, + "problem": "DynamicCtorCall", + "suggest": "", + "rule": "\"new\" expression with dynamic constructor type is not supported (arkts-no-dynamic-ctor-call)", + "severity": "ERROR" + }, + { + "line": 714, + "column": 3, + "endLine": 714, + "endColumn": 53, + "problem": "SetTransferListDeprecated", + "suggest": "", + "rule": "The taskpool setTransferList interface is deleted from ArkTS1.2 (arkts-limited-stdlib-no-setTransferList)", + "severity": "ERROR" } ] } \ No newline at end of file diff --git a/ets2panda/linter/test/main/void_operator.ets b/ets2panda/linter/test/main/void_operator.ets index 1d0ace9453..4a11563fbd 100644 --- a/ets2panda/linter/test/main/void_operator.ets +++ b/ets2panda/linter/test/main/void_operator.ets @@ -70,3 +70,7 @@ function foo() { void class localClass{}; } + +let fn = () => void 0; + +let t1 = void 1; \ No newline at end of file diff --git a/ets2panda/linter/test/main/void_operator.ets.arkts2.json b/ets2panda/linter/test/main/void_operator.ets.arkts2.json index 469893a2cc..b3252ba5c7 100644 --- a/ets2panda/linter/test/main/void_operator.ets.arkts2.json +++ b/ets2panda/linter/test/main/void_operator.ets.arkts2.json @@ -543,6 +543,46 @@ "suggest": "", "rule": "Class literals are not supported (arkts-no-class-literals)", "severity": "ERROR" + }, + { + "line": 74, + "column": 16, + "endLine": 74, + "endColumn": 20, + "problem": "VoidOperator", + "suggest": "", + "rule": "\"void\" operator is not supported (arkts-no-void-operator)", + "severity": "ERROR" + }, + { + "line": 74, + "column": 21, + "endLine": 74, + "endColumn": 22, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 76, + "column": 10, + "endLine": 76, + "endColumn": 14, + "problem": "VoidOperator", + "suggest": "", + "rule": "\"void\" operator is not supported (arkts-no-void-operator)", + "severity": "ERROR" + }, + { + "line": 76, + "column": 15, + "endLine": 76, + "endColumn": 16, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" } ] } \ No newline at end of file diff --git a/ets2panda/linter/test/main/void_operator.ets.autofix.json b/ets2panda/linter/test/main/void_operator.ets.autofix.json index 517ba65f3a..fb5253b613 100644 --- a/ets2panda/linter/test/main/void_operator.ets.autofix.json +++ b/ets2panda/linter/test/main/void_operator.ets.autofix.json @@ -1091,6 +1091,90 @@ "suggest": "", "rule": "Class literals are not supported (arkts-no-class-literals)", "severity": "ERROR" + }, + { + "line": 74, + "column": 16, + "endLine": 74, + "endColumn": 20, + "problem": "VoidOperator", + "autofix": [ + { + "start": 1356, + "end": 1362, + "replacementText": "(() => {\n 0;\n return undefined;\n})()", + "line": 74, + "column": 16, + "endLine": 74, + "endColumn": 20 + } + ], + "suggest": "", + "rule": "\"void\" operator is not supported (arkts-no-void-operator)", + "severity": "ERROR" + }, + { + "line": 74, + "column": 21, + "endLine": 74, + "endColumn": 22, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1361, + "end": 1362, + "replacementText": "0.0", + "line": 74, + "column": 21, + "endLine": 74, + "endColumn": 22 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 76, + "column": 10, + "endLine": 76, + "endColumn": 14, + "problem": "VoidOperator", + "autofix": [ + { + "start": 1374, + "end": 1380, + "replacementText": "(() => {\n 1;\n return undefined;\n})()", + "line": 76, + "column": 10, + "endLine": 76, + "endColumn": 14 + } + ], + "suggest": "", + "rule": "\"void\" operator is not supported (arkts-no-void-operator)", + "severity": "ERROR" + }, + { + "line": 76, + "column": 15, + "endLine": 76, + "endColumn": 16, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1379, + "end": 1380, + "replacementText": "1.0", + "line": 76, + "column": 15, + "endLine": 76, + "endColumn": 16 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" } ] } \ No newline at end of file diff --git a/ets2panda/linter/test/main/void_operator.ets.migrate.ets b/ets2panda/linter/test/main/void_operator.ets.migrate.ets index 72f556c1fa..8afccb7da3 100644 --- a/ets2panda/linter/test/main/void_operator.ets.migrate.ets +++ b/ets2panda/linter/test/main/void_operator.ets.migrate.ets @@ -147,3 +147,13 @@ function foo() { return undefined; })(); } + +let fn = (): undefined => (() => { + 0.0; + return undefined; +})(); + +let t1 = (() => { + 1.0; + return undefined; +})(); \ No newline at end of file -- Gitee