struct Savi::Compiler::Flow::Analysis

Defined in:

savi/compiler/flow.cr

Constant Summary

ENTRY_BLOCK_INDEX = 0
EXIT_BLOCK_INDEX = 1

Constructors

Instance Method Summary

Constructor Detail

def self.new #

[View source]

Instance Method Detail

def block_at(index : Int32) : Block #

[View source]
def block_at(node : AST::Node) : Block #

[View source]
def each_possible_order_of(locations : Array(Location), &yield_block : Array(Location) -> _) #

[View source]
def entry_block #

[View source]
def exit_block #

[View source]
def jumps_away?(node) #

Convenience method for checking if the given node always jumps away, which is true if it is a literal jump, or if it is assigned to a flow block that is marked as unreachable.


[View source]
def location_of?(node : AST::Node) : Location | Nil #

[View source]