diff --git a/ets2panda/linter/src/cli/CommandLineParser.ts b/ets2panda/linter/src/cli/CommandLineParser.ts index 04f6792b4dacab5d30bb281136a7f6358832371b..f9604444034fcda2de3a76c0d819b14429bc0f10 100644 --- a/ets2panda/linter/src/cli/CommandLineParser.ts +++ b/ets2panda/linter/src/cli/CommandLineParser.ts @@ -229,6 +229,7 @@ function getDefaultConfigurePath(): string { const defaultConfigPath = path.join(process.cwd(), 'rule-config.json'); try { fs.accessSync(defaultConfigPath, fs.constants.F_OK); + // eslint-disable-next-line @typescript-eslint/no-explicit-any } catch (error: any) { if (error.code === 'ENOENT') { Logger.error( diff --git a/ets2panda/scripts/arkui-setup.sh b/ets2panda/scripts/arkui-setup.sh index 1a2cd0ca9d7b44968033902213a5a2c23ffd4293..20fc7e9f4cc8dddf14f015462b8b2ba28fad7d02 100755 --- a/ets2panda/scripts/arkui-setup.sh +++ b/ets2panda/scripts/arkui-setup.sh @@ -175,7 +175,7 @@ popd >/dev/null 2>&1 || exit 1 run_script "build:all --prefix ui2abc" # Compile arkui implementations -run_script "build:arkui-common:inc:ui2abc --prefix arkoala-arkts/arkui-common" +run_script "compile --prefix arkoala-arkts/arkui-common" run_script "build:m3:recheck --prefix arkoala-arkts/arkui" # rm -rf arkoala-arkts/arkui/build* diff --git a/ets2panda/scripts/arkui.properties b/ets2panda/scripts/arkui.properties index 78d38337179eab5def22e29c3528a5dd136f737a..de2aed86179da04de6e5d6b2ac7395d4ee79f2d9 100644 --- a/ets2panda/scripts/arkui.properties +++ b/ets2panda/scripts/arkui.properties @@ -1,3 +1,3 @@ ARKUI_DEV_REPO=https://gitee.com/rri_opensource/koala_projects.git -ARKUI_DEV_BRANCH=panda_rev_9-fix-ani-signatures +ARKUI_DEV_BRANCH=panda_rev_9-primitives ARKUI_DEST=koala-sig diff --git a/ets2panda/test/runtime/ets/ArrayLiteral.ets b/ets2panda/test/runtime/ets/ArrayLiteral.ets index 2b76db3c77336d71b348c66f299fd8e2778cf6a4..0cf4a6817b4cc5a8ace15116752a9b010f5fa3a6 100644 --- a/ets2panda/test/runtime/ets/ArrayLiteral.ets +++ b/ets2panda/test/runtime/ets/ArrayLiteral.ets @@ -25,7 +25,7 @@ function main(): void { arktest.assertEQ(g[1], 20000) arktest.assertEQ(g[2], 2000000) arktest.assertEQ(g[3], 200000000000) - arktest.assertEQ(g[4], (2.2 as float)) + arktest.assertEQ(g[4], (2.2f)) arktest.assertEQ(g[5], 2.2222222222) const h: byte = 2; diff --git a/ets2panda/test/runtime/ets/CastPrimitive.ets b/ets2panda/test/runtime/ets/CastPrimitive.ets index c568b206e9c750f5fbbd169de5bbc92e87d244bd..5783f9f269a520026341f0af5e3cce0769d3b7f6 100644 --- a/ets2panda/test/runtime/ets/CastPrimitive.ets +++ b/ets2panda/test/runtime/ets/CastPrimitive.ets @@ -59,7 +59,7 @@ function main(): void { arktest.assertEQ(Char.toFloat(f), 61441.0) arktest.assertEQ(Char.toLong(f), 61441) // 61441 == 0x000000000000F001 arktest.assertEQ(Char.toInt(f), 61441) // 61441 == 0x0000F001 - arktest.assertEQ(Char.toShort(f), 0xf001 as short) // -4095 == 0xF001 + arktest.assertEQ(Char.toShort(f), (0xf001).toShort()) // -4095 == 0xF001 arktest.assertEQ(Char.toShort(f), -4095) let g : byte = -128; diff --git a/ets2panda/test/runtime/ets/PrimitiveCasts.ets b/ets2panda/test/runtime/ets/PrimitiveCasts.ets index 6d7e7f1cf01b76bb2060daff08b9e834279b35c3..e150b210f5e09ed947d157dfba4a0bb34bbea5d0 100644 --- a/ets2panda/test/runtime/ets/PrimitiveCasts.ets +++ b/ets2panda/test/runtime/ets/PrimitiveCasts.ets @@ -65,13 +65,13 @@ function main() { arktest.assertEQ(f.toByte(), 2 as byte) arktest.assertEQ(f.toShort(), 2 as short) arktest.assertEQ(f.toInt(), 2 as int) - arktest.assertEQ(f.toLong(), 2.0 as long) - arktest.assertEQ(f.toDouble(),2.71f as double) + arktest.assertEQ(f.toLong(), (2.0).toLong()) + arktest.assertEQ(f.toDouble(), 2.71f as double) // double arktest.assertEQ(d.toByte(), 3 as byte) arktest.assertEQ(d.toShort(), 3 as short) arktest.assertEQ(d.toInt(), 3 as int) - arktest.assertEQ(d.toLong(), 3.0 as long) + arktest.assertEQ(d.toLong(), (3.0).toLong()) arktest.assertEQ(d.toFloat(), 3.14f) } diff --git a/ets2panda/test/runtime/ets/first_match/primitive.ets b/ets2panda/test/runtime/ets/first_match/primitive.ets index fdb2a3acc9fa686964d7e14446cf3a7bf41d7fb7..000c35eee35a6defde235100e80bcb302fbaa979 100644 --- a/ets2panda/test/runtime/ets/first_match/primitive.ets +++ b/ets2panda/test/runtime/ets/first_match/primitive.ets @@ -35,7 +35,7 @@ function main() { arktest.assertEQ(a.foo(1 as int), "invoke2") arktest.assertEQ(a.foo(1 as number), "invoke4") arktest.assertEQ(a.foo(1.0), "invoke4") - arktest.assertEQ(a.foo(1.0 as float), "invoke3") + arktest.assertEQ(a.foo((1.0).toFloat()), "invoke3") arktest.assertEQ(a.foo('a'), "invoke6") arktest.assertEQ(a.foo("abcd"), "invoke6") diff --git a/ets2panda/test/runtime/ets/interfaceMethodWithDefaultParameter.ets b/ets2panda/test/runtime/ets/interfaceMethodWithDefaultParameter.ets index 95890963e99279dc08a7b1dbcf851da8ffae2027..7c74f5d8bfbf88ad17b25fa56d9dbf2623c7a6cc 100644 --- a/ets2panda/test/runtime/ets/interfaceMethodWithDefaultParameter.ets +++ b/ets2panda/test/runtime/ets/interfaceMethodWithDefaultParameter.ets @@ -32,7 +32,7 @@ class JohannSebastianBach implements Composer { "Passacaglia and Fugue in C minor" ] - let max: int = min(compositions.length, count) as int + let max: int = min(compositions.length, count).toInt() return [...compositions.slice(0, max)] } @@ -51,7 +51,7 @@ class JohannSebastianBach implements Composer { "Johann Christian Bach III" ] - let max: int = min(children.length, count) as int + let max: int = min(children.length, count).toInt() return excludeLast ? [...children.slice(0, max - 1)] : [...children.slice(0, max)] } } diff --git a/ets2panda/test/runtime/ets/string-builder.ets b/ets2panda/test/runtime/ets/string-builder.ets index 282abd34d5c0ac374d177a352e0041bf7a6b5ccc..5e4164d1b02d8150288117370f13b3446f579f08 100644 --- a/ets2panda/test/runtime/ets/string-builder.ets +++ b/ets2panda/test/runtime/ets/string-builder.ets @@ -44,7 +44,7 @@ function main(): void { let const_str: String = 'str' + c'a'; arktest.assertEQ(const_str, "stra") - arktest.assertEQ(concatenate_float('x', 1.0 as float, "y"), "x1y") + arktest.assertEQ(concatenate_float('x', 1.0f, "y"), "x1y") concatenate_compile_time(); } diff --git a/ets2panda/test/runtime/ets/unboxing2.ets b/ets2panda/test/runtime/ets/unboxing2.ets index 805f98a2a187b72bbe7663379cb7077704a93c60..29168b83983404bfbad82db1cb1fe571e08e64aa 100644 --- a/ets2panda/test/runtime/ets/unboxing2.ets +++ b/ets2panda/test/runtime/ets/unboxing2.ets @@ -17,7 +17,7 @@ let global_boolean_: boolean = new Boolean(true); let global_byte_: byte = new Byte(20 as byte); let global_char_: char = new Char(c'a'); let global_double_: double = new Double(2.2222222222); -let global_float_: float = new Float(2.22 as float); +let global_float_: float = new Float(2.22f); let global_int_: int = new Int(200000); let global_long_: long = new Long(2147483647); let global_short_: short = new Short(20 as short); @@ -27,7 +27,7 @@ class A { public byte_: byte = new Byte(20 as byte); public char_: char = new Char(c'a'); public double_: double = new Double(2.2222222222); - public float_: float = new Float(2.22 as float); + public float_: float = new Float(2.22f); public int_: int = new Int(200000); public long_: long = new Long(2147483647); public short_: short = new Short(20 as short); @@ -38,7 +38,7 @@ function main() { arktest.assertEQ(global_byte_, 20) arktest.assertEQ(global_char_, c'a') arktest.assertEQ(global_double_, 2.2222222222) - arktest.assertEQ(global_float_, 2.22 as float) + arktest.assertEQ(global_float_, 2.22f) arktest.assertEQ(global_int_, 200000) arktest.assertEQ(global_long_, 2147483647) arktest.assertEQ(global_short_, 20) @@ -48,7 +48,7 @@ function main() { arktest.assertEQ(a.byte_, 20) arktest.assertEQ(a.char_, c'a') arktest.assertEQ(a.double_, 2.2222222222) - arktest.assertEQ(a.float_, 2.22 as float) + arktest.assertEQ(a.float_, 2.22f) arktest.assertEQ(a.int_, 200000) arktest.assertEQ(a.long_, 2147483647) arktest.assertEQ(a.short_, 20) diff --git a/ets2panda/test/runtime/ets/unboxing2_x64.ets b/ets2panda/test/runtime/ets/unboxing2_x64.ets index ffffc5746d5dcf2482e8c45a07c3ce348e5356fe..1f74c83778dc13fc3bcd873d7990cb832cf8db02 100644 --- a/ets2panda/test/runtime/ets/unboxing2_x64.ets +++ b/ets2panda/test/runtime/ets/unboxing2_x64.ets @@ -17,7 +17,7 @@ let global_boolean_: boolean = new Boolean(true); let global_byte_: byte = new Byte(20 as byte); let global_char_: char = new Char(c'a'); let global_double_: double = new Double(1.797+308); -let global_float_: float = new Float(2.22 as float); +let global_float_: float = new Float(2.22f); let global_int_: int = new Int(200000); let global_long_: long = new Long(200000000000); let global_short_: short = new Short(20 as short); @@ -27,7 +27,7 @@ class A { public byte_: byte = new Byte(20 as byte); public char_: char = new Char(c'a'); public double_: double = new Double(1.797+308); - public float_: float = new Float(2.22 as float); + public float_: float = new Float(2.22f); public int_: int = new Int(200000); public long_: long = new Long(200000000000); public short_: short = new Short(20 as short); @@ -38,7 +38,7 @@ function main() { arktest.assertEQ(global_byte_, 20) arktest.assertEQ(global_char_, c'a') arktest.assertEQ(global_double_, 1.797+308) - arktest.assertEQ(global_float_, 2.22 as float) + arktest.assertEQ(global_float_, 2.22f) arktest.assertEQ(global_int_, 200000) arktest.assertEQ(global_long_, 200000000000) arktest.assertEQ(global_short_, 20) @@ -48,7 +48,7 @@ function main() { arktest.assertEQ(a.byte_, 20) arktest.assertEQ(a.char_, c'a') arktest.assertEQ(a.double_, 1.797+308) - arktest.assertEQ(a.float_, 2.22 as float) + arktest.assertEQ(a.float_, 2.22f) arktest.assertEQ(a.int_, 200000) arktest.assertEQ(a.long_, 200000000000) arktest.assertEQ(a.short_, 20) diff --git a/ets2panda/util/diagnostic/semantic.yaml b/ets2panda/util/diagnostic/semantic.yaml index 4203f57c859ae93ed736093c968c3958ffdc4853..7feee949207ccfe8cd515c259c3ece6000ec047d 100644 --- a/ets2panda/util/diagnostic/semantic.yaml +++ b/ets2panda/util/diagnostic/semantic.yaml @@ -651,6 +651,10 @@ semantic: id: 357 message: "Can not rename annotation '{}' in export or import statements." +- name: IMPROPER_NUMERIC_CAST + id: 397 + message: "'As' expression for cast is deprecated for numeric types. Use explicit conversion function {}.to{}(...) instead." + - name: INDEX_NEGATIVE_OR_FRACTIONAL id: 248 message: "Index value cannot be less than zero or fractional." @@ -1594,4 +1598,4 @@ graveyard: - 233 - 234 - 271 -# See ets_frontend/ets2panda/util/diagnostic/README.md before contributing. +# See ets_frontend/ets2panda/util/diagnostic/README.md before contributing. \ No newline at end of file diff --git a/ets2panda/util/diagnostic/warning.yaml b/ets2panda/util/diagnostic/warning.yaml index 49f08b5c8e8b958c210840575bc304cb9f7333e1..773caeb37eea69a60d92405e15cf8e87e9de5579 100644 --- a/ets2panda/util/diagnostic/warning.yaml +++ b/ets2panda/util/diagnostic/warning.yaml @@ -61,10 +61,6 @@ warning: id: 8 message: "Implicit Unboxing to {}{}." -- name: IMPROPER_NUMERIC_CAST - id: 29 - message: "'As' expression for cast is deprecated for numeric types. Use explicit conversion function {}.to{}(...) instead." - - name: INSTANCEOF_ERASED id: 15 message: "Type parameter is erased from type '{}' when used in instanceof expression."