Summary: | False "Duplicate methods" error with overridden ITD in a subclassed aspect | ||
---|---|---|---|
Product: | [Tools] AspectJ | Reporter: | attila lendvai <101> |
Component: | Compiler | Assignee: | Andrew Clement <aclement> |
Status: | RESOLVED DUPLICATE | QA Contact: | |
Severity: | normal | ||
Priority: | P2 | ||
Version: | DEVELOPMENT | ||
Target Milestone: | 1.5.0RC1 | ||
Hardware: | PC | ||
OS: | Windows XP | ||
Whiteboard: |
Description
attila lendvai
2005-09-28 11:49:15 EDT
FYI, i'm trying to create a small testcase to reproduce the bug but i keep on failing... :| the scenario in the description works fine. Are any java generics involved in this or is it just regular java? This is regular Java that compiles with the 1.2 version. I've successfully compiled the code about a month ago with the developer build, but i wasn't following the dev builds because it fails with another project. Some dev builds had problems with other ITD's that got fixed meanwhile. The situation involves a tree of abstract aspects that mostly ITD'd stuff trough a tree of interfaces (Mixins). Some nodes are concretized. Two nodes ITD's two actionPerformed() method, one overrides the other and calls super. actionPerformed(). I only could reproduce some valid conflicting ITD errors messages, some Object does not understand actionPerformed() errors (which i couldn't understand why happened) but i couldn't reproduce the duplicate method error... Some time ago I suggested that if the compiler logged what happens then maybe errors like this could be analized more easily. Maybe. Hi, sorry I'm slow looking at this. Is there any way you can send me the .class file for HidingMessagesMixin.IHidingMessages which contains the duplicates and perhaps the aspect with the original ITDs in? (Send it privately if attaching to bugzilla isnt appropriate) - this is of course if its still happening on recent AJ builds, we are heading for the AJ5 release candidate and I'd really hate if it didn't work for you! (We have other bugs about improving the diagnostics from AJ.) I'm tinkering around trying to recreate this again. From the original description: "aspect A ITD's actionPerformed; aspect B specializes aspect A and overrides the ITD'd actionPerformed." Do you mean: abstract aspect A { public void SomeClass.actionPerformed() {} } aspect B extends A { public void SomeClass.actionPerformed() {} } this works for me. I wonder what I'm doing differently to you? I'm going to have to close this as unrecreatable - if there is something here I would like to get it fixed for RC1 but I just can't make it happen. Please reopen if you still have this problem. i have a testcase for this now and have recreated it!! see bug 115788 |