cn.wensiqun.asmsupport.operators.method
类 MethodInvoker

java.lang.Object
  继承者 cn.wensiqun.asmsupport.definition.AbstractExecuteable
      继承者 cn.wensiqun.asmsupport.operators.AbstractOperator
          继承者 cn.wensiqun.asmsupport.operators.method.MethodInvoker
所有已实现的接口:
Executeable, Parameterized, PushStackable
直接已知子类:
CommonMethodInvoker, ConstructorInvoker, MethodInvokeInvoker, StaticMethodInvoker, SuperConstructorInvoker, VariableInvoker

public abstract class MethodInvoker
extends AbstractOperator
implements Parameterized

作者:
温斯群(Joe Wen)

字段摘要
protected  Parameterized[] arguments
           
protected static String METHOD_NAME_INIT
           
protected  AClass methodOwner
           
protected  MethodEntity mtdEntity
          found method entity will be called
protected  String name
           
 
从类 cn.wensiqun.asmsupport.operators.AbstractOperator 继承的字段
allCrement, block, insnHelper
 
构造方法摘要
protected MethodInvoker(ProgramBlock block, AClass owner, String name, Parameterized[] arguments)
           
 
方法摘要
protected  void argumentsToStack()
          将方法的参数入栈
 void asArgument()
          判断当前操作或者变量是否被其他操作引用
protected  void beforeInitProperties()
           
protected  void checkAsArgument()
          invoke by OperatorFactory
protected  void checkOutCrement()
           
protected  AClass getActuallyOwner()
           
 int getModifiers()
           
 AClass getParamterizedType()
          获取当前参数化类型的返回参数
 AClass getReturnClass()
           
 org.objectweb.asm.Type getReturnType()
           
 boolean isSaveReference()
           
 void loadToStack(ProgramBlock block)
          在指定程序块内将值压入栈
 void setSaveReference(boolean saveReturn)
           
 
从类 cn.wensiqun.asmsupport.operators.AbstractOperator 继承的方法
afterInitProperties, autoCast, checkUnreachableCode, execute, executing, firstPrepareProcess, getBlock, getCompileOrder, lastPrepareProcess, prepare, verifyArgument
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

字段详细信息

METHOD_NAME_INIT

protected static String METHOD_NAME_INIT

name

protected String name

arguments

protected Parameterized[] arguments

methodOwner

protected AClass methodOwner

mtdEntity

protected MethodEntity mtdEntity
found method entity will be called

构造方法详细信息

MethodInvoker

protected MethodInvoker(ProgramBlock block,
                        AClass owner,
                        String name,
                        Parameterized[] arguments)
参数:
owner -
name -
arguments -
block -
方法详细信息

argumentsToStack

protected void argumentsToStack()
将方法的参数入栈


beforeInitProperties

protected void beforeInitProperties()
覆盖:
AbstractOperator 中的 beforeInitProperties

checkOutCrement

protected void checkOutCrement()
覆盖:
AbstractOperator 中的 checkOutCrement

checkAsArgument

protected void checkAsArgument()
从类 AbstractOperator 复制的描述
invoke by OperatorFactory

覆盖:
AbstractOperator 中的 checkAsArgument

isSaveReference

public boolean isSaveReference()

asArgument

public void asArgument()
从接口 Parameterized 复制的描述
判断当前操作或者变量是否被其他操作引用

指定者:
接口 Parameterized 中的 asArgument

loadToStack

public void loadToStack(ProgramBlock block)
从接口 PushStackable 复制的描述
在指定程序块内将值压入栈

指定者:
接口 PushStackable 中的 loadToStack

setSaveReference

public void setSaveReference(boolean saveReturn)

getReturnType

public org.objectweb.asm.Type getReturnType()

getReturnClass

public final AClass getReturnClass()

getActuallyOwner

protected AClass getActuallyOwner()

getModifiers

public int getModifiers()
返回:

getParamterizedType

public AClass getParamterizedType()
从接口 Parameterized 复制的描述
获取当前参数化类型的返回参数

指定者:
接口 Parameterized 中的 getParamterizedType
返回:


Copyright © 2013. All Rights Reserved.