blob: 8d383026ee1811720132e10b560e7836e75e1a2c [file] [log] [blame]
package org.checkerframework.dataflow.cfg.block;
import org.checkerframework.checker.nullness.qual.Nullable;
import org.checkerframework.dataflow.analysis.Store.FlowRule;
import org.checkerframework.dataflow.qual.Pure;
/** A basic block that has at exactly one non-exceptional successor. */
public interface SingleSuccessorBlock extends Block {
/**
* Returns the non-exceptional successor block, or {@code null} if there is no non-exceptional
* successor.
*
* @return the non-exceptional successor block, or {@code null} if there is no non-exceptional
* successor
*/
@Pure
@Nullable Block getSuccessor();
/**
* Returns the flow rule for information flowing from this block to its successor.
*
* @return the flow rule for information flowing from this block to its successor
*/
@Pure
FlowRule getFlowRule();
/**
* Set the flow rule for information flowing from this block to its successor.
*
* @param rule the new flow rule for information flowing from this block to its successor
*/
void setFlowRule(FlowRule rule);
}