Add support of backticks in JetPsiMatcher
This commit is contained in:
@@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
package org.jetbrains.jet.plugin.util;
|
package org.jetbrains.jet.plugin.util;
|
||||||
|
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
import org.jetbrains.jet.lang.psi.*;
|
import org.jetbrains.jet.lang.psi.*;
|
||||||
|
|
||||||
@@ -126,7 +127,7 @@ public class JetPsiMatcher {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Boolean visitSimpleNameExpression(JetSimpleNameExpression expression, JetElement data) {
|
public Boolean visitSimpleNameExpression(JetSimpleNameExpression expression, JetElement data) {
|
||||||
return expression.getText().equals(data.getText());
|
return checkIdentifierMatch(expression.getText(), data.getText());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -254,4 +255,16 @@ public class JetPsiMatcher {
|
|||||||
|
|
||||||
return e1.accept(VISITOR, e2);
|
return e1.accept(VISITOR, e2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@NotNull
|
||||||
|
private static String unquote(@NotNull String s) {
|
||||||
|
return (s.startsWith("`") && s.endsWith("`")) ? s.substring(1, s.length() - 1) : s;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static boolean checkIdentifierMatch(@Nullable String s1, @Nullable String s2) {
|
||||||
|
if (s1 == s2) return true;
|
||||||
|
if (s1 == null || s2 == null) return false;
|
||||||
|
|
||||||
|
return unquote(s1).equals(unquote(s2));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
test
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
`test`
|
||||||
@@ -250,6 +250,11 @@ public class JetPsiMatcherTest extends AbstractJetPsiMatcherTest {
|
|||||||
doTestExpressions("idea/testData/jetPsiMatcher/expressions/simpleName/simpleName.kt");
|
doTestExpressions("idea/testData/jetPsiMatcher/expressions/simpleName/simpleName.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("simpleName2.kt")
|
||||||
|
public void testSimpleName2() throws Exception {
|
||||||
|
doTestExpressions("idea/testData/jetPsiMatcher/expressions/simpleName/simpleName2.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("_simpleName.kt")
|
@TestMetadata("_simpleName.kt")
|
||||||
public void test_simpleName() throws Exception {
|
public void test_simpleName() throws Exception {
|
||||||
doTestExpressions("idea/testData/jetPsiMatcher/expressions/simpleName/_simpleName.kt");
|
doTestExpressions("idea/testData/jetPsiMatcher/expressions/simpleName/_simpleName.kt");
|
||||||
|
|||||||
Reference in New Issue
Block a user