abstract class Magiika::InstTypeNode

Overview

TypeNode where each instance can have its own TypeMeta in addition to the class-level TypeMeta that comes with TypeNode.

Included Modules

Direct Known Subclasses

Defined in:

typing/type_node.cr

Class Method Summary

Instance Method Summary

Instance methods inherited from module Magiika::HasTypeMeta

type_meta : TypeMeta type_meta, type_meta? : TypeMeta | Nil type_meta?

Instance methods inherited from class Magiika::TypeNode

eval_type(scope : Scope) : TypeMeta eval_type, type_meta : TypeMeta type_meta

Class methods inherited from class Magiika::TypeNode

eval_type(scope : Scope) : TypeMeta eval_type, type_base? : ::Bool type_base?, type_name : String type_name

Instance methods inherited from module Magiika::EvalType

eval_type(scope : Scope) : TypeMeta eval_type

Instance methods inherited from class Magiika::Node

eval(scope : Scope) : Node eval, eval_bool(scope : Scope) : ::Bool eval_bool, position : Position position, position! : Position position!, position? : Position | ::Nil position?, to_s : String to_s, to_s_internal : String to_s_internal, type_name : String type_name

Constructor methods inherited from class Magiika::Node

new(position : Position | ::Nil = nil) new

Class methods inherited from class Magiika::Node

to_s : String to_s, to_s_internal : String to_s_internal, type_name : String type_name

Class Method Detail

def self.type_base? : ::Bool #

TypeNode where each instance can have its own TypeMeta in addition to the class-level TypeMeta that comes with TypeNode.


[View source]
def self.type_meta : TypeMeta #

TypeNode where each instance can have its own TypeMeta in addition to the class-level TypeMeta that comes with TypeNode.


[View source]
def self.type_meta? : TypeMeta | ::Nil #

TypeNode where each instance can have its own TypeMeta in addition to the class-level TypeMeta that comes with TypeNode.


[View source]
def self.type_name : String #

TypeNode where each instance can have its own TypeMeta in addition to the class-level TypeMeta that comes with TypeNode.


[View source]

Instance Method Detail

def reference_type(position : Position | ::Nil = nil, scope : Scope | ::Nil = nil) : TypeMeta #

[View source]
def type_meta : TypeMeta #

TypeNode where each instance can have its own TypeMeta in addition to the class-level TypeMeta that comes with TypeNode.


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

TypeNode where each instance can have its own TypeMeta in addition to the class-level TypeMeta that comes with TypeNode.


[View source]
def unreference_type : ::Bool #

[View source]