Bug 371684 - type construction for signature makes mistakes with wildcards
Summary: type construction for signature makes mistakes with wildcards
Status: RESOLVED FIXED
Alias: None
Product: AspectJ
Classification: Tools
Component: Compiler (show other bugs)
Version: 1.7.0   Edit
Hardware: PC Mac OS X - Carbon (unsup.)
: P3 normal (vote)
Target Milestone: 1.7.0   Edit
Assignee: aspectj inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-02-15 17:16 EST by Andrew Clement CLA
Modified: 2012-02-15 17:36 EST (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andrew Clement CLA 2012-02-15 17:16:16 EST
If you have a type with multiple type params, like this:

Foo<?,T>

the signature is:

LFoo<*TT;>;

and the handling of * is not working in TypeFactory.  If that signature is passed in it will actually build:

Foo<?>

having lost the second type parameter, this breaks code later that has expectations on the number of params.  (e.g. ArrayIndexOutOfBoundsException when building parameterization map)
Comment 1 Andrew Clement CLA 2012-02-15 17:36:49 EST
fixed.

Handles multiples as well (eg. LFoo<***>;)