Bug 78934

Summary: [1.5][dom] ParameterizedType for nested generic types has missing bindings
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 CC: eclipse.org, frederic_fusier
Version: 3.1   
Target Milestone: 3.1 M5   
Hardware: PC   
OS: Windows XP   
Whiteboard:

Description Markus Keller CLA 2004-11-18 06:33:26 EST
I200411170800

class Outer<A> {
    class Inner<B> {
    }
}

class User {
void m() {
    Outer<String>.Inner<Integer> in= new Outer<String>().new Inner<Integer>();
}
}

The ParameterizedType Outer<String>.Inner<Integer> has only bindings for String
and Integer. All the other bindings are null. Bindings in the initializer are OK
(except for bug 77806).
Comment 1 Olivier Thomann CLA 2004-11-18 15:00:10 EST
I can add the binding for the global type Outer<String>.Inner<Integer>, but I
don't see how I can get each sub part. I don't have the information in the
compiler bindings.
Comment 2 Olivier Thomann CLA 2004-12-10 10:24:06 EST
Move to M5, since this is a change that is more subtle than I thought. I am not
sure I can complete it in time for M4.
Sorry for the delay.
Comment 3 Olivier Thomann CLA 2005-01-05 19:07:02 EST
*** Bug 81439 has been marked as a duplicate of this bug. ***
Comment 4 Philipe Mulet CLA 2005-01-26 17:14:28 EST
Slightly more nasty, indirect access to member type through subclass:

class Outer<A> {
    class Inner<B> {
    }
}
class Outer2<C> extends Outer<C> {
}

class User {
void m() {
    Outer2<String>.Inner<Integer> in= new Outer2<String>().new Inner<Integer>();
}
}
Comment 5 Olivier Thomann CLA 2005-02-01 14:27:51 EST
Fixed and released in HEAD.
Regression tests added in ASTConverter15Test.test0069, 0070 and 0130.
Comment 6 Olivier Thomann CLA 2005-02-02 11:35:09 EST
*** Bug 79696 has been marked as a duplicate of this bug. ***
Comment 7 David Audel CLA 2005-02-16 12:51:41 EST
Verified in I20050215-2300