From 4e75b3ed7d95f799fb3f1cab81ab2e01b5599bb6 Mon Sep 17 00:00:00 2001 From: Roman Shevchenko Date: Tue, 11 Jul 2017 11:24:19 +0200 Subject: [PATCH] [java] unneeded parameter list elements in static import references --- .../src/com/intellij/psi/PsiJavaCodeReferenceElement.java | 4 ++-- .../src/com/intellij/lang/java/parser/ReferenceParser.java | 2 +- .../testData/psi/parser-full/importParsing/StaticImport.txt | 2 -- .../testData/psi/parser-full/importParsing/StaticImport1.txt | 2 -- .../testData/psi/parser-partial/files/StaticImport0.txt | 2 -- .../testData/psi/parser-partial/files/StaticImport1.txt | 2 -- .../testData/psi/parser-partial/files/UnclosedImport3.txt | 2 -- 7 files changed, 3 insertions(+), 13 deletions(-) diff --git a/java/java-psi-api/src/com/intellij/psi/PsiJavaCodeReferenceElement.java b/java/java-psi-api/src/com/intellij/psi/PsiJavaCodeReferenceElement.java index e6d12fa41b9d..943364d971f3 100644 --- a/java/java-psi-api/src/com/intellij/psi/PsiJavaCodeReferenceElement.java +++ b/java/java-psi-api/src/com/intellij/psi/PsiJavaCodeReferenceElement.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2013 JetBrains s.r.o. + * Copyright 2000-2017 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. @@ -43,7 +43,7 @@ public interface PsiJavaCodeReferenceElement extends PsiJavaReference, PsiQualif /** * Returns the list of type arguments specified on the reference. * - * @return the type argument list, or null if the reference does not have any type arguments. + * @return the type argument list, or null if the reference may not have any type arguments (like PsiImportStaticReferenceElement). */ @Nullable PsiReferenceParameterList getParameterList(); diff --git a/java/java-psi-impl/src/com/intellij/lang/java/parser/ReferenceParser.java b/java/java-psi-impl/src/com/intellij/lang/java/parser/ReferenceParser.java index 0a95ed01ef84..d20ece2d3857 100644 --- a/java/java-psi-impl/src/com/intellij/lang/java/parser/ReferenceParser.java +++ b/java/java-psi-impl/src/com/intellij/lang/java/parser/ReferenceParser.java @@ -214,7 +214,7 @@ public class ReferenceParser { if (parameterList) { typeInfo.isParameterized = parseReferenceParameterList(builder, true, diamonds); } - else { + else if (!isStaticImport) { emptyElement(builder, JavaElementType.REFERENCE_PARAMETER_LIST); } diff --git a/java/java-tests/testData/psi/parser-full/importParsing/StaticImport.txt b/java/java-tests/testData/psi/parser-full/importParsing/StaticImport.txt index 9dc38627f202..3febb920bb07 100644 --- a/java/java-tests/testData/psi/parser-full/importParsing/StaticImport.txt +++ b/java/java-tests/testData/psi/parser-full/importParsing/StaticImport.txt @@ -9,8 +9,6 @@ PsiJavaFile:StaticImport.java PsiJavaCodeReferenceElement:java.util PsiJavaCodeReferenceElement:java PsiIdentifier:java('java') - PsiReferenceParameterList - PsiJavaToken:DOT('.') PsiIdentifier:util('util') PsiReferenceParameterList diff --git a/java/java-tests/testData/psi/parser-full/importParsing/StaticImport1.txt b/java/java-tests/testData/psi/parser-full/importParsing/StaticImport1.txt index 8e5aee8e3a05..b838e6d449a0 100644 --- a/java/java-tests/testData/psi/parser-full/importParsing/StaticImport1.txt +++ b/java/java-tests/testData/psi/parser-full/importParsing/StaticImport1.txt @@ -10,8 +10,6 @@ PsiJavaFile:StaticImport1.java PsiJavaCodeReferenceElement:java.util PsiJavaCodeReferenceElement:java PsiIdentifier:java('java') - PsiReferenceParameterList - PsiJavaToken:DOT('.') PsiIdentifier:util('util') PsiReferenceParameterList diff --git a/java/java-tests/testData/psi/parser-partial/files/StaticImport0.txt b/java/java-tests/testData/psi/parser-partial/files/StaticImport0.txt index 114f1a9bd0f5..750edb49139b 100644 --- a/java/java-tests/testData/psi/parser-partial/files/StaticImport0.txt +++ b/java/java-tests/testData/psi/parser-partial/files/StaticImport0.txt @@ -9,8 +9,6 @@ PsiJavaFile:StaticImport0.java PsiJavaCodeReferenceElement:java.util PsiJavaCodeReferenceElement:java PsiIdentifier:java('java') - PsiReferenceParameterList - PsiJavaToken:DOT('.') PsiIdentifier:util('util') PsiReferenceParameterList diff --git a/java/java-tests/testData/psi/parser-partial/files/StaticImport1.txt b/java/java-tests/testData/psi/parser-partial/files/StaticImport1.txt index 8e5aee8e3a05..b838e6d449a0 100644 --- a/java/java-tests/testData/psi/parser-partial/files/StaticImport1.txt +++ b/java/java-tests/testData/psi/parser-partial/files/StaticImport1.txt @@ -10,8 +10,6 @@ PsiJavaFile:StaticImport1.java PsiJavaCodeReferenceElement:java.util PsiJavaCodeReferenceElement:java PsiIdentifier:java('java') - PsiReferenceParameterList - PsiJavaToken:DOT('.') PsiIdentifier:util('util') PsiReferenceParameterList diff --git a/java/java-tests/testData/psi/parser-partial/files/UnclosedImport3.txt b/java/java-tests/testData/psi/parser-partial/files/UnclosedImport3.txt index 2715038acd6d..fbe7d0e99952 100644 --- a/java/java-tests/testData/psi/parser-partial/files/UnclosedImport3.txt +++ b/java/java-tests/testData/psi/parser-partial/files/UnclosedImport3.txt @@ -7,7 +7,5 @@ PsiJavaFile:UnclosedImport3.java PsiWhiteSpace(' ') PsiImportStaticReferenceElement:a PsiIdentifier:a('a') - PsiReferenceParameterList - PsiErrorElement:';' expected \ No newline at end of file