diff options
Diffstat (limited to 'third_party/checker_framework_dataflow/java/org/checkerframework/dataflow/cfg/block/Block.java')
-rw-r--r-- | third_party/checker_framework_dataflow/java/org/checkerframework/dataflow/cfg/block/Block.java | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/third_party/checker_framework_dataflow/java/org/checkerframework/dataflow/cfg/block/Block.java b/third_party/checker_framework_dataflow/java/org/checkerframework/dataflow/cfg/block/Block.java new file mode 100644 index 0000000000..09aa2d4180 --- /dev/null +++ b/third_party/checker_framework_dataflow/java/org/checkerframework/dataflow/cfg/block/Block.java @@ -0,0 +1,37 @@ +package org.checkerframework.dataflow.cfg.block; + +/** + * Represents a basic block in a control flow graph. + * + * @author Stefan Heule + * + */ +public interface Block { + + /** The types of basic blocks */ + public static 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, + } + + /** + * @return the type of this basic block + */ + BlockType getType(); + + /** + * @return the unique identifier of this block + */ + long getId(); + +} |