module Cosmo::TypeChecker
Extended Modules
Defined in:
cosmo/runtime/typechecker.crConstant Summary
-
ALIASES =
{} of String => String
-
REGISTERED =
[] of Type
-
TYPE_MAP =
{Int64 => "int", Int32 => "int", Int16 => "int", Int8 => "int", Float64 => "float", Float32 => "float", String => "string", Char => "char", Bool => "bool", Nil => "none", Function => "fn", PutsIntrinsic => "fn", Array(Int64) => "int[]", Array(Int32) => "int[]", Array(Int16) => "int[]", Array(Int8) => "int[]", Array(Float64) => "float[]", Array(Float32) => "float[]", Array(String) => "string[]", Array(Char) => "char[]", Array(Bool) => "bool[]", Array(Function) => "fn[]", Array(ValueType) => "any[]", Array => "any[]", Hash => "Table", Range(Int16 | Int32 | Int64 | Int8, Int16 | Int32 | Int64 | Int8) => "Range"}
Instance Method Summary
- #alias_type(alias_name : String, original : String) : Type
- #assert(typedef : String, value : ValueType, token : Token) : Nil
- #cast(value : T) : ValueType forall T
- #cast_array(arr : Array(T)) : Array(ValueType) forall T
- #cast_hash(hash : Hash(K, V)) : Hash(ValueType, ValueType) forall K, V
- #get_mapped(t : Class) : String
- #get_registered_type(name : String, token : Token) : Type | Nil
- #get_registered_type?(typedef : String, token : Token) : Type | Nil
- #is?(typedef : String, value, token : Token) : Bool
- #register_intrinsics
- #register_type(name : String) : Type
- #reset