[seam-commits] Seam SVN: r15168 - branches/enterprise/JBPAPP_5_1_2_ER2_JBPAPP-10031/src/main/org/jboss/seam/util.
seam-commits at lists.jboss.org
seam-commits at lists.jboss.org
Wed Sep 26 17:42:23 EDT 2012
Author: ivassile
Date: 2012-09-26 17:42:22 -0400 (Wed, 26 Sep 2012)
New Revision: 15168
Modified:
branches/enterprise/JBPAPP_5_1_2_ER2_JBPAPP-10031/src/main/org/jboss/seam/util/ProxyFactory.java
Log:
Porting changes:
sorted out some compiler warnings (13909)
JBSEAM-4840 aplied JAVASSIST fix for JASSIST-66 (14240)
Modified: branches/enterprise/JBPAPP_5_1_2_ER2_JBPAPP-10031/src/main/org/jboss/seam/util/ProxyFactory.java
===================================================================
--- branches/enterprise/JBPAPP_5_1_2_ER2_JBPAPP-10031/src/main/org/jboss/seam/util/ProxyFactory.java 2012-09-26 19:44:03 UTC (rev 15167)
+++ branches/enterprise/JBPAPP_5_1_2_ER2_JBPAPP-10031/src/main/org/jboss/seam/util/ProxyFactory.java 2012-09-26 21:42:22 UTC (rev 15168)
@@ -199,9 +199,11 @@
proxyClass = null;
}
- public int hashCode() { return hash; }
+ @Override
+ public int hashCode() { return hash; }
- public boolean equals(Object obj) {
+ @Override
+ public boolean equals(Object obj) {
if (obj instanceof CacheKey) {
CacheKey target = (CacheKey)obj;
return target.filter == filter && target.handler == handler
@@ -561,7 +563,7 @@
cf.addField(finfo3);
HashMap allMethods = getMethods(superClass, interfaces);
- int size = allMethods.size();
+ //int size = allMethods.size();
makeConstructors(classname, cf, pool, classname);
int s = overrideMethods(cf, pool, classname, allMethods);
addMethodsHolder(cf, pool, classname, s);
@@ -858,6 +860,9 @@
code.addGetstatic(thisClassName, HOLDER, HOLDER_TYPE);
code.addAstore(arrayVar);
code.addAload(arrayVar);
+
+ callFind2Methods(code, meth.getName(), delegatorName, origIndex, desc, arrayVar);
+ /*
code.addIconst(origIndex);
code.addOpcode(Opcode.AALOAD);
code.addOpcode(Opcode.IFNONNULL);
@@ -868,7 +873,7 @@
callFindMethod(code, "findMethod", arrayVar, delIndex, delegatorName, desc);
int pc2 = code.currentPc();
- code.write16bit(pc, pc2 - pc + 1);
+ code.write16bit(pc, pc2 - pc + 1);*/
code.addAload(0);
code.addGetfield(thisClassName, HANDLER, HANDLER_TYPE);
code.addAload(0);
@@ -891,10 +896,10 @@
CodeAttribute ca = code.toCodeAttribute();
forwarder.setCodeAttribute(ca);
- StackMapTable.Writer writer = new StackMapTable.Writer(32);
+ /*StackMapTable.Writer writer = new StackMapTable.Writer(32);
writer.appendFrame(pc2, new int[] { StackMapTable.OBJECT },
new int[] { cp.addClassInfo(HOLDER_TYPE) });
- ca.setAttribute(writer.toStackMapTable(cp));
+ ca.setAttribute(writer.toStackMapTable(cp));*/
return forwarder;
}
@@ -993,6 +998,27 @@
}
}
+ private static void callFind2Methods(Bytecode code, String superMethod, String thisMethod,
+ int index, String desc, int arrayVar)
+ {
+ String findClass = RuntimeSupport.class.getName();
+ String findDesc = "(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;[Ljava/lang/reflect/Method;)V";
+ code.addAload(0);
+ code.addLdc(superMethod);
+ if (thisMethod == null)
+ {
+ code.addOpcode(Opcode.ACONST_NULL);
+ }
+ else
+ {
+ code.addLdc(thisMethod);
+ }
+ code.addIconst(index);
+ code.addLdc(desc);
+ code.addAload(arrayVar);
+ code.addInvokestatic(findClass, "find2Methods", findDesc);
+ }
+
private static int makeWrapper(Bytecode code, Class type, int regno) {
int index = FactoryHelper.typeIndex(type);
String wrapper = FactoryHelper.wrapperTypes[index];
More information about the seam-commits
mailing list