Class BranchManager.BranchNode

All Implemented Interfaces:
Serializable, Cloneable, Iterable<BranchManager.BranchNode>, Collection<BranchManager.BranchNode>, List<BranchManager.BranchNode>, RandomAccess, SequencedCollection<BranchManager.BranchNode>
Enclosing class:
BranchManager

private static class BranchManager.BranchNode extends ArrayList<BranchManager.BranchNode>
Described a code branch/block node in a tree structure.
  • Field Details

    • startPos

      private final int startPos
    • endPos

      private int endPos
    • startOp

      private final WasmBlockOperator startOp
    • endOp

      private WasmBlockOperator endOp
    • data

      private Object data
      Extra data depending of the operator. For example the return type of a block.
    • parent

      private BranchManager.BranchNode parent
    • startBlock

      private WasmBlockInstruction startBlock
      A instruction for which the return type must be calculated.
    • startIdx

      private int startIdx
      The position of the startBlock in the instructions
    • elseEndPos

      private int elseEndPos
    • continuePos

      private int continuePos
      jump position for a CONTINUE in a loop
  • Constructor Details

    • BranchNode

      BranchNode(int startPos, int endPos, WasmBlockOperator startOp, WasmBlockOperator endOp)
      Create a new description.
      Parameters:
      startPos - the start position in the Java code. Limit also the children.
      endPos - the end position in the Java code. Limit also the children.
      startOp - The WASM operation on the start position. Can be null if there is nothing in WASM.
      endOp - the WASM operation on the end position. Can be null if there is nothing in WASM.
    • BranchNode

      BranchNode(int startPos, int endPos, WasmBlockOperator startOp, WasmBlockOperator endOp, Object data)
      Create a new description.
      Parameters:
      startPos - the start position in the Java code. Limit also the children.
      endPos - the end position in the Java code. Limit also the children.
      startOp - The WASM operation on the start position. Can be null if there is nothing in WASM.
      endOp - the WASM operation on the end position. Can be null if there is nothing in WASM.
      data - extra data depending of the start operator
  • Method Details