public final class LabelInfo extends Object
Label.info
objects to store flow
and instrumentation specific information. The information is only valid
locally in specific contexts.Modifier and Type | Field and Description |
---|---|
static int |
NO_PROBE
Reserved ID for "no probe".
|
Modifier and Type | Method and Description |
---|---|
static Instruction |
getInstruction(org.objectweb.asm.Label label)
Returns the corresponding instruction for the given label if one has been
defined.
|
static org.objectweb.asm.Label |
getIntermediateLabel(org.objectweb.asm.Label label)
Returns the intermediate label for the given label if one has been
defined.
|
static int |
getProbeId(org.objectweb.asm.Label label)
Returns the assigned probe id.
|
static boolean |
isDone(org.objectweb.asm.Label label)
Checks whether this label is marked as done.
|
static boolean |
isMultiTarget(org.objectweb.asm.Label label)
Checks whether multiple control paths lead to a label.
|
static boolean |
isSuccessor(org.objectweb.asm.Label label)
Checks whether this label is the possible successor of the previous
instruction in the method.
|
static void |
resetDone(org.objectweb.asm.Label label)
Resets the "done" status of a given label.
|
static void |
resetDone(org.objectweb.asm.Label[] labels)
Resets the "done" status of all given labels.
|
static void |
setDone(org.objectweb.asm.Label label)
Mark a given label as done.
|
static void |
setInstruction(org.objectweb.asm.Label label,
Instruction instruction)
Sets the instruction corresponding to this label.
|
static void |
setIntermediateLabel(org.objectweb.asm.Label label,
org.objectweb.asm.Label intermediate)
Defines an intermediate label for the given label.
|
static void |
setProbeId(org.objectweb.asm.Label label,
int id)
Sets the given probe id to the given label.
|
static void |
setSuccessor(org.objectweb.asm.Label label)
Defines that the given label is the possible successor of the previous
instruction in the method.
|
static void |
setTarget(org.objectweb.asm.Label label)
Defines that the given label is a jump target.
|
public static final int NO_PROBE
public static void setTarget(org.objectweb.asm.Label label)
label
- label to definepublic static void setSuccessor(org.objectweb.asm.Label label)
label
- label to definepublic static boolean isMultiTarget(org.objectweb.asm.Label label)
label
- label to checktrue
if the given multiple control paths lead to the
given labelpublic static boolean isSuccessor(org.objectweb.asm.Label label)
label
- label to checktrue
if the label is a possible instruction
successorpublic static void setDone(org.objectweb.asm.Label label)
label
- label to markpublic static void resetDone(org.objectweb.asm.Label label)
label
- label to resetpublic static void resetDone(org.objectweb.asm.Label[] labels)
labels
- labels to resetpublic static boolean isDone(org.objectweb.asm.Label label)
label
- label to checktrue
if this label is marked as donepublic static void setProbeId(org.objectweb.asm.Label label, int id)
label
- label to assign a probe toid
- id of the probepublic static int getProbeId(org.objectweb.asm.Label label)
label
- label to checkNO_PROBE
if no probe is assigned to the
labelpublic static void setIntermediateLabel(org.objectweb.asm.Label label, org.objectweb.asm.Label intermediate)
label
- label to define forintermediate
- intermediate labelpublic static org.objectweb.asm.Label getIntermediateLabel(org.objectweb.asm.Label label)
label
- label to look fornull
public static void setInstruction(org.objectweb.asm.Label label, Instruction instruction)
label
- label to set the instruction forinstruction
- corresponding instructionpublic static Instruction getInstruction(org.objectweb.asm.Label label)
label
- label to look fornull
Copyright © 2016. All rights reserved.