class Magiika::TypeMeta

Overview

Typing-related metadata associated with a TypeNode.

Included Modules

Defined in:

typing/type_meta.cr

Constructors

Instance Method Summary

Instance methods inherited from module Magiika::EvalType

eval_type(scope : Scope) : TypeMeta eval_type

Constructor Detail

def self.new(id : Typing::TypeID, name : String, reference : TypeNode.class | InstTypeNode, superclass : Class) #

[View source]

Instance Method Detail

def eval_type(scope : Scope) : TypeMeta #

[View source]
def fits_exact_type!(other : TypeMeta) : Nil #

[View source]
def fits_exact_type?(other : TypeMeta) : Bool #

[View source]
def fits_type!(other : TypeMeta) : Nil #

[View source]
def fits_type?(other : TypeMeta) : Bool #

[View source]
def id : Typing::TypeID #

[View source]
def inherits_from_type!(other : TypeMeta) : Nil #

[View source]
def inherits_from_type?(other : TypeMeta) : Bool #

[View source]
def name : String #

[View source]
def reference : TypeNode.class | InstTypeNode #

[View source]
def reference_type(position : Position | Nil = nil, scope : Scope | Nil = nil) : Nil #

[View source]
def superclass : TypeMeta #

[View source]
def superclass? : TypeMeta | Nil #

[View source]
def unreference_type : Bool #

[View source]
def valid? : Bool #

[View source]