More regular reference parsing

This commit is contained in:
Roman Shevchenko
2012-05-11 11:50:53 +04:00
parent 0b0f3b06d9
commit 20923305ad
5 changed files with 13 additions and 18 deletions
@@ -209,9 +209,7 @@ public class ReferenceParser {
typeInfo.isParameterized = parseReferenceParameterList(builder, true, diamonds);
}
else {
if (!isStaticImport || builder.getTokenType() == JavaTokenType.DOT) {
emptyElement(builder, JavaElementType.REFERENCE_PARAMETER_LIST);
}
emptyElement(builder, JavaElementType.REFERENCE_PARAMETER_LIST);
}
boolean hasIdentifier;
@@ -261,7 +259,7 @@ public class ReferenceParser {
if (parameterList) {
typeInfo.isParameterized = parseReferenceParameterList(builder, true, diamonds);
}
else if (!isStaticImport || builder.getTokenType() == JavaTokenType.DOT) {
else {
emptyElement(builder, JavaElementType.REFERENCE_PARAMETER_LIST);
}
}
@@ -1,5 +1,5 @@
/*
* Copyright 2000-2011 JetBrains s.r.o.
* Copyright 2000-2012 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -65,25 +65,16 @@ public class PsiImportStaticReferenceElementImpl extends CompositePsiElement imp
@Override
public final ASTNode findChildByRole(int role) {
LOG.assertTrue(ChildRole.isUnique(role));
switch(role){
switch (role) {
default:
return null;
case ChildRole.REFERENCE_NAME:
if (getLastChildNode().getElementType() == JavaTokenType.IDENTIFIER){
return getLastChildNode();
}
else{
return null;
}
return findChildByType(JavaTokenType.IDENTIFIER);
case ChildRole.QUALIFIER:
if (getFirstChildNode().getElementType() == JavaElementType.JAVA_CODE_REFERENCE){
return getFirstChildNode();
}
else{
return null;
}
final TreeElement node = getFirstChildNode();
return node.getElementType() == JavaElementType.JAVA_CODE_REFERENCE ? node : null;
case ChildRole.DOT:
return findChildByType(JavaTokenType.DOT);