aboutsummaryrefslogtreecommitdiffhomepage
path: root/third_party/checker_framework_dataflow/java/org/checkerframework/dataflow/cfg/block/Block.java
diff options
context:
space:
mode:
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.java37
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();
+
+}