### Eclipse Workspace Patch 1.0 #P org.eclipse.jdt.core Index: model/org/eclipse/jdt/internal/core/BinaryMethod.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/BinaryMethod.java,v retrieving revision 1.107 diff -u -r1.107 BinaryMethod.java --- model/org/eclipse/jdt/internal/core/BinaryMethod.java 7 Sep 2010 03:17:29 -0000 1.107 +++ model/org/eclipse/jdt/internal/core/BinaryMethod.java 23 Nov 2010 13:01:43 -0000 @@ -52,7 +52,7 @@ } public boolean equals(Object o) { if (!(o instanceof BinaryMethod)) return false; - return super.equals(o) && Util.equalArraysOrNull(this.parameterTypes, ((BinaryMethod)o).parameterTypes); + return super.equals(o) && Util.equalArraysOrNull(getErasedParameterTypes(), ((BinaryMethod)o).getErasedParameterTypes()); } public IAnnotation[] getAnnotations() throws JavaModelException { IBinaryMethod info = (IBinaryMethod) getElementInfo(); @@ -372,6 +372,16 @@ return this.parameterTypes; } +// https://bugs.eclipse.org/bugs/show_bug.cgi?id=299384 +private String [] getErasedParameterTypes() { + int paramCount = this.parameterTypes.length; + String [] erasedTypes = new String [paramCount]; + for (int i = 0; i < paramCount; i++) { + erasedTypes[i] = Signature.getTypeErasure(this.parameterTypes[i]); + } + return erasedTypes; +} + public ITypeParameter getTypeParameter(String typeParameterName) { return new TypeParameter(this, typeParameterName); } @@ -446,7 +456,7 @@ public int hashCode() { int hash = super.hashCode(); for (int i = 0, length = this.parameterTypes.length; i < length; i++) { - hash = Util.combineHashCodes(hash, this.parameterTypes[i].hashCode()); + hash = Util.combineHashCodes(hash, Signature.getTypeErasure(this.parameterTypes[i]).hashCode()); } return hash; } #P org.eclipse.jdt.core.tests.model Index: src/org/eclipse/jdt/core/tests/model/ResolveTests.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/ResolveTests.java,v retrieving revision 1.95 diff -u -r1.95 ResolveTests.java --- src/org/eclipse/jdt/core/tests/model/ResolveTests.java 19 Nov 2010 14:21:59 -0000 1.95 +++ src/org/eclipse/jdt/core/tests/model/ResolveTests.java 23 Nov 2010 13:01:51 -0000 @@ -2610,7 +2610,7 @@ ); } // https://bugs.eclipse.org/bugs/show_bug.cgi?id=299384 -public void _testCodeSelectInHybrid1415Projects() throws CoreException, IOException { +public void testCodeSelectInHybrid1415Projects() throws CoreException, IOException { String jarName = "bug299384.jar"; String srcName = "bug299384_src.zip"; try { @@ -2641,7 +2641,7 @@ assertElementsEqual( "Unexpected elements", - "TestSuite(java.lang.Class) [in TestSuite [in TestSuite.class [in [in bug299384.jar [in Resolve]]]]]", + "TestSuite(java.lang.Class) [in TestSuite [in TestSuite.class [in [in bug299384.jar [in Resolve]]]]]", elements ); } finally {