struct Savi::Compiler::XTypes::NominalCap

Defined in:

savi/compiler/xtypes/algebraic_type.cr

Constant Summary

BOX = new(Cap::BOX)
BOX_P = new(Cap::BOX_P)
ISO = new(Cap::ISO)
NON = new(Cap::NON)
REF = new(Cap::REF)
REF_P = new(Cap::REF_P)
TAG = new(Cap::TAG)
VAL = new(Cap::VAL)

Constructors

Instance Method Summary

Instance methods inherited from struct Savi::Compiler::XTypes::AlgebraicTypeSimple

aliased aliased, stabilized stabilized

Instance methods inherited from struct Savi::Compiler::XTypes::AlgebraicTypeFactor

intersect(other : AlgebraicType) intersect, viewed_from(origin) viewed_from

Instance methods inherited from struct Savi::Compiler::XTypes::AlgebraicTypeSummand

unite(other : AlgebraicType) unite

Instance methods inherited from struct Savi::Compiler::XTypes::AlgebraicType

aliased aliased, bind_variables(mapping : Hash(TypeVariable, AlgebraicType)) : Tuple(AlgebraicType, Bool) bind_variables, initialize initialize, inspect inspect, intersect(other : AlgebraicType) intersect, is_assignment_based_on_input_var? : Bool is_assignment_based_on_input_var?, observe_assignment_reciprocals(pos : Source::Pos, supertype : AlgebraicType, maybe : Bool = false) observe_assignment_reciprocals, override_cap(cap : AlgebraicType) override_cap, show show, stabilized stabilized, trace_as_assignment(cursor : Cursor) trace_as_assignment, trace_as_constraint(cursor : Cursor) trace_as_constraint, trace_call_return_as_assignment(cursor : Cursor, call : AST::Call) trace_call_return_as_assignment, viewed_from(origin) viewed_from

Constructor methods inherited from struct Savi::Compiler::XTypes::AlgebraicType

new new

Constructor Detail

def self.from_string(string : String) : NominalCap #

[View source]
def self.new(cap : UInt8) #

[View source]

Instance Method Detail

def aliased #

[View source]
def bind_variables(mapping : Hash(TypeVariable, AlgebraicType)) : Tuple(AlgebraicType, Bool) #

[View source]
def cap : Cap::Value #

[View source]
def intersect(other : AlgebraicType) #

[View source]
def observe_assignment_reciprocals(pos : Source::Pos, supertype : AlgebraicType, maybe : Bool = false) #

[View source]
def override_cap(other : AlgebraicType) #

[View source]
def show #

[View source]
def stabilized #

[View source]
def trace_as_assignment(cursor : Cursor) #

[View source]
def trace_as_constraint(cursor : Cursor) #

[View source]
def viewed_from(origin) #

[View source]