Class FanOut
java.lang.Object
org.jboss.byteman.agent.adapter.cfg.FanOut
A representation of a 1:M relation between labels/code locations. This is used to represent
branchouts in a CFG where the 1 is the label of the BBlock and the M lists outgoing normal
(non-exception) control flow. It is also used to represent the relationship between basic
blocks (identified by their primary label) and labels identifying instructions contained in
the block. Note that in the former case the use of labels allows control flow linkes to basic
blocks which have not yet been generated to be recorded.
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionFanOut
(org.objectweb.asm.Label from) construct a new empty linkFanOut
(org.objectweb.asm.Label from, org.objectweb.asm.Label to) construct a new link with one element in the target setFanOut
(org.objectweb.asm.Label from, org.objectweb.asm.Label to1, org.objectweb.asm.Label to2) construct a new link with two elements in the target set -
Method Summary
Modifier and TypeMethodDescriptionvoid
append
(org.objectweb.asm.Label to) add a new link to the target setorg.objectweb.asm.Label
getFrom()
org.objectweb.asm.Label
getTo
(int i) retrieve a link from the target set by indexint
retrieve the size of the target setIterator
<org.objectweb.asm.Label> iterator()
obtain an iterator over the target set
-
Field Details
-
from
private org.objectweb.asm.Label fromthe 1 in the 1:m -
to
the m in the 1:m
-
-
Constructor Details
-
FanOut
public FanOut(org.objectweb.asm.Label from) construct a new empty link- Parameters:
from
- the start point for all links in the set
-
FanOut
public FanOut(org.objectweb.asm.Label from, org.objectweb.asm.Label to) construct a new link with one element in the target set- Parameters:
from
- the start point for all links in the setto
- the first link target
-
FanOut
public FanOut(org.objectweb.asm.Label from, org.objectweb.asm.Label to1, org.objectweb.asm.Label to2) construct a new link with two elements in the target set- Parameters:
from
- the start point for all links in the setto1
- the first link targetto2
- the second link target
-
-
Method Details
-
getFrom
public org.objectweb.asm.Label getFrom() -
append
public void append(org.objectweb.asm.Label to) add a new link to the target set- Parameters:
to
- the target of the link
-
getTo
public org.objectweb.asm.Label getTo(int i) retrieve a link from the target set by index- Parameters:
i
- the target link index- Returns:
- a label for the target
-
getToCount
public int getToCount()retrieve the size of the target set- Returns:
- the size
-
iterator
obtain an iterator over the target set- Returns:
- an iterator
-