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.Object
public boolean equals(java.lang.Object other)
equals
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object
public 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 InstructionTargeter
public final void updateTarget(InstructionHandle old_ih, InstructionHandle new_ih)
updateTarget
in interface InstructionTargeter
public static final boolean isRangeHandle(InstructionHandle ih)
protected static final org.aspectj.weaver.bcel.Range getRange(InstructionHandle ih)