cn.wensiqun.asmsupport.block.control
类 Try

java.lang.Object
  继承者 cn.wensiqun.asmsupport.definition.AbstractExecuteable
      继承者 cn.wensiqun.asmsupport.block.ProgramBlock
          继承者 cn.wensiqun.asmsupport.block.control.SeriesBlock
              继承者 cn.wensiqun.asmsupport.block.control.Try
所有已实现的接口:
IBlockOperators, ArithmeticOperator, ArrayOperator, Bitwise, CreateBlockOperator, CrementOperator, LogicalOperator, MethodInvokeOperator, RelationalOperator, ThisVariableable, ValueOperator, VariableOperator, Executeable, Cloneable

public abstract class Try
extends SeriesBlock

Try语句块

作者:
温斯群(Joe Wen)

嵌套类摘要
static class Try.UnAddExceptionThrow
          throw操作 区别于Throw的是,当创建隐式的catch块的时候,不将该catch捕获的Throwable类型的异常添加到方法签名中 即方法上向上添加异常抛出声明
 
字段摘要
 
从类 cn.wensiqun.asmsupport.block.ProgramBlock 继承的字段
insnHelper, method, ownerBlock, returned, scope
 
构造方法摘要
Try()
           
 
方法摘要
 void addCatchedException(AClass exception)
          添加异常到catch的异常集合中
 void addException(AClass exception)
          添加抛出的异常到方法签名中
 Catch catchException(Catch ca)
           
 boolean checkCatchBlockException(AClass exception)
          判断是否已经catch过了异常或者catch过了其父类
 void executing()
           
 Finally finallyThan(Finally fny)
           
abstract  void generateBody()
          创建程序块内的java程序
 void generateInsn()
          override this method if want create a new block 生成操作到执行队列中去。
 ThrowExceptionContainer getCatchedExceptions()
           
 Catch getCatchEntity()
           
 org.objectweb.asm.Label getEnd()
           
 Finally getFinallyBlock()
          返回finally块
 org.objectweb.asm.Label getStart()
           
protected  void init()
           
 void setFinallyBlock(Finally finallyBlock)
           
 void setParentExes(List<Executeable> parentExes)
           
 void setParentPreExes(List<Executeable> parentPreExes)
           
 String toString()
           
 
从类 cn.wensiqun.asmsupport.block.control.SeriesBlock 继承的方法
getPrevious, setPrevious
 
从类 cn.wensiqun.asmsupport.block.ProgramBlock 继承的方法
add, addAllExe, addExe, afterDec, afterInc, append, arrayLength, arrayLength, arrayLength, arrayLength, arrayLength, arrayLoad, arrayLoad, arrayLoad, arrayLoad, arrayLoad, arrayStore, arrayStore, arrayStore, arrayStore, arrayStore, assign, beforeDec, beforeInc, bitAnd, bitOr, bitXor, breakout, checkCast, clonerGenerate, conditionalAnd, conditionalOr, continueout, createArrayVariable, createArrayVariable, createArrayVariableWithAllocateDimension, createVariable, div, dowhile, equal, equals, execute, forEach, getCopy, getExecuteBlock, getExecuteQueue, getInsnHelper, getLocalAnonymousVariableModel, getLocalVariableModel, getMethod, getMethodArguments, getMethodBody, getMethodOwner, getOwnerBlock, getPreExecuteInsn, getScope, getSuper, getThis, getThrowExceptions, greaterEqual, greaterThan, ifthan, instanceOf, inverts, invoke, invokeConstructor, invokeOriginalMethod, invokeStatic, invokeVerify, isReturned, isUnreachableCode, leftShift, lessEqual, lessThan, logicalAnd, logicalOr, logicalXor, mod, mul, neg, newArray, newArrayWithValue, newArrayWithValue, newArrayWithValue, newArrayWithValue, newArrayWithValue, not, notEqual, prepare, removeException, removeExe, replaceExe, rightShift, runReturn, runReturn, setExecuteBlock, setInsnHelper, setOwnerBlock, setReturned, setScope, setWhetherCheckUnreachableCode, sub, subBlockPrepare, subBlockPrepare, syn, ternary, throwException, tiggerTryCatchPrepare, tryDo, unsignedRightShift, whetherCheckUnreachableCode, whileloop
 
从类 java.lang.Object 继承的方法
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

构造方法详细信息

Try

public Try()
方法详细信息

addCatchedException

public void addCatchedException(AClass exception)
添加异常到catch的异常集合中

参数:
exception -

addException

public void addException(AClass exception)
从类 ProgramBlock 复制的描述
添加抛出的异常到方法签名中

覆盖:
ProgramBlock 中的 addException

generateBody

public abstract void generateBody()
创建程序块内的java程序


generateInsn

public final void generateInsn()
从类 ProgramBlock 复制的描述
override this method if want create a new block 生成操作到执行队列中去。

指定者:
ProgramBlock 中的 generateInsn

executing

public void executing()
指定者:
ProgramBlock 中的 executing

init

protected void init()
指定者:
ProgramBlock 中的 init

checkCatchBlockException

public boolean checkCatchBlockException(AClass exception)
判断是否已经catch过了异常或者catch过了其父类

参数:
exception -
返回:

catchException

public Catch catchException(Catch ca)
参数:
ca -
返回:

finallyThan

public Finally finallyThan(Finally fny)
参数:
fly -
返回:

setParentExes

public void setParentExes(List<Executeable> parentExes)

setParentPreExes

public void setParentPreExes(List<Executeable> parentPreExes)

setFinallyBlock

public void setFinallyBlock(Finally finallyBlock)

getFinallyBlock

public Finally getFinallyBlock()
返回finally块

返回:

getCatchEntity

public Catch getCatchEntity()

getStart

public org.objectweb.asm.Label getStart()

getEnd

public org.objectweb.asm.Label getEnd()

getCatchedExceptions

public ThrowExceptionContainer getCatchedExceptions()

toString

public String toString()
覆盖:
Object 中的 toString


Copyright © 2013. All Rights Reserved.