
org.checkerframework.dataflow.cfg.block.Block Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of dataflow-shaded Show documentation
Show all versions of dataflow-shaded Show documentation
dataflow-shaded is a dataflow framework based on the javac compiler.
It differs from the org.checkerframework:dataflow artifact in two ways.
First, the packages in this artifact have been renamed to org.checkerframework.shaded.*.
Second, unlike the dataflow artifact, this artifact contains the dependencies it requires.
package org.checkerframework.dataflow.cfg.block;
import org.checkerframework.checker.nullness.qual.Nullable;
import org.checkerframework.dataflow.cfg.node.Node;
import org.checkerframework.dataflow.qual.Pure;
import org.plumelib.util.UniqueId;
import java.util.List;
import java.util.Set;
/** Represents a basic block in a control flow graph. */
public interface Block extends UniqueId {
/** The types of basic blocks. */
enum BlockType {
/** A regular basic block. */
REGULAR_BLOCK,
/** A conditional basic block. */
CONDITIONAL_BLOCK,
/** A special basic block. */
SPECIAL_BLOCK,
/** A basic block that can throw an exception. */
EXCEPTION_BLOCK,
}
/**
* Returns the type of this basic block.
*
* @return the type of this basic block
*/
BlockType getType();
/**
* Returns the predecessors of this basic block.
*
* @return the predecessors of this basic block
*/
Set getPredecessors();
/**
* Returns the successors of this basic block.
*
* @return the successors of this basic block
*/
Set getSuccessors();
/**
* Returns the nodes contained within this basic block. The list may be empty.
*
* The following invariant holds.
*
*
* forall n in getNodes() :: n.getBlock() == this
*
*
* @return the nodes contained within this basic block
*/
@Pure
List getNodes();
/**
* Returns the last node of this block, or null if none.
*
* @return the last node of this block or {@code null}
*/
@Nullable Node getLastNode();
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy