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

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.WovenProxyAbstractMethodAdapter

public final class WovenProxyAbstractMethodAdapter
extends AbstractWovenProxyMethodAdapter

Used to create a delegating method implementation for methods with no body


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
WovenProxyAbstractMethodAdapter(org.objectweb.asm.MethodVisitor mv, int access, String name, String desc, String methodStaticFieldName, org.objectweb.asm.commons.Method currentTransformMethod, org.objectweb.asm.Type typeBeingWoven, org.objectweb.asm.Type methodDeclaringType, boolean isMethodDeclaringTypeInterface)
           
 
Method Summary
 void visitCode()
          We write dispatch code here because we have no real method body
 void visitEnd()
          We don't get the code and maxs calls for interfaces, so we add them here
 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, 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

WovenProxyAbstractMethodAdapter

public WovenProxyAbstractMethodAdapter(org.objectweb.asm.MethodVisitor mv,
                                       int access,
                                       String name,
                                       String desc,
                                       String methodStaticFieldName,
                                       org.objectweb.asm.commons.Method currentTransformMethod,
                                       org.objectweb.asm.Type typeBeingWoven,
                                       org.objectweb.asm.Type methodDeclaringType,
                                       boolean isMethodDeclaringTypeInterface)
Method Detail

visitCode

public final void visitCode()
We write dispatch code here because we have no real method body

Specified by:
visitCode in class AbstractWovenProxyMethodAdapter

visitMaxs

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

visitEnd

public final void visitEnd()
We don't get the code and maxs calls for interfaces, so we add them here

Overrides:
visitEnd in class org.objectweb.asm.MethodVisitor


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