This commit is contained in:
Redkale
2016-07-07 09:46:33 +08:00
parent 0d6a778d9c
commit a996ab5eb5
5 changed files with 18 additions and 14 deletions

View File

@@ -17,6 +17,7 @@ import java.nio.*;
import java.util.*;
import java.util.concurrent.*;
import jdk.internal.org.objectweb.asm.*;
import static jdk.internal.org.objectweb.asm.ClassWriter.COMPUTE_FRAMES;
import static jdk.internal.org.objectweb.asm.Opcodes.*;
/**
@@ -191,7 +192,7 @@ public abstract class BasedHttpServlet extends HttpServlet {
}
}
//------------------------------------------------------------------------------
ClassWriter cw = new ClassWriter(0);
ClassWriter cw = new ClassWriter(COMPUTE_FRAMES);
FieldVisitor fv;
MethodVisitor mv;
AnnotationVisitor av0;

View File

@@ -15,6 +15,7 @@ import java.util.function.*;
import java.util.logging.*;
import javax.annotation.*;
import jdk.internal.org.objectweb.asm.*;
import static jdk.internal.org.objectweb.asm.ClassWriter.COMPUTE_FRAMES;
import static jdk.internal.org.objectweb.asm.Opcodes.*;
import jdk.internal.org.objectweb.asm.Type;
import org.redkale.convert.bson.*;
@@ -24,7 +25,7 @@ import org.redkale.service.DynCall;
/**
*
*
*
* 详情见: http://redkale.org
*
* @author zhangjx
@@ -161,14 +162,14 @@ public final class SncpDynServlet extends SncpServlet {
* <blockquote><pre>
* public class TestService implements Service {
* public boolean change(TestBean bean, String name, int id) {
*
*
* }
* }
*
*
* public class DynActionTestService_change extends SncpServletAction {
*
*
* public TestService service;
*
*
* &#64;Override
* public void action(final BsonReader in, final BsonWriter out) throws Throwable {
* TestBean arg1 = convert.convertFrom(paramTypes[1], in);
@@ -181,9 +182,9 @@ public final class SncpDynServlet extends SncpServlet {
* }
* </pre></blockquote>
*
* @param service Service
* @param service Service
* @param actionid 操作ID
* @param method 方法
* @param method 方法
*
* @return SncpServletAction
*/
@@ -207,7 +208,7 @@ public final class SncpDynServlet extends SncpServlet {
}
}
//-------------------------------------------------------------
ClassWriter cw = new ClassWriter(0);
ClassWriter cw = new ClassWriter(COMPUTE_FRAMES);
FieldVisitor fv;
AsmMethodVisitor mv;
@@ -371,9 +372,8 @@ public final class SncpDynServlet extends SncpServlet {
mv.visitMethodInsn(INVOKEVIRTUAL, convertName, "convertTo", "(" + convertWriterDesc + "Ljava/lang/reflect/Type;Ljava/lang/Object;)V", false);
mv.visitInsn(RETURN);
store++;
if (maxStack < 10) maxStack = 10;
}
mv.visitMaxs(maxStack + 10, store + 10);
mv.visitMaxs(maxStack, store);
mv.visitEnd();
}
cw.visitEnd();

View File

@@ -8,6 +8,7 @@ package org.redkale.util;
import java.util.*;
import java.util.function.*;
import jdk.internal.org.objectweb.asm.*;
import static jdk.internal.org.objectweb.asm.ClassWriter.COMPUTE_FRAMES;
import static jdk.internal.org.objectweb.asm.Opcodes.*;
/**
@@ -442,7 +443,7 @@ public interface Attribute<T, F> {
} catch (Throwable ex) {
}
//---------------------------------------------------
final ClassWriter cw = new ClassWriter(0);
final ClassWriter cw = new ClassWriter(COMPUTE_FRAMES);
MethodVisitor mv;
cw.visit(V1_8, ACC_PUBLIC + ACC_FINAL + ACC_SUPER, newDynName, "Ljava/lang/Object;L" + supDynName + "<" + interDesc + columnDesc + ">;", "java/lang/Object", new String[]{supDynName});

View File

@@ -4,6 +4,7 @@ import java.lang.reflect.Modifier;
import java.util.function.Predicate;
import static jdk.internal.org.objectweb.asm.Opcodes.*;
import jdk.internal.org.objectweb.asm.*;
import static jdk.internal.org.objectweb.asm.ClassWriter.COMPUTE_FRAMES;
/**
*
@@ -41,7 +42,7 @@ public interface Reproduce<D, S> {
} catch (Exception ex) {
}
// ------------------------------------------------------------------------------
ClassWriter cw = new ClassWriter(0);
ClassWriter cw = new ClassWriter(COMPUTE_FRAMES);
FieldVisitor fv;
MethodVisitor mv;
AnnotationVisitor av0;

View File

@@ -8,6 +8,7 @@ import java.lang.reflect.Type;
import java.lang.reflect.*;
import java.util.*;
import jdk.internal.org.objectweb.asm.*;
import static jdk.internal.org.objectweb.asm.ClassWriter.COMPUTE_FRAMES;
import static jdk.internal.org.objectweb.asm.Opcodes.*;
/**
@@ -139,7 +140,7 @@ public abstract class TypeToken<T> {
break;
}
}
ClassWriter cw = new ClassWriter(0);
ClassWriter cw = new ClassWriter(COMPUTE_FRAMES);
FieldVisitor fv;
MethodVisitor mv;
cw.visit(V1_8, ACC_PUBLIC + ACC_FINAL + ACC_SUPER, newDynName, null, "java/lang/Object", null);