Bug 83817

Summary: IBinding#isEqualTo(..) returns true for methods of different parameterized types
Product: [Eclipse Project] JDT Reporter: Markus Keller <markus.kell.r>
Component: CoreAssignee: Olivier Thomann <Olivier_Thomann>
Status: VERIFIED FIXED QA Contact:
Severity: normal    
Priority: P3    
Version: 3.1   
Target Milestone: 3.1 M5   
Hardware: PC   
OS: Windows XP   
Whiteboard:

Description Markus Keller CLA 2005-01-27 06:32:05 EST
I20050126-0800

class X<T> {
    public void method(Number num) {}
}

class Z {
	void test() {
		new X<String>().method(0);
		new X<Integer>().method(1);
	}
}

The IMethodBindings for the two calls to method(..) have different keys, but
isEqualTo(..) returns true.
Comment 1 Olivier Thomann CLA 2005-01-28 13:34:58 EST
Fixed and released in HEAD.
Regression test added in ASTConverter15Test.test0127.
Comment 2 Olivier Thomann CLA 2005-01-28 14:29:41 EST
I was too permissive comparing the compiler bindings. I released a much more
aggressive comparison. I could run all tests without getting StackOverFlowError.
Let me know if you have any problem with that version.
Comment 3 David Audel CLA 2005-02-16 12:41:35 EST
Verified in I20050215-2300