Bug 112736 - Bogus Compiler Warnings when Converting file extensions
Summary: Bogus Compiler Warnings when Converting file extensions
Status: RESOLVED FIXED
Alias: None
Product: AspectJ
Classification: Tools
Component: Compiler (show other bugs)
Version: 1.5.0M4   Edit
Hardware: PC Windows XP
: P2 normal (vote)
Target Milestone: 1.5.0RC1   Edit
Assignee: Andrew Clement CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-10-15 14:15 EDT by Ron Bodkin CLA
Modified: 2012-04-03 16:17 EDT (History)
0 users

See Also:


Attachments
example (96.46 KB, image/x-png)
2005-10-15 14:16 EDT, Ron Bodkin CLA
no flags Details
testcase patch (2.45 KB, patch)
2005-11-22 11:40 EST, Helen Beeken CLA
aclement: iplog+
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Ron Bodkin CLA 2005-10-15 14:15:38 EDT
If you convert file extensions between .aj and .java, the compiler doesn't 
properly clear its symbol table, generating bogus warnings about conflicting 
inter-type declarations. It should avoid this. Work around: full rebuild.

See screenshot for an example. After recompiling the "errors" go away...
Comment 1 Ron Bodkin CLA 2005-10-15 14:16:52 EDT
Created attachment 28317 [details]
example
Comment 2 Andrew Clement CLA 2005-11-07 09:40:24 EST
Not sure what you renamed here Ron - was it the aspect containing the ITD that
appears in the error message or some other aspect? (tracing?)

Changes to aspects should cause a full build - I'm confused as to why renaming a
file isn't causing this to happen.  It is possible we don't do a full build on
adding a new aspect (just a full weave - I cant remember) - so maybe we aren't
noticing the delete that proceeds the adding...
Comment 3 Helen Beeken CLA 2005-11-22 11:40:01 EST
Created attachment 30390 [details]
testcase patch

Patch containing failing testcase.

Apply to the tests project.
Comment 4 Andrew Clement CLA 2005-11-25 09:55:59 EST
testcase checked in (commented out).  
Comment 5 Andrew Clement CLA 2005-11-28 07:59:20 EST
fix checked in.  Basically does better analysis of changes between compiles: 
you change an aspect == you get a full build

the compiler is not aware that a 'rename' has occurred, it sees a file deletion and a file addition.  We detect a file has been deleted, check it - discover it contained an aspect previously and then full build.
Comment 6 Andrew Clement CLA 2005-11-29 05:18:57 EST
fix available.