From ae4b81c8204eec47ccd579ce0ae07e808b9a8b58 Mon Sep 17 00:00:00 2001 From: chiba Date: Tue, 18 Jul 2006 17:51:04 +0000 Subject: a correct fix of HIBERNATE-37 (ProxyFactory could not handle a bridge method). Please check other JBoss products using Javassist. git-svn-id: http://anonsvn.jboss.org/repos/javassist/trunk@302 30ef5769-5b8d-40dd-aea6-55b5d6557bb3 --- src/main/javassist/util/proxy/ProxyFactory.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/main/javassist/util/proxy') diff --git a/src/main/javassist/util/proxy/ProxyFactory.java b/src/main/javassist/util/proxy/ProxyFactory.java index 19321e61..bf29e539 100644 --- a/src/main/javassist/util/proxy/ProxyFactory.java +++ b/src/main/javassist/util/proxy/ProxyFactory.java @@ -363,6 +363,8 @@ public class ProxyFactory { else { MethodInfo delegator = makeDelegator(meth, desc, cp, declClass, delegatorName); + // delegator is not a bridge method. See Sec. 15.12.4.5 of JLS 3rd Ed. + delegator.setAccessFlags(delegator.getAccessFlags() & ~AccessFlag.BRIDGE); cf.addMethod(delegator); } @@ -417,8 +419,6 @@ public class ProxyFactory { * @param mod the modifiers of the method. */ private static boolean isVisible(int mod, String from, Member meth) { - if ((mod & Modifier.VOLATILE) != 0) - return false; if ((mod & Modifier.PRIVATE) != 0) return false; else if ((mod & (Modifier.PUBLIC | Modifier.PROTECTED)) != 0) -- cgit v1.2.3