From 3534490edc15a5cec99830a1fc2d350fabf02759 Mon Sep 17 00:00:00 2001 From: xingzeng Date: Tue, 9 Sep 2025 11:53:54 +0800 Subject: [PATCH] Remove unboxed method or use to{Type} instead Remove unboxed method for Built-In Type Classes Issue: https://gitee.com/openharmony/arkcompiler_runtime_core/issues/ICVOSZ Reason: The es2panda front-en emits toByte&co instead of unboxed in lowering. The public unboxed() method is slated for removal now that we don't have primitives at the language level. Meaning: Transfer from relying on primitive types to not relying on primitive types, with promise that in new language compiling framework it stiil can process type cast correctly. Signed-off-by: xingzeng --- .../ets/generics_primitive_type_param_neg_2.ets | 2 +- .../compiler/ets/lambdaFunctionArrayDeclaration.ets | 2 +- ets2panda/test/runtime/ets/boxingConversions.ets | 2 +- ets2panda/test/runtime/ets/boxingConversions2.ets | 2 +- ets2panda/test/runtime/ets/boxingConversions3.ets | 12 ++++++------ ets2panda/test/runtime/ets/boxingConversions4.ets | 8 ++++---- ets2panda/test/runtime/ets/boxingConversions5.ets | 6 +++--- ets2panda/test/runtime/ets/castSequence.ets | 4 ++-- 8 files changed, 19 insertions(+), 19 deletions(-) diff --git a/ets2panda/test/ast/compiler/ets/generics_primitive_type_param_neg_2.ets b/ets2panda/test/ast/compiler/ets/generics_primitive_type_param_neg_2.ets index 9aa95c9ad4..2289a42291 100644 --- a/ets2panda/test/ast/compiler/ets/generics_primitive_type_param_neg_2.ets +++ b/ets2panda/test/ast/compiler/ets/generics_primitive_type_param_neg_2.ets @@ -22,7 +22,7 @@ class B {} function main(): void { let a_B: A = new A(); a_B.value = new B(); - a_B.value./* @@ label */unboxed(); + a_B.value/* @@ label */; } /* @@@ label Error TypeError: Property 'unboxed' does not exist on type 'B' */ diff --git a/ets2panda/test/compiler/ets/lambdaFunctionArrayDeclaration.ets b/ets2panda/test/compiler/ets/lambdaFunctionArrayDeclaration.ets index d62b5ae67e..ff58b105a5 100644 --- a/ets2panda/test/compiler/ets/lambdaFunctionArrayDeclaration.ets +++ b/ets2panda/test/compiler/ets/lambdaFunctionArrayDeclaration.ets @@ -14,6 +14,6 @@ */ function main(): int { - let src14: ((x: Char) => char)[] = [(p: Char): char => { return p.unboxed(); }]; + let src14: ((x: Char) => char)[] = [(p: Char): char => { return p; }]; return 0; } diff --git a/ets2panda/test/runtime/ets/boxingConversions.ets b/ets2panda/test/runtime/ets/boxingConversions.ets index ae548e88b8..bbfd408070 100644 --- a/ets2panda/test/runtime/ets/boxingConversions.ets +++ b/ets2panda/test/runtime/ets/boxingConversions.ets @@ -16,5 +16,5 @@ function main() { let s: long = 1 let d: Double = s - arktest.assertEQ(d.unboxed(), 1.0) + arktest.assertEQ(d, 1.0) } diff --git a/ets2panda/test/runtime/ets/boxingConversions2.ets b/ets2panda/test/runtime/ets/boxingConversions2.ets index 7b536bf0f1..318e22882b 100644 --- a/ets2panda/test/runtime/ets/boxingConversions2.ets +++ b/ets2panda/test/runtime/ets/boxingConversions2.ets @@ -16,6 +16,6 @@ function main() { let s1: int = 0 let d1: Float = s1 - arktest.assertEQ(d1.unboxed(), 0.0) + arktest.assertEQ(d1, 0.0) } diff --git a/ets2panda/test/runtime/ets/boxingConversions3.ets b/ets2panda/test/runtime/ets/boxingConversions3.ets index fed975dfdf..22585493c5 100644 --- a/ets2panda/test/runtime/ets/boxingConversions3.ets +++ b/ets2panda/test/runtime/ets/boxingConversions3.ets @@ -21,11 +21,11 @@ function main() { let f: Float = b let d: Double = b let c: Char = b - arktest.assertEQ(s.unboxed(), 1.0) - arktest.assertEQ(i.unboxed(), 1.0) - arktest.assertEQ(l.unboxed(), 1.0) - arktest.assertEQ(f.unboxed(), 1.0) - arktest.assertEQ(d.unboxed(), 1.0) - arktest.assertEQ(c.unboxed(), 1.0) + arktest.assertEQ(s, 1.0) + arktest.assertEQ(i, 1.0) + arktest.assertEQ(l, 1.0) + arktest.assertEQ(f, 1.0) + arktest.assertEQ(d, 1.0) + arktest.assertEQ(c, 1.0) } diff --git a/ets2panda/test/runtime/ets/boxingConversions4.ets b/ets2panda/test/runtime/ets/boxingConversions4.ets index 2c0abda389..9465602fac 100644 --- a/ets2panda/test/runtime/ets/boxingConversions4.ets +++ b/ets2panda/test/runtime/ets/boxingConversions4.ets @@ -19,9 +19,9 @@ function main() { let l: Long = c let f: Float = c let d: Double = c - arktest.assertEQ(i.unboxed(), 97) - arktest.assertEQ(l.unboxed(), 97) - arktest.assertEQ(f.unboxed(), 97.0) - arktest.assertEQ(d.unboxed(), 97.0) + arktest.assertEQ(i, 97) + arktest.assertEQ(l, 97) + arktest.assertEQ(f, 97.0) + arktest.assertEQ(d, 97.0) } diff --git a/ets2panda/test/runtime/ets/boxingConversions5.ets b/ets2panda/test/runtime/ets/boxingConversions5.ets index d391a80e4a..2c5982b970 100644 --- a/ets2panda/test/runtime/ets/boxingConversions5.ets +++ b/ets2panda/test/runtime/ets/boxingConversions5.ets @@ -19,7 +19,7 @@ function main() { let f: Float = i let d: Double = i - arktest.assertEQ(l.unboxed(), 1) - arktest.assertEQ(f.unboxed(), 1.0) - arktest.assertEQ(d.unboxed(), 1.0) + arktest.assertEQ(l, 1) + arktest.assertEQ(f, 1.0) + arktest.assertEQ(d, 1.0) } diff --git a/ets2panda/test/runtime/ets/castSequence.ets b/ets2panda/test/runtime/ets/castSequence.ets index ae948937ae..0e9b52a884 100644 --- a/ets2panda/test/runtime/ets/castSequence.ets +++ b/ets2panda/test/runtime/ets/castSequence.ets @@ -17,7 +17,7 @@ function main(): void { let a_int : int = 2147; let b_Num : Number = Int.toDouble(a_int); - arktest.assertTrue(b_Num instanceof Number && b_Num.unboxed() == 2147.0) + arktest.assertTrue(b_Num instanceof Number && b_Num == 2147.0) let a_Short : Short = 215; let b_double : double = Short.toDouble(a_Short); @@ -28,7 +28,7 @@ function main(): void { let a_char : char = 128 as char; let b_Char = a_char as Char; - arktest.assertEQ(b_Char.unboxed(), 128 as char) + arktest.assertEQ(b_Char, 128 as char) return; } \ No newline at end of file -- Gitee