public final class ExceptionRange
extends java.lang.Object
??? This does not account for handler, or any other "statement-level" advice. When such statement level advice happens, we may want to go to a float level, so we can set the priority of advice to be lower than anything it encloses, and higher than anything enclosing it.
| Modifier and Type | Field and Description |
|---|---|
protected InstructionList |
body |
protected InstructionHandle |
end |
static Instruction |
RANGEINSTRUCTION |
protected InstructionHandle |
start |
| Constructor and Description |
|---|
ExceptionRange(InstructionList body,
UnresolvedType exceptionType,
boolean insideExisting) |
ExceptionRange(InstructionList body,
UnresolvedType exceptionType,
int priority)
After this constructor is called, this range is not well situated unless
associateWithTargets(org.aspectj.apache.bcel.generic.InstructionHandle, org.aspectj.apache.bcel.generic.InstructionHandle, org.aspectj.apache.bcel.generic.InstructionHandle) is called
XXX priority should be fixed |
| Modifier and Type | Method and Description |
|---|---|
void |
associateWithTargets(InstructionHandle start,
InstructionHandle end,
InstructionHandle handler) |
boolean |
containsTarget(InstructionHandle ih) |
boolean |
equals(java.lang.Object other) |
UnresolvedType |
getCatchType() |
InstructionHandle |
getHandler() |
int |
getPriority() |
protected static org.aspectj.weaver.bcel.Range |
getRange(InstructionHandle ih) |
int |
hashCode() |
static boolean |
isExceptionEnd(InstructionHandle ih) |
static boolean |
isExceptionStart(InstructionHandle ih) |
static boolean |
isRangeHandle(InstructionHandle ih) |
java.lang.String |
toString() |
void |
updateTarget(InstructionHandle old_ih,
InstructionHandle new_ih) |
void |
updateTarget(InstructionHandle oldIh,
InstructionHandle newIh,
InstructionList newBody) |
protected InstructionList body
protected InstructionHandle start
protected InstructionHandle end
public static final Instruction RANGEINSTRUCTION
public ExceptionRange(InstructionList body, UnresolvedType exceptionType, int priority)
associateWithTargets(org.aspectj.apache.bcel.generic.InstructionHandle, org.aspectj.apache.bcel.generic.InstructionHandle, org.aspectj.apache.bcel.generic.InstructionHandle) is called
XXX priority should be fixedpublic ExceptionRange(InstructionList body, UnresolvedType exceptionType, boolean insideExisting)
insideExisting - public void associateWithTargets(InstructionHandle start, InstructionHandle end, InstructionHandle handler)
public InstructionHandle getHandler()
public UnresolvedType getCatchType()
public int getPriority()
public java.lang.String toString()
toString in class java.lang.Objectpublic boolean equals(java.lang.Object other)
equals in class java.lang.Objectpublic int hashCode()
hashCode in class java.lang.Objectpublic void updateTarget(InstructionHandle oldIh, InstructionHandle newIh, InstructionList newBody)
public static boolean isExceptionStart(InstructionHandle ih)
public static boolean isExceptionEnd(InstructionHandle ih)
public boolean containsTarget(InstructionHandle ih)
containsTarget in interface InstructionTargeterpublic final void updateTarget(InstructionHandle old_ih, InstructionHandle new_ih)
updateTarget in interface InstructionTargeterpublic static final boolean isRangeHandle(InstructionHandle ih)
protected static final org.aspectj.weaver.bcel.Range getRange(InstructionHandle ih)