Bug 106834 - IMethodBinding#isEqualTo(..) wrong with overloaded parameterized methods
Summary: IMethodBinding#isEqualTo(..) wrong with overloaded parameterized methods
Status: VERIFIED FIXED
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 3.2   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: 3.2 M2   Edit
Assignee: Olivier Thomann CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-08-12 08:40 EDT by Markus Keller CLA
Modified: 2005-09-20 14:09 EDT (History)
0 users

See Also:


Attachments
Proposed fix (2.55 KB, patch)
2005-08-12 11:33 EDT, Olivier Thomann CLA
no flags Details | Diff
Regression test (3.13 KB, patch)
2005-08-12 11:33 EDT, Olivier Thomann CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Markus Keller CLA 2005-08-12 08:40:13 EDT
I20050811-1530

public class Try {
	<S extends Number, T> void take(S e, T f) {} //1
	<S extends Number, T> void take(T e, S f) {} //2
	<S extends Number, T extends S> void take(T e, S f) {} //3
}

The binding keys are:
1: Lb/Try;.take<S:Ljava/lang/Number;T:Ljava/lang/Object;>(TS;TT;)V
2: Lb/Try;.take<S:Ljava/lang/Number;T:Ljava/lang/Object;>(TT;TS;)V
3: Lb/Try;.take<S:Ljava/lang/Number;T:TS;>(TT;TS;)V

The following invocations of IMethodBinding#isEqualTo(..) wrongly return true:
1.isEqualTo(2)
2.isEqualTo(1)
3.isEqualTo(1)
3.isEqualTo(2)
Comment 1 Olivier Thomann CLA 2005-08-12 11:33:17 EDT
Created attachment 26051 [details]
Proposed fix
Comment 2 Olivier Thomann CLA 2005-08-12 11:33:50 EDT
Created attachment 26052 [details]
Regression test
Comment 3 Olivier Thomann CLA 2005-08-12 11:34:24 EDT
Jérôme, please review fix.
Comment 4 Olivier Thomann CLA 2005-08-12 11:39:12 EDT
Fixed and released in HEAD.
Regression test added in ASTConverter15Test.test0195
Comment 5 Olivier Thomann CLA 2005-09-20 14:09:01 EDT
Verified using I20050920-0010 for 3.2M2