Class BranchStructureIterator
- java.lang.Object
-
- ru.ispras.microtesk.test.engine.branch.BranchStructureIterator
-
- All Implemented Interfaces:
ru.ispras.testbase.knowledge.iterator.Iterator<java.util.List<BranchEntry>>
public final class BranchStructureIterator extends java.lang.Object implements ru.ispras.testbase.knowledge.iterator.Iterator<java.util.List<BranchEntry>>
BranchExecutionIterator
implements an iterator of valid branch structures for given branch instructions (conditional and unconditional jumps, procedures calls, etc.).
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
BranchStructureIterator.Flags
-
Field Summary
Fields Modifier and Type Field Description static java.util.EnumSet<BranchStructureIterator.Flags>
DEFAULT_FLAGS
Heuristics flags used by default.
-
Constructor Summary
Constructors Constructor Description BranchStructureIterator(int ifThenNumber, int gotoNumber, int blockNumber, int slotNumber, boolean delaySlot, int minLength, int maxLength, int minBranchNumber, int maxBranchNumber, int maxBranchExecution)
BranchStructureIterator(int ifThenNumber, int gotoNumber, int blockNumber, int slotNumber, boolean delaySlot, int minLength, int maxLength, int minBranchNumber, int maxBranchNumber, int maxBranchExecution, java.util.EnumSet<BranchStructureIterator.Flags> flags)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description BranchStructureIterator
clone()
boolean
hasValue()
void
init()
void
next()
void
stop()
java.util.List<BranchEntry>
value()
-
-
-
Field Detail
-
DEFAULT_FLAGS
public static final java.util.EnumSet<BranchStructureIterator.Flags> DEFAULT_FLAGS
Heuristics flags used by default.
-
-
Constructor Detail
-
BranchStructureIterator
public BranchStructureIterator(int ifThenNumber, int gotoNumber, int blockNumber, int slotNumber, boolean delaySlot, int minLength, int maxLength, int minBranchNumber, int maxBranchNumber, int maxBranchExecution, java.util.EnumSet<BranchStructureIterator.Flags> flags)
-
BranchStructureIterator
public BranchStructureIterator(int ifThenNumber, int gotoNumber, int blockNumber, int slotNumber, boolean delaySlot, int minLength, int maxLength, int minBranchNumber, int maxBranchNumber, int maxBranchExecution)
-
-
Method Detail
-
value
public java.util.List<BranchEntry> value()
- Specified by:
value
in interfaceru.ispras.testbase.knowledge.iterator.Iterator<java.util.List<BranchEntry>>
-
init
public void init()
- Specified by:
init
in interfaceru.ispras.testbase.knowledge.iterator.Iterator<java.util.List<BranchEntry>>
-
hasValue
public boolean hasValue()
- Specified by:
hasValue
in interfaceru.ispras.testbase.knowledge.iterator.Iterator<java.util.List<BranchEntry>>
-
next
public void next()
- Specified by:
next
in interfaceru.ispras.testbase.knowledge.iterator.Iterator<java.util.List<BranchEntry>>
-
stop
public void stop()
- Specified by:
stop
in interfaceru.ispras.testbase.knowledge.iterator.Iterator<java.util.List<BranchEntry>>
-
clone
public BranchStructureIterator clone()
- Specified by:
clone
in interfaceru.ispras.testbase.knowledge.iterator.Iterator<java.util.List<BranchEntry>>
- Overrides:
clone
in classjava.lang.Object
-
-