From 90c4b0e74669eb4dca94147c6f143ee5c92ec9d0 Mon Sep 17 00:00:00 2001 From: Andrey Breslav Date: Wed, 30 Nov 2011 10:20:19 +0300 Subject: [PATCH] Raw strings: """ .. """ fixed --- .../constants/CompileTimeConstantResolver.java | 3 ++- compiler/testData/codegen/rawStrings.jet | 6 ++++++ .../tests/org/jetbrains/jet/codegen/StringsTest.java | 12 ++++++++++++ 3 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 compiler/testData/codegen/rawStrings.jet create mode 100644 compiler/tests/org/jetbrains/jet/codegen/StringsTest.java diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/constants/CompileTimeConstantResolver.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/constants/CompileTimeConstantResolver.java index 779b35b9481..823a3183238 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/constants/CompileTimeConstantResolver.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/constants/CompileTimeConstantResolver.java @@ -250,7 +250,8 @@ public class CompileTimeConstantResolver { if (error != null) { return error; } - return new StringValue(unescapedText); + + return new StringValue(unescapedText.substring(3, unescapedText.length() - 3)); } @NotNull diff --git a/compiler/testData/codegen/rawStrings.jet b/compiler/testData/codegen/rawStrings.jet new file mode 100644 index 00000000000..a2f427814ef --- /dev/null +++ b/compiler/testData/codegen/rawStrings.jet @@ -0,0 +1,6 @@ +fun box() : String { + val s = """ foo \n bar """ + if (s != " foo \\n bar ") return "Fail: '$s'" + + return "OK" +} \ No newline at end of file diff --git a/compiler/tests/org/jetbrains/jet/codegen/StringsTest.java b/compiler/tests/org/jetbrains/jet/codegen/StringsTest.java new file mode 100644 index 00000000000..bbba589480d --- /dev/null +++ b/compiler/tests/org/jetbrains/jet/codegen/StringsTest.java @@ -0,0 +1,12 @@ +package org.jetbrains.jet.codegen; + +/** + * @author yole + * @author alex.tkachman + */ +public class StringsTest extends CodegenTestCase { + + public void testRawStrings() throws Exception { + blackBoxFile("rawStrings.jet"); + } +}