struct Savi::Compiler::Infer::ReifiedType

Defined in:

savi/compiler/infer/reified.cr

Constructors

Instance Method Summary

Constructor Detail

def self.new(link : Savi::Program::Type::Link, args : Array(Savi::Compiler::Infer::MetaType) = [] of MetaType) #

[View source]

Instance Method Detail

def args : Array(MetaType) #

[View source]
def corresponding_partial_reification(ctx) #

[View source]
def defn(ctx) #

[View source]
def has_params?(ctx) #

[View source]
def inspect(io : IO) #
Description copied from struct Struct

Appends this struct's name and instance variables names and values to the given IO.

struct Point
  def initialize(@x : Int32, @y : Int32)
  end
end

p1 = Point.new 1, 2
p1.to_s    # "Point(@x=1, @y=2)"
p1.inspect # "Point(@x=1, @y=2)"

[View source]
def is_complete?(ctx) #

[View source]
def is_partial_reify?(ctx) #

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

[View source]
def meta_type_of(ctx : Context, ast : AST::Node, infer : Analysis = ctx.infer[@link]) : MetaType | Nil #

[View source]
def meta_type_of(ctx : Context, span : Span | Nil, infer : Analysis = ctx.infer[@link]) : MetaType | Nil #

[View source]
def meta_type_of(ctx : Context, info : Info, infer : Analysis = ctx.infer[@link]) : MetaType | Nil #

[View source]
def meta_type_of_type_param_bound(ctx : Context, index : Int, infer : Analysis = ctx.infer[@link]) : MetaType | Nil #

[View source]
def meta_type_of_type_param_default(ctx : Context, index : Int, infer : Analysis = ctx.infer[@link]) : MetaType | Nil #

[View source]
def params_count(ctx) #

[View source]
def show_type(io : IO) #

[View source]
def show_type #

[View source]
def with_additional_arg(arg : MetaType) #

[View source]