diff options
Diffstat (limited to 'third_party/checker_framework_dataflow/java/org/checkerframework/dataflow/cfg/block/SpecialBlock.java')
-rw-r--r-- | third_party/checker_framework_dataflow/java/org/checkerframework/dataflow/cfg/block/SpecialBlock.java | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/third_party/checker_framework_dataflow/java/org/checkerframework/dataflow/cfg/block/SpecialBlock.java b/third_party/checker_framework_dataflow/java/org/checkerframework/dataflow/cfg/block/SpecialBlock.java new file mode 100644 index 0000000000..805a3b5135 --- /dev/null +++ b/third_party/checker_framework_dataflow/java/org/checkerframework/dataflow/cfg/block/SpecialBlock.java @@ -0,0 +1,34 @@ +package org.checkerframework.dataflow.cfg.block; + +/** + * Represents a special basic block; i.e., one of the following: + * <ul> + * <li>Entry block of a method.</li> + * <li>Regular exit block of a method.</li> + * <li>Exceptional exit block of a method.</li> + * </ul> + * + * @author Stefan Heule + * + */ +public interface SpecialBlock extends SingleSuccessorBlock { + + /** The types of special basic blocks */ + public static enum SpecialBlockType { + + /** The entry block of a method */ + ENTRY, + + /** The exit block of a method */ + EXIT, + + /** A special exit block of a method for exceptional termination */ + EXCEPTIONAL_EXIT, + } + + /** + * @return the type of this special basic block + */ + SpecialBlockType getSpecialType(); + +} |