From 89c72d9400230f6a65ad20462c54076e3a9d517a Mon Sep 17 00:00:00 2001 From: Denis Zharkov Date: Mon, 27 Apr 2015 12:58:04 +0300 Subject: [PATCH] Adjust PSI usages to new labels syntax --- .../src/org/jetbrains/kotlin/psi/JetExpressionWithLabel.kt | 6 +----- .../org/jetbrains/kotlin/psi/JetLabelReferenceExpression.kt | 2 +- .../frontend/src/org/jetbrains/kotlin/psi/JetPsiUtil.java | 3 +-- .../jetbrains/kotlin/idea/highlighter/JetHighlighter.java | 4 ++-- .../kotlin/idea/references/JetSimpleNameReference.kt | 1 - .../jetbrains/kotlin/idea/editor/KotlinTypedHandler.java | 2 +- 6 files changed, 6 insertions(+), 12 deletions(-) diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/JetExpressionWithLabel.kt b/compiler/frontend/src/org/jetbrains/kotlin/psi/JetExpressionWithLabel.kt index 906aebdfe8c..ad0153bcf26 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/psi/JetExpressionWithLabel.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/psi/JetExpressionWithLabel.kt @@ -25,11 +25,7 @@ open public class JetExpressionWithLabel(node: ASTNode) : JetExpressionImpl(node findChildByType(JetNodeTypes.LABEL_QUALIFIER)?. findChildByType(JetNodeTypes.LABEL) as? JetSimpleNameExpression - public fun getLabelName(): String? { - val labelElement = getTargetLabel() - assert(labelElement == null || labelElement.getText().startsWith("@")) - return labelElement?.getText()?.substring(1) - } + public fun getLabelName(): String? = getTargetLabel()?.getIdentifier()?.getText() override fun accept(visitor: JetVisitor, data: D) = visitor.visitExpressionWithLabel(this, data) } diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/JetLabelReferenceExpression.kt b/compiler/frontend/src/org/jetbrains/kotlin/psi/JetLabelReferenceExpression.kt index 7e54ae1724c..ccf4e8bbb61 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/psi/JetLabelReferenceExpression.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/psi/JetLabelReferenceExpression.kt @@ -21,5 +21,5 @@ import org.jetbrains.kotlin.lexer.JetTokens import com.intellij.psi.PsiElement public class JetLabelReferenceExpression(node: ASTNode) : JetSimpleNameExpressionImpl(node) { - public override fun getReferencedNameElement() = (findChildByType(JetTokens.LABEL_IDENTIFIER): PsiElement?) ?: this + public override fun getReferencedNameElement() = getIdentifier() ?: this } diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/JetPsiUtil.java b/compiler/frontend/src/org/jetbrains/kotlin/psi/JetPsiUtil.java index 61b4a6aeb49..a7e62bc18b1 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/psi/JetPsiUtil.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/psi/JetPsiUtil.java @@ -839,8 +839,7 @@ public class JetPsiUtil { } public static boolean isLabelIdentifierExpression(PsiElement element) { - return element instanceof JetSimpleNameExpression && - ((JetSimpleNameExpression) element).getReferencedNameElementType() == JetTokens.LABEL_IDENTIFIER; + return element instanceof JetLabelReferenceExpression; } @Nullable diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/JetHighlighter.java b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/JetHighlighter.java index e1b4ed0b000..3e6d2d1ece9 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/JetHighlighter.java +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/JetHighlighter.java @@ -52,14 +52,14 @@ public class JetHighlighter extends SyntaxHighlighterBase { fillMap(keys1, JetTokens.KEYWORDS, JetHighlightingColors.KEYWORD); keys1.put(JetTokens.AS_SAFE, JetHighlightingColors.KEYWORD); - keys1.put(JetTokens.LABEL_IDENTIFIER, JetHighlightingColors.LABEL); + keys1.put(JetTokens.AT, JetHighlightingColors.LABEL); keys1.put(JetTokens.INTEGER_LITERAL, JetHighlightingColors.NUMBER); keys1.put(JetTokens.FLOAT_LITERAL, JetHighlightingColors.NUMBER); fillMap(keys1, TokenSet.andNot(JetTokens.OPERATIONS, TokenSet.orSet( - TokenSet.create(JetTokens.IDENTIFIER, JetTokens.LABEL_IDENTIFIER), + TokenSet.create(JetTokens.IDENTIFIER, JetTokens.AT), JetTokens.KEYWORDS)), JetHighlightingColors.OPERATOR_SIGN); diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/references/JetSimpleNameReference.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/references/JetSimpleNameReference.kt index ae48a162cfe..915bd10b3d1 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/references/JetSimpleNameReference.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/references/JetSimpleNameReference.kt @@ -87,7 +87,6 @@ public class JetSimpleNameReference( val psiFactory = JetPsiFactory(expression) val element = when (expression.getReferencedNameElementType()) { JetTokens.FIELD_IDENTIFIER -> psiFactory.createFieldIdentifier(newElementName) - JetTokens.LABEL_IDENTIFIER -> psiFactory.createClassLabel(newElementName) else -> { val extensions = Extensions.getArea(expression.getProject()).getExtensionPoint( SimpleNameReferenceExtension.EP_NAME).getExtensions() diff --git a/idea/src/org/jetbrains/kotlin/idea/editor/KotlinTypedHandler.java b/idea/src/org/jetbrains/kotlin/idea/editor/KotlinTypedHandler.java index 1b65ba76bc8..bbf55938f7a 100644 --- a/idea/src/org/jetbrains/kotlin/idea/editor/KotlinTypedHandler.java +++ b/idea/src/org/jetbrains/kotlin/idea/editor/KotlinTypedHandler.java @@ -154,7 +154,7 @@ public class KotlinTypedHandler extends TypedHandlerDelegate { PsiElement lastElement = file.findElementAt(offset - 1); if (lastElement == null) return false; - return lastElement.getNode().getElementType() == JetTokens.LABEL_IDENTIFIER; + return lastElement.getNode().getElementType() == JetTokens.AT; } }); }