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

Reply via email to