Adjust PSI usages to new labels syntax

This commit is contained in:
Denis Zharkov
2015-04-27 12:58:04 +03:00
parent 241860d510
commit 89c72d9400
6 changed files with 6 additions and 12 deletions
@@ -25,11 +25,7 @@ open public class JetExpressionWithLabel(node: ASTNode) : JetExpressionImpl(node
findChildByType<JetContainerNode>(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 <R, D> accept(visitor: JetVisitor<R, D>, data: D) = visitor.visitExpressionWithLabel(this, data)
}
@@ -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
}
@@ -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
@@ -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);
@@ -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()
@@ -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;
}
});
}