commit | c2d7156f16d9afad8ed60ef77ddee954dba6d710 | [log] [tgz] |
---|---|---|
author | Stephan Herrmann <stephan.herrmann@berlin.de> | Tue Mar 01 16:04:06 2016 +0100 |
committer | Stephan Herrmann <stephan.herrmann@berlin.de> | Tue Mar 01 16:04:06 2016 +0100 |
tree | 9c8643532efd1097be949756c30aa370fdd13d76 | |
parent | c8857467d70e18ce41a99d76f5aa3f47307270f1 [diff] |
Bug 488672: CCE at AllocationExpression.inferElidedTypes(AllocationExpression.java:606) Change-Id: I68bb11fa5b393123562c6fc665281f6e3208aeab
diff --git a/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/GenericsRegressionTest_1_8.java b/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/GenericsRegressionTest_1_8.java index a03f6d2..b49267e 100644 --- a/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/GenericsRegressionTest_1_8.java +++ b/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/GenericsRegressionTest_1_8.java
@@ -6032,4 +6032,23 @@ "The method missing() is undefined for the type Object\n" + "----------\n"); } +public void testBug488672() { + runConformTest( + new String[] { + "X.java", + "import java.util.*;\n" + + "\n" + + "public class X {\n" + + " void foo(Manager manager) {\n" + + " HashSet<String> activeBindings = new HashSet<>(manager.getActiveBindingsDisregardingContextFlat());\n" + + " }\n" + + "}\n" + + "\n" + + "class Manager {\n" + + " Collection getActiveBindingsDisregardingContextFlat() {\n" + + " return null;\n" + + " }\n" + + "}\n" + }); +} }
diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/ParameterizedGenericMethodBinding.java b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/ParameterizedGenericMethodBinding.java index 2e8fee7..e55dec8 100644 --- a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/ParameterizedGenericMethodBinding.java +++ b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/ParameterizedGenericMethodBinding.java
@@ -605,7 +605,7 @@ // the erasure of the return type and thrown types of m's type." if (substitute) type = Scope.substitute(this, type); - return type.erasure(); + return env.convertToRawType(type.erasure(), true); } /*