org.apache.aries.proxy.impl.common
Class WovenProxyConcreteMethodAdapter

java.lang.Object
  extended by org.objectweb.asm.MethodVisitor
      extended by org.objectweb.asm.commons.LocalVariablesSorter
          extended by org.objectweb.asm.commons.GeneratorAdapter
              extended by org.apache.aries.proxy.impl.common.AbstractWovenProxyMethodAdapter
                  extended by org.apache.aries.proxy.impl.common.WovenProxyConcreteMethodAdapter

public final class WovenProxyConcreteMethodAdapter
extends AbstractWovenProxyMethodAdapter


Field Summary
 
Fields inherited from class org.apache.aries.proxy.impl.common.AbstractWovenProxyMethodAdapter
currentTransformMethod, typeBeingWoven
 
Fields inherited from class org.objectweb.asm.commons.GeneratorAdapter
ADD, AND, DIV, EQ, GE, GT, LE, LT, MUL, NE, NEG, OR, REM, SHL, SHR, SUB, USHR, XOR
 
Fields inherited from class org.objectweb.asm.commons.LocalVariablesSorter
firstLocal, nextLocal
 
Fields inherited from class org.objectweb.asm.MethodVisitor
api, mv
 
Constructor Summary
WovenProxyConcreteMethodAdapter(org.objectweb.asm.MethodVisitor mv, int access, String name, String desc, String[] exceptions, String methodStaticFieldName, org.objectweb.asm.commons.Method currentTransformMethod, org.objectweb.asm.Type typeBeingWoven, org.objectweb.asm.Type methodDeclaringType)
           
 
Method Summary
 void visitCode()
          We weave instructions before the normal method body.
 void visitMaxs(int stack, int locals)
           
 
Methods inherited from class org.apache.aries.proxy.impl.common.AbstractWovenProxyMethodAdapter
unwrapEqualsArgument, writeDispatcher
 
Methods inherited from class org.objectweb.asm.commons.GeneratorAdapter
arrayLength, arrayLoad, arrayStore, box, cast, catchException, checkCast, dup, dup2, dup2X1, dup2X2, dupX1, dupX2, endMethod, getField, getLocalType, getStatic, goTo, ifCmp, ifICmp, ifNonNull, ifNull, ifZCmp, iinc, instanceOf, invokeConstructor, invokeDynamic, invokeInterface, invokeStatic, invokeVirtual, loadArg, loadArgArray, loadArgs, loadArgs, loadLocal, loadLocal, loadThis, mark, mark, math, monitorEnter, monitorExit, newArray, newInstance, newLabel, not, pop, pop2, push, push, push, push, push, push, push, push, putField, putStatic, ret, returnValue, setLocalType, storeArg, storeLocal, storeLocal, swap, swap, tableSwitch, tableSwitch, throwException, throwException, unbox, valueOf
 
Methods inherited from class org.objectweb.asm.commons.LocalVariablesSorter
newLocal, newLocalMapping, visitFrame, visitIincInsn, visitLocalVariable, visitVarInsn
 
Methods inherited from class org.objectweb.asm.MethodVisitor
visitAnnotation, visitAnnotationDefault, visitAttribute, visitEnd, visitFieldInsn, visitInsn, visitIntInsn, visitInvokeDynamicInsn, visitJumpInsn, visitLabel, visitLdcInsn, visitLineNumber, visitLookupSwitchInsn, visitMethodInsn, visitMultiANewArrayInsn, visitParameterAnnotation, visitTableSwitchInsn, visitTryCatchBlock, visitTypeInsn
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

WovenProxyConcreteMethodAdapter

public WovenProxyConcreteMethodAdapter(org.objectweb.asm.MethodVisitor mv,
                                       int access,
                                       String name,
                                       String desc,
                                       String[] exceptions,
                                       String methodStaticFieldName,
                                       org.objectweb.asm.commons.Method currentTransformMethod,
                                       org.objectweb.asm.Type typeBeingWoven,
                                       org.objectweb.asm.Type methodDeclaringType)
Method Detail

visitCode

public final void visitCode()
We weave instructions before the normal method body. We must be careful not to violate the "rules" of Java (e.g. that try blocks cannot intersect, but can be nested). We must also not violate the ordering that ASM expects, so we must not call visitMaxs, or define labels before a try/catch that uses them!

Specified by:
visitCode in class AbstractWovenProxyMethodAdapter

visitMaxs

public final void visitMaxs(int stack,
                            int locals)
Specified by:
visitMaxs in class AbstractWovenProxyMethodAdapter


Copyright © 2009-2012 The Apache Software Foundation. All Rights Reserved.