UserType getters re-implemented
This commit is contained in:
@@ -1,7 +1,6 @@
|
|||||||
package org.jetbrains.jet.lang.psi;
|
package org.jetbrains.jet.lang.psi;
|
||||||
|
|
||||||
import com.intellij.lang.ASTNode;
|
import com.intellij.lang.ASTNode;
|
||||||
import com.intellij.psi.tree.IElementType;
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
import org.jetbrains.jet.JetNodeTypes;
|
import org.jetbrains.jet.JetNodeTypes;
|
||||||
@@ -23,18 +22,24 @@ public class JetUserType extends JetTypeElement {
|
|||||||
visitor.visitUserType(this);
|
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() {
|
public String getReferencedName() {
|
||||||
StringBuilder answer = new StringBuilder();
|
ASTNode nameNode = getTypeNameNode();
|
||||||
ASTNode childNode = getNode().getFirstChildNode();
|
return nameNode != null ? nameNode.getText() : null;
|
||||||
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();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
|
|||||||
Reference in New Issue
Block a user