struct Savi::Compiler::XTypes::NominalType

Defined in:

savi/compiler/xtypes/algebraic_type.cr

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.new(link : Savi::Program::Type::Link, args : Nil | Array(Savi::Compiler::XTypes::AlgebraicType) = nil) #

[View source]

Instance Method Detail

def aliased #

[View source]
def args : Array(AlgebraicType) | Nil #

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

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

[View source]
def link : Program::Type::Link #

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

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

[View source]
def show #

[View source]
def stabilized #

[View source]
def viewed_from(origin) #

[View source]