[jboss-cvs] JBossAS SVN: r59425 - projects/aop/trunk/aop/src/main/org/jboss/aop/util

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Jan 8 18:29:53 EST 2007


Author: kabir.khan at jboss.com
Date: 2007-01-08 18:29:52 -0500 (Mon, 08 Jan 2007)
New Revision: 59425

Modified:
   projects/aop/trunk/aop/src/main/org/jboss/aop/util/JavassistMethodHashing.java
Log:
Fix javassist so that both the bridgemethod and methodhashing tests pass

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/util/JavassistMethodHashing.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/util/JavassistMethodHashing.java	2007-01-08 23:29:24 UTC (rev 59424)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/util/JavassistMethodHashing.java	2007-01-08 23:29:52 UTC (rev 59425)
@@ -25,18 +25,12 @@
 import javassist.CtConstructor;
 import javassist.CtMethod;
 import javassist.Modifier;
-import javassist.NotFoundException;
 
-
 import java.io.ByteArrayOutputStream;
 import java.io.DataOutputStream;
-import java.io.IOException;
 import java.security.DigestOutputStream;
 import java.security.MessageDigest;
-import java.security.NoSuchAlgorithmException;
-import java.util.ArrayList;
 import java.util.HashMap;
-import java.util.List;
 
 /**
  * Create a unique hash for method.  This is the same as
@@ -147,55 +141,46 @@
       }
    }
    
-   private static void addDeclaredMethods(HashMap advised, List ignoredHash, CtClass superclass) throws Exception
+   private static void addDeclaredMethods(HashMap advised, CtClass superclass) throws Exception
    {
       CtMethod[] declaredMethods = superclass.getDeclaredMethods();
       for (int i = 0; i < declaredMethods.length; i++)
       {
          if (superclass.isInterface() || Advisable.isAdvisable(declaredMethods[i]))
          {
-            //if a method is marked as a "volatile/bridge" method, we need to
-            //ignore it and check that other implementations of that method
-            // (in superclasses) are not added either.
-            if(!Modifier.isVolatile(declaredMethods[i].getModifiers()))
+            Long hash = methodHash(declaredMethods[i]);
+            if(Modifier.isVolatile(declaredMethods[i].getModifiers()))
             {
-               long hash = methodHash(declaredMethods[i]);
-               if(!ignoredHash.contains(new Long(hash)))
-               {
-                  advised.put(new Long(hash), declaredMethods[i]);
-               }
+               advised.remove(hash);
             }
             else
             {
-               long hash = methodHash(declaredMethods[i]);
-               ignoredHash.add(new Long(hash));
+               advised.put(new Long(hash), declaredMethods[i]);
             }
          }
       }
    }
-   private static void populateMethodTables(HashMap advised, List ignoredHash, CtClass superclass)
+   private static void populateMethodTables(HashMap advised, CtClass superclass)
       throws Exception
    {
       if (superclass == null) return;
       if (superclass.getName().equals("java.lang.Object")) return;
 
-      populateMethodTables(advised, ignoredHash, superclass.getSuperclass());
-      addDeclaredMethods(advised, ignoredHash, superclass);
+      populateMethodTables(advised, superclass.getSuperclass());
+      addDeclaredMethods(advised, superclass);
    }
 
    public static HashMap getMethodMap(CtClass clazz) throws Exception
    {
       HashMap map = new HashMap();
-      List ignoredHash = new ArrayList();
-      populateMethodTables(map, ignoredHash, clazz);
+      populateMethodTables(map, clazz);
       return map;
    }
 
    public static HashMap getDeclaredMethodMap(CtClass clazz) throws Exception
    {
       HashMap map = new HashMap();
-      List ignoredHash = new ArrayList();
-      addDeclaredMethods(map, ignoredHash, clazz);
+      addDeclaredMethods(map, clazz);
       return map;
    }
 




More information about the jboss-cvs-commits mailing list