[jboss-cvs] JBossAS SVN: r59672 - branches/Branch_AOP_1_5/aop/src/main/org/jboss/aop/util.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Jan 16 11:48:38 EST 2007


Author: kabir.khan at jboss.com
Date: 2007-01-16 11:48:36 -0500 (Tue, 16 Jan 2007)
New Revision: 59672

Modified:
   branches/Branch_AOP_1_5/aop/src/main/org/jboss/aop/util/JavassistMethodHashing.java
Log:
[JBAOP-342] JavassistMethodHashing.getMethodMap() for an interface does not pick up methods from super interface

Modified: branches/Branch_AOP_1_5/aop/src/main/org/jboss/aop/util/JavassistMethodHashing.java
===================================================================
--- branches/Branch_AOP_1_5/aop/src/main/org/jboss/aop/util/JavassistMethodHashing.java	2007-01-16 15:57:19 UTC (rev 59671)
+++ branches/Branch_AOP_1_5/aop/src/main/org/jboss/aop/util/JavassistMethodHashing.java	2007-01-16 16:48:36 UTC (rev 59672)
@@ -158,13 +158,24 @@
       }
    }
    private static void populateMethodTables(HashMap advised, CtClass superclass)
-      throws Exception
+   throws Exception
    {
       if (superclass == null) return;
       if (superclass.getName().equals("java.lang.Object")) return;
-
-      populateMethodTables(advised, superclass.getSuperclass());
-      addDeclaredMethods(advised, superclass);
+      if (superclass.isInterface())
+      {
+         CtClass[] ifs = superclass.getInterfaces();
+         for (int i = 0 ; i < ifs.length ; i++)
+         {
+            populateMethodTables(advised, ifs[i]);
+         }
+         addDeclaredMethods(advised, superclass);
+      }
+      else
+      {
+         populateMethodTables(advised, superclass.getSuperclass());
+         addDeclaredMethods(advised, superclass);
+      }
    }
 
    public static HashMap getMethodMap(CtClass clazz) throws Exception




More information about the jboss-cvs-commits mailing list