Bug 93408

Summary: ITypeBinding#isEqualTo(..) does not resolve type variables
Product: [Eclipse Project] JDT Reporter: Markus Keller <markus.kell.r>
Component: CoreAssignee: Jerome Lanneluc <jerome_lanneluc>
Status: VERIFIED FIXED QA Contact:
Severity: normal    
Priority: P3    
Version: 3.1   
Target Milestone: 3.1 RC1   
Hardware: PC   
OS: Windows XP   
Whiteboard:
Attachments:
Description Flags
Proposed patch
none
Regression test none

Description Markus Keller CLA 2005-05-02 10:16:07 EDT
v_553a

The type bindings for the two references to ArrayList<E> below have different
keys, but ITypeBinding#isEqualTo(..) returns true for them. Maybe the same
problem as bug 88046.


import java.util.ArrayList;

public class Bind<E> {
	ArrayList<E> ae;

	static class Other<E> {
		ArrayList<E> ae;
	}
}
Comment 1 Jerome Lanneluc CLA 2005-05-13 10:01:04 EDT
Created attachment 21101 [details]
Proposed patch

Changed BindingComparator to use a set of visited types, instead of a boolean
to avoid recursion, but to visit enough.
Comment 2 Jerome Lanneluc CLA 2005-05-13 10:02:27 EDT
Created attachment 21102 [details]
Regression test

Added regression test ASTConverter15Test#test0181()
Comment 3 Jerome Lanneluc CLA 2005-05-15 06:14:33 EDT
Released patch and regression test
Comment 4 David Audel CLA 2005-05-27 04:46:44 EDT
Verified in i20050527-0010