cn.wensiqun.asmsupport.block.operator
接口 VariableOperator

所有已知子接口:
IBlockOperators, ICInitBody, IEnumCInitBody, IEnumInitBody, IInitBody
所有已知实现类:
Catch, CInitBody, CommonMethodBody, ControlBlock, DoWhileLoop, Else, ElseIF, EnumCInitBody, EnumInitBody, Finally, ForEachLoop, IF, InitBody, MethodBodyForModify, ProgramBlock, SeriesBlock, StaticMethodBody, SuperMethodBody, Synchronized, Try, WhileLoop

public interface VariableOperator

变量操作


方法摘要
 Assigner assign(MemberVariable mv, Parameterized val)
          assign a value to a variable. for exampel: java code:
i = 10; asmsupport code:
assign(i, getValue(10));
 LocalVariable createArrayVariable(String name, ArrayClass aClass, boolean anonymous, Object parameterizedArray)
           
 LocalVariable createArrayVariable(String name, ArrayClass aClass, boolean anonymous, Parameterized value)
           
 LocalVariable createArrayVariableWithAllocateDimension(String name, ArrayClass aClass, boolean anonymous, Parameterized... allocateDim)
          创建数组变量,可分配数组空间大小 createArrayVariableWithAllocateDimension("array", AClassFactory.getArrayClass(String[][].class), false, null) --> String[][] array = null; createArrayVariableWithAllocateDimension("array", AClassFactory.getArrayClass(String[][].class), false, Value.value(3)) --> String[][] array = new String[3][]; createArrayVariableWithAllocateDimension("array", AClassFactory.getArrayClass(String[][].class), false, Value.value(3), Value.value(2)) --> String[][] array = new String[3][2];
 LocalVariable createVariable(String name, AClass aClass, boolean anonymous, Parameterized para)
          create a local variable
 

方法详细信息

createVariable

LocalVariable createVariable(String name,
                             AClass aClass,
                             boolean anonymous,
                             Parameterized para)
create a local variable

参数:
name - variable name.
aClass - variable type.
anonymous - true will not put the variable to "local variable table". in other world, the name will be invalid.
para - this variable initial value, set to null if you want the initial is null.
返回:
the LocalVariable

createArrayVariableWithAllocateDimension

LocalVariable createArrayVariableWithAllocateDimension(String name,
                                                       ArrayClass aClass,
                                                       boolean anonymous,
                                                       Parameterized... allocateDim)

创建数组变量,可分配数组空间大小

 createArrayVariableWithAllocateDimension("array", AClassFactory.getArrayClass(String[][].class), false, null) --> String[][] array = null;
 createArrayVariableWithAllocateDimension("array", AClassFactory.getArrayClass(String[][].class), false, Value.value(3)) --> String[][] array = new String[3][];
 createArrayVariableWithAllocateDimension("array", AClassFactory.getArrayClass(String[][].class), false, Value.value(3), Value.value(2)) --> String[][] array = new String[3][2];
 

参数:
name - 变量名
aClass - 数组类型
anonymous - 是否匿名
allocateDim - 预分配的数组空间
返回:

createArrayVariable

LocalVariable createArrayVariable(String name,
                                  ArrayClass aClass,
                                  boolean anonymous,
                                  Parameterized value)
参数:
name -
aClass -
value -
返回:

createArrayVariable

LocalVariable createArrayVariable(String name,
                                  ArrayClass aClass,
                                  boolean anonymous,
                                  Object parameterizedArray)
参数:
name -
aClass -
parameterizedArray -
返回:

assign

Assigner assign(MemberVariable mv,
                Parameterized val)
assign a value to a variable. for exampel: java code:
 i = 10;
 
asmsupport code:
 assign(i, getValue(10));
 

参数:
mv -
val -
返回:


Copyright © 2013. All Rights Reserved.