Summary: | fixing a broken generic type can give an IllegalStateException | ||
---|---|---|---|
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.10 | ||
Hardware: | PC | ||
OS: | Windows 7 | ||
Whiteboard: |
Description
Andrew Clement
2010-08-13 11:15:26 EDT
The problem here is the ReferenceType is caching the TypeVariable information from the underlying delegate and not reseting it when the delegate is changed. On the 3rd build (that fixes the problem) the delegate is correct for aspect but the ReferenceType.typeVariables field still points to the old broken single variable version. By clearing the cached state when the delegate is reset (in ReferenceType.ensureConsistent) - the problem is fixed. test and fix committed |