Community
Participate
Working Groups
I20050426-1700 Cannot restore capture binding from binding key using ASTRequestor()#acceptBinding(...): package xy; import java.util.Vector; public class Cap { { Vector<?> v= null; v.get(0); } } - The capture binding for "v.get(0)" has key "Lxy/Cap;!*634;". -> The resolved binding is for class xy.Cap (key "Lxy/Cap;"). - The capture binding for the reference to "v" has key "Ljava/util/Vector<Lxy/Cap;!*634;>;" -> The resolved binding is for parameterized type Vector<Cap> (key "Ljava/util/Vector<Lxy/Cap;>;"). Same problem for wildcards with upper/lower bounds.
Changed wildcard key to include the generic type of the wildcard (that can be different from the capture's source type). Adpated BindingKeyParser and its subclasses. Added regression test BatchASTCreationTests#test060() and adapted other tests.
Verified for 3.1 M7 using build I20050509-2010 + jdt.core HEAD.