NetUI's internal CompilerUtils.getClassMethods() will sometimes include
duplicate methods.
------------------------------------------------------------------------------------------
Key: BEEHIVE-1049
URL: http://issues.apache.org/jira/browse/BEEHIVE-1049
Project: Beehive
Type: Bug
Components: NetUI
Versions: V1, 1.0.1
Reporter: Carlin Rogers
Assigned to: Carlin Rogers
Priority: Minor
Fix For: 1.0.1
It's possible that NetUI's internal CompilerUtils.getClassMethods() will
sometimes include duplicate methods. Given a base class with overloaded
action/method names and a derived class that overrides an overloaded method,
the CompilerUtils.getClassMethods() routine should just return the derived
class overridden method and the other non-overridden ( but overloaded ;-) )
methods. This routine is recursive and climbs up the hierarchy checking for any
other uniquely inherited methods in super classes to add to the list. If the
method is already overridden, we shouldn't add the one from the base class.
However, in the for loop that walks the set of already found methods to compare
with a potential method to add, we don't stop walking the list if we find a
conflict (same name, same parameters) early on. Implying, this only works if
the conflict is found at the end of the list.
This error was only identified when the InheritOverloadedActions was checked in
with revision 372055.
http://svn.apache.org/viewcvs?rev=372055&view=rev
The test fails on some machines because of the order that the Java APT
ClassDeclaration.getMethods() returned the set of methods.
I will check in a fix to this shortly.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira