From 60c1e7c7074c22739a618f648df1908a25536bb4 Mon Sep 17 00:00:00 2001 From: Benjamin Gaidioz Date: Fri, 6 Sep 2024 15:13:31 +0200 Subject: [PATCH 1/2] Test for RD-14693 --- .../snapi/compiler/tests/builtin/StringPackageTest.scala | 2 ++ 1 file changed, 2 insertions(+) diff --git a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/StringPackageTest.scala b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/StringPackageTest.scala index fb5154a24..0385bd3f5 100644 --- a/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/StringPackageTest.scala +++ b/snapi-compiler/src/test/scala/com/rawlabs/snapi/compiler/tests/builtin/StringPackageTest.scala @@ -48,6 +48,8 @@ class StringPackageTest extends SnapiTestContext with FailAfterNServer { test("String.From(true)")(it => it should evaluateTo(""" "true" """)) + test("String.From(\"tralala\")")(it => it should evaluateTo(""" "tralala" """)) + test("String.From(Date.Build(1975, 6, 23))")(it => it should evaluateTo(""" "1975-06-23" """)) test("String.From(Timestamp.Build(1975, 6, 23, 9, 30))")(it => From d78e5cfd4c8c066fec9b0e3e9806c9f7d00b0f35 Mon Sep 17 00:00:00 2001 From: Benjamin Gaidioz Date: Fri, 6 Sep 2024 15:14:10 +0200 Subject: [PATCH 2/2] Fixed RD-14693 --- .../frontend/snapi/extensions/builtin/StringPackage.scala | 1 + .../expressions/builtin/string_package/StringFromNode.java | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/StringPackage.scala b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/StringPackage.scala index 1426dc187..a80d0d954 100644 --- a/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/StringPackage.scala +++ b/snapi-frontend/src/main/scala/com/rawlabs/snapi/frontend/snapi/extensions/builtin/StringPackage.scala @@ -79,6 +79,7 @@ class StringFromEntry extends EntryExtension { SnapiDoubleType(), SnapiDecimalType(), SnapiBoolType(), + SnapiStringType(), SnapiDateType(), SnapiTimeType(), SnapiTimestampType(), diff --git a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/string_package/StringFromNode.java b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/string_package/StringFromNode.java index 98e544b11..4aaf54da0 100644 --- a/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/string_package/StringFromNode.java +++ b/snapi-truffle/src/main/java/com/rawlabs/snapi/truffle/ast/expressions/builtin/string_package/StringFromNode.java @@ -72,6 +72,12 @@ protected String fromBoolean(boolean value) { return String.valueOf(value); } + @Specialization + @TruffleBoundary + protected String fromString(String value) { + return value; + } + @Specialization @TruffleBoundary protected String fromDate(DateObject value) {