Class 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.).
    • 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 interface ru.ispras.testbase.knowledge.iterator.Iterator<java.util.List<BranchEntry>>
      • init

        public void init()
        Specified by:
        init in interface ru.ispras.testbase.knowledge.iterator.Iterator<java.util.List<BranchEntry>>
      • hasValue

        public boolean hasValue()
        Specified by:
        hasValue in interface ru.ispras.testbase.knowledge.iterator.Iterator<java.util.List<BranchEntry>>
      • next

        public void next()
        Specified by:
        next in interface ru.ispras.testbase.knowledge.iterator.Iterator<java.util.List<BranchEntry>>
      • stop

        public void stop()
        Specified by:
        stop in interface ru.ispras.testbase.knowledge.iterator.Iterator<java.util.List<BranchEntry>>
      • clone

        public BranchStructureIterator clone()
        Specified by:
        clone in interface ru.ispras.testbase.knowledge.iterator.Iterator<java.util.List<BranchEntry>>
        Overrides:
        clone in class java.lang.Object