Package-level declarations

Types

Link copied to clipboard

The ordering will be as follows: BOTTOM (no information) < UNREACHABLE < REACHABLE (= Top of the lattice)

Link copied to clipboard
class ReachabilityLattice(val elements: Reachability) : LatticeElement<Reachability>

Implements the LatticeElement over reachability properties: TOP | REACHABLE | UNREACHABLE | BOTTOM

Link copied to clipboard
class UnreachabilityState : State<PropertyEdge<Node>, Reachability>

A state which actually holds a state for all PropertyEdges, one only for declarations and one for ReturnStatements.

Link copied to clipboard
class UnreachableEOGPass(ctx: TranslationContext) : TranslationUnitPass

A Pass which uses a simple logic to determine constant values and mark unreachable code regions by setting the Properties.UNREACHABLE property of an eog-edge to true.

Functions

Link copied to clipboard
fun transfer(currentEdge: PropertyEdge<Node>, currentState: State<PropertyEdge<Node>, Reachability>, currentWorklist: Worklist<PropertyEdge<Node>, PropertyEdge<Node>, Reachability>): State<PropertyEdge<Node>, Reachability>

This method is executed for each EOG edge which is in the worklist. currentEdge is the edge to process, currentState contains the state which was observed before arriving here.