From 853e612b11c7234716691eb4b60dac8e94fe84c6 Mon Sep 17 00:00:00 2001 From: Maxim Shafirov Date: Tue, 11 Jan 2011 18:09:13 +0300 Subject: [PATCH] UserType getters re-implemented --- .../jetbrains/jet/lang/psi/JetUserType.java | 29 +++++++++++-------- 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/idea/src/org/jetbrains/jet/lang/psi/JetUserType.java b/idea/src/org/jetbrains/jet/lang/psi/JetUserType.java index 45fb3ee0a04..a6dd211d77f 100644 --- a/idea/src/org/jetbrains/jet/lang/psi/JetUserType.java +++ b/idea/src/org/jetbrains/jet/lang/psi/JetUserType.java @@ -1,7 +1,6 @@ package org.jetbrains.jet.lang.psi; import com.intellij.lang.ASTNode; -import com.intellij.psi.tree.IElementType; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.jet.JetNodeTypes; @@ -23,18 +22,24 @@ public class JetUserType extends JetTypeElement { visitor.visitUserType(this); } - @NotNull + public boolean isAbsoluteInRootNamespace() { + return findChildByType(JetTokens.NAMESPACE_KEYWORD) != null; + } + + @Nullable + public JetUserType getQualifierType() { + return (JetUserType) findChildByType(JetNodeTypes.USER_TYPE); + } + + @Nullable @IfNotParsed + public ASTNode getTypeNameNode() { + return getNode().findChildByType(JetTokens.IDENTIFIER); + } + + @Nullable @IfNotParsed public String getReferencedName() { - StringBuilder answer = new StringBuilder(); - ASTNode childNode = getNode().getFirstChildNode(); - while (childNode != null) { - IElementType tt = childNode.getElementType(); - if (tt == JetTokens.IDENTIFIER || tt == JetTokens.DOT || tt == JetTokens.NAMESPACE_KEYWORD) { - answer.append(childNode.getText()); - } - childNode = childNode.getTreeNext(); - } - return answer.toString(); + ASTNode nameNode = getTypeNameNode(); + return nameNode != null ? nameNode.getText() : null; } @Nullable