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"); + } +}