Summary: | confusion in bounds analysis when ITD uses multiple type variables | ||
---|---|---|---|
Product: | [Tools] AspectJ | Reporter: | Andrew Clement <aclement> |
Component: | Compiler | Assignee: | aspectj inbox <aspectj-inbox> |
Status: | RESOLVED FIXED | QA Contact: | |
Severity: | normal | ||
Priority: | P3 | ||
Version: | DEVELOPMENT | ||
Target Milestone: | 1.6.11 | ||
Hardware: | PC | ||
OS: | Windows 7 | ||
Whiteboard: |
Description
Andrew Clement
2011-02-10 16:38:03 EST
The problem here is the type variable rank is not preserved - meaning on deserialization and use in a subsequent weave step we have lose the index of the typevariable. The both default to '0' and this means the array manipulation that infers how arguments obey bound constraints ends up stepping onto itself (in InferenceContext.recordSubstitute) fixed, one liner in ResolvedMemberImpl deserialization. |