Summary: | fail in compiling aspect with overriding method introduction with different throws clause | ||
---|---|---|---|
Product: | [Tools] AspectJ | Reporter: | mariano <ceccato> |
Component: | Compiler | Assignee: | Andrew Clement <aclement> |
Status: | RESOLVED FIXED | QA Contact: | |
Severity: | blocker | ||
Priority: | P3 | ||
Version: | 1.1.0 | ||
Target Milestone: | 1.2 | ||
Hardware: | PC | ||
OS: | Linux | ||
Whiteboard: |
Description
mariano
2004-01-28 12:21:31 EST
Assigning to Andy, but including a tip. This is probably a bug in InterTypeMemberFinder.getExactMethod. If you look at the corresponding getMethods method that one checks to see if there are any intertype methods declared and if so adds them to the base set that comes from the pure jdt logic. For this method, instead it assumes that if the base method returned from the jdt code is valid then there's no reason to check for any intertype declarations. Set a break point here and run the given test to see if this is the right diagnosis. Jim was write (as usual!) - when getExactMethod() found a method existing on the type, it did not check for intertype declarations that may be overriding it. Basically, it did not allow for the case where the method was inherited from a supertype and overridden via an ITD. Fix checked in. updating target flag to indicate inclusion in 1.2 release. I really am updating the target flag this time... |