Summary: | [annotations]Compiler crashes (possibly due to declare @type) | ||
---|---|---|---|
Product: | [Tools] AspectJ | Reporter: | Ramnivas Laddad <ramnivas> |
Component: | Compiler | Assignee: | Andrew Clement <aclement> |
Status: | RESOLVED FIXED | QA Contact: | |
Severity: | major | ||
Priority: | P2 | ||
Version: | DEVELOPMENT | ||
Target Milestone: | 1.5.1 | ||
Hardware: | PC | ||
OS: | Windows XP | ||
Whiteboard: |
Description
Ramnivas Laddad
2006-02-20 09:53:35 EST
Line 769 in the latest version of AjLookupEnvironment I think. Can I ask which file you are incrementally compiling ramnivas? I assume it is not the file containing the declare - but is it a file affected by the declare or not? nevermind, recreated. Sometimes I amaze even myself. I went home yesterday wondering if we could ever fix this (i.e. do the right thing - stopping the NPE is of course straightforward). This morning I've fixed it. The problem is to do with retrieving the annotation for the declare @type. We NPE because we try and retrieve it off a binary type binding and eclipse binary type bindings dont know about annotations. We have a binary type binding because it is an incremental compile so the 'supporting' types required by the one source file we are building come in as binary type bindings rather than as source type bindings. What we have to do is access the annotations on the binary type binding through bcel, then construct a minimal eclipse annotation containing the type of the annotation and stick it onto the matched type. I've put a few comments in the code about other bugs lurking but this was so serious I wanted to get the fix for the original discovered problem out asap. fix available. |