diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/kt/KotlinSignatureAnnotation.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/kt/KotlinSignatureAnnotation.java index 4e0a11b2691..02e2a68fcbb 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/kt/KotlinSignatureAnnotation.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/kt/KotlinSignatureAnnotation.java @@ -16,6 +16,7 @@ package org.jetbrains.jet.lang.resolve.java.kt; +import com.intellij.openapi.util.text.StringUtil; import com.intellij.psi.PsiAnnotation; import com.intellij.psi.PsiMethod; import org.jetbrains.annotations.NotNull; @@ -36,7 +37,7 @@ public class KotlinSignatureAnnotation extends PsiAnnotationWrapper { public String signature() { if (signature == null) { - signature = getStringAttribute(JvmStdlibNames.KOTLIN_SIGNATURE_VALUE_METHOD, ""); + signature = StringUtil.unescapeStringCharacters(getStringAttribute(JvmStdlibNames.KOTLIN_SIGNATURE_VALUE_METHOD, "")); } return signature; } diff --git a/idea/src/org/jetbrains/jet/plugin/codeInsight/EditSignatureBalloon.java b/idea/src/org/jetbrains/jet/plugin/codeInsight/EditSignatureBalloon.java index dfdd83b5b65..11143f063c1 100644 --- a/idea/src/org/jetbrains/jet/plugin/codeInsight/EditSignatureBalloon.java +++ b/idea/src/org/jetbrains/jet/plugin/codeInsight/EditSignatureBalloon.java @@ -29,6 +29,7 @@ import com.intellij.openapi.ui.popup.JBPopupAdapter; import com.intellij.openapi.ui.popup.JBPopupFactory; import com.intellij.openapi.ui.popup.LightweightWindowEvent; import com.intellij.openapi.util.SystemInfo; +import com.intellij.openapi.util.text.StringUtil; import com.intellij.openapi.wm.IdeFocusManager; import com.intellij.psi.JavaPsiFacade; import com.intellij.psi.PsiDocumentManager; @@ -223,7 +224,7 @@ class EditSignatureBalloon { static PsiNameValuePair[] signatureToNameValuePairs(@NotNull Project project, @NotNull String signature) { return JavaPsiFacade.getElementFactory(project).createAnnotationFromText( - "@" + KotlinSignatureInJavaMarkerProvider.KOTLIN_SIGNATURE_ANNOTATION + "(value=\"" + signature + "\")", null) - .getParameterList().getAttributes(); + "@" + KotlinSignatureInJavaMarkerProvider.KOTLIN_SIGNATURE_ANNOTATION + + "(value=\"" + StringUtil.escapeStringCharacters(signature) + "\")", null).getParameterList().getAttributes(); } } diff --git a/idea/src/org/jetbrains/jet/plugin/codeInsight/KotlinSignatureInJavaMarkerProvider.java b/idea/src/org/jetbrains/jet/plugin/codeInsight/KotlinSignatureInJavaMarkerProvider.java index aaeaffd1af3..b22eeaaf9c7 100644 --- a/idea/src/org/jetbrains/jet/plugin/codeInsight/KotlinSignatureInJavaMarkerProvider.java +++ b/idea/src/org/jetbrains/jet/plugin/codeInsight/KotlinSignatureInJavaMarkerProvider.java @@ -28,6 +28,7 @@ import com.intellij.openapi.actionSystem.PlatformDataKeys; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.fileEditor.OpenFileDescriptor; import com.intellij.openapi.project.Project; +import com.intellij.openapi.util.text.StringUtil; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.*; import com.intellij.util.Function; @@ -93,7 +94,7 @@ public class KotlinSignatureInJavaMarkerProvider implements LineMarkerProvider { PsiNameValuePair pair = kotlinSignatureAnnotation.getParameterList().getAttributes()[0]; PsiAnnotationMemberValue value = pair.getValue(); return value == null ? "null" : value instanceof PsiLiteralExpression - ? ((PsiLiteralExpression) value).getValue().toString() + ? StringUtil.unescapeStringCharacters(((PsiLiteralExpression) value).getValue().toString()) : value.getText(); }