abstract struct Savi::Compiler::XTypes::AlgebraicType

Direct Known Subclasses

Defined in:

savi/compiler/xtypes/algebraic_type.cr

Constructors

Instance Method Summary

Constructor Detail

def self.new #

[View source]

Instance Method Detail

def aliased #

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

[View source]
def initialize #

[View source]
def inspect #
Description copied from class Object

Returns an unambiguous and information-rich string representation of this object, typically intended for developers.

This method should usually not be overridden. It delegates to #inspect(IO) which can be overridden for custom implementations.

Also see #to_s.


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

[View source]
def is_assignment_based_on_input_var? : Bool #

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

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

[View source]
abstract 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 trace_call_return_as_assignment(cursor : Cursor, call : AST::Call) #

[View source]
def viewed_from(origin) #

[View source]