[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