diff --git a/source/com/intellij/psi/impl/source/parsing/ImportsTextParsing.java b/source/com/intellij/psi/impl/source/parsing/ImportsTextParsing.java index b6013b13e6d6..30002207608e 100644 --- a/source/com/intellij/psi/impl/source/parsing/ImportsTextParsing.java +++ b/source/com/intellij/psi/impl/source/parsing/ImportsTextParsing.java @@ -80,10 +80,12 @@ public class ImportsTextParsing extends Parsing { } CompositeElement refElement = parseJavaCodeReference(lexer, true); - if (refElement.getLastChildNode().getElementType() == ERROR_ELEMENT){ + final TreeElement refParameterList = (TreeElement)refElement.getLastChildNode(); + if (refParameterList.getTreePrev().getElementType() == ERROR_ELEMENT){ final ASTNode qualifier = refElement.findChildByRole(ChildRole.QUALIFIER); LOG.assertTrue(qualifier != null); - TreeUtil.remove((TreeElement)refElement.getLastChildNode()); + TreeUtil.remove(refParameterList.getTreePrev()); + TreeUtil.remove(refParameterList); TreeUtil.addChildren(statement, (TreeElement)qualifier); if (lexer.getTokenType() == ASTERISK){ TreeUtil.addChildren(statement, ParseUtil.createTokenElement(lexer, myContext.getCharTable())); diff --git a/source/com/intellij/psi/impl/source/parsing/Parsing.java b/source/com/intellij/psi/impl/source/parsing/Parsing.java index 0b2e06844f96..86b2caf24e04 100644 --- a/source/com/intellij/psi/impl/source/parsing/Parsing.java +++ b/source/com/intellij/psi/impl/source/parsing/Parsing.java @@ -78,6 +78,7 @@ public class Parsing implements Constants{ TreeUtil.addChildren(refElement1, dot); if (identifier == null){ TreeUtil.addChildren(refElement1, Factory.createErrorElement("Identifier expected")); + TreeUtil.addChildren(refElement1, Factory.createCompositeElement(REFERENCE_PARAMETER_LIST)); return refElement1; } TreeUtil.addChildren(refElement1, identifier);