Allow injection in strings with interpolation (KT-6610)

#KT-6610 Fixed
This commit is contained in:
Nikolay Krasko
2017-05-12 20:16:03 +03:00
parent 12002aed57
commit e5822c76fb
6 changed files with 263 additions and 7 deletions
@@ -19,6 +19,7 @@ package org.jetbrains.kotlin.psi;
import com.intellij.lang.ASTNode;
import com.intellij.psi.ElementManipulators;
import com.intellij.psi.LiteralTextEscaper;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiLanguageInjectionHost;
import com.intellij.psi.tree.TokenSet;
import org.jetbrains.annotations.NotNull;
@@ -58,4 +59,14 @@ public class KtStringTemplateExpression extends KtExpressionImpl implements PsiL
public LiteralTextEscaper<? extends PsiLanguageInjectionHost> createLiteralTextEscaper() {
return new KotlinStringLiteralTextEscaper(this);
}
public boolean hasInterpolation() {
for (PsiElement child : getChildren()) {
if (child instanceof KtSimpleNameStringTemplateEntry || child instanceof KtBlockStringTemplateEntry) {
return true;
}
}
return false;
}
}