From d0466d5fc06b937fabd56148b34fa6136ae48686 Mon Sep 17 00:00:00 2001 From: "Nikolay.Tropin" Date: Tue, 1 Dec 2015 13:02:28 +0300 Subject: [PATCH] add generic bound usage for type argument only if it is a bounded wildcard --- .../argumentContainment/src/SimpleTypeArgument.java | 5 +++++ .../argumentContainment2/src/SimpleTypeArgument.java | 5 +++++ .../argumentContainment3/src/SimpleTypeArgument.java | 7 +++++++ .../builders/java/dependencyView/ClassfileAnalyzer.java | 2 +- 4 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 java/java-tests/testData/compileServer/incremental/generics/argumentContainment/src/SimpleTypeArgument.java create mode 100644 java/java-tests/testData/compileServer/incremental/generics/argumentContainment2/src/SimpleTypeArgument.java create mode 100644 java/java-tests/testData/compileServer/incremental/generics/argumentContainment3/src/SimpleTypeArgument.java diff --git a/java/java-tests/testData/compileServer/incremental/generics/argumentContainment/src/SimpleTypeArgument.java b/java/java-tests/testData/compileServer/incremental/generics/argumentContainment/src/SimpleTypeArgument.java new file mode 100644 index 000000000000..6918f3f319a5 --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/generics/argumentContainment/src/SimpleTypeArgument.java @@ -0,0 +1,5 @@ +import java.util.List; + +public abstract class SimpleTypeArgument implements Comparable { + public abstract List list(); +} diff --git a/java/java-tests/testData/compileServer/incremental/generics/argumentContainment2/src/SimpleTypeArgument.java b/java/java-tests/testData/compileServer/incremental/generics/argumentContainment2/src/SimpleTypeArgument.java new file mode 100644 index 000000000000..b38696d41595 --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/generics/argumentContainment2/src/SimpleTypeArgument.java @@ -0,0 +1,5 @@ +import java.util.List; + +public abstract class SimpleTypeArgument implements Comparable { + public abstract List list(); +} diff --git a/java/java-tests/testData/compileServer/incremental/generics/argumentContainment3/src/SimpleTypeArgument.java b/java/java-tests/testData/compileServer/incremental/generics/argumentContainment3/src/SimpleTypeArgument.java new file mode 100644 index 000000000000..6b8b0d5ff9b5 --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/generics/argumentContainment3/src/SimpleTypeArgument.java @@ -0,0 +1,7 @@ +import java.util.List; + +public abstract class SimpleTypeArgument implements Comparable { + public List list() { + return null; + } +} diff --git a/jps/jps-builders/src/org/jetbrains/jps/builders/java/dependencyView/ClassfileAnalyzer.java b/jps/jps-builders/src/org/jetbrains/jps/builders/java/dependencyView/ClassfileAnalyzer.java index 801552e945f8..0a1afc29bb8f 100644 --- a/jps/jps-builders/src/org/jetbrains/jps/builders/java/dependencyView/ClassfileAnalyzer.java +++ b/jps/jps-builders/src/org/jetbrains/jps/builders/java/dependencyView/ClassfileAnalyzer.java @@ -230,7 +230,7 @@ class ClassfileAnalyzer { @Override public SignatureVisitor visitTypeArgument(char wildcard) { - return mySignatureWithGenericBoundUsageCrawler; + return wildcard == '+' || wildcard == '-' ? mySignatureWithGenericBoundUsageCrawler : super.visitTypeArgument(wildcard); } };