module
Crystal::GenericType
Overview
A non-instantiated generic type, like Array(T), Hash(K, V) or Enumerable(T).
Included Modules
Direct including types
Defined in:
compiler/crystal/semantic/path_lookup.crcompiler/crystal/types.cr
Instance Method Summary
- #add_inherited(type)
- #add_instance_var_initializer(name, value, meta_vars)
-
#double_variadic=(double_variadic)
Is it
**? Currently only NamedTuple is. -
#double_variadic?
Is it
**? Currently only NamedTuple is. - #each_instantiated_type(&)
- #inherited : Array(Type) | Nil
- #instantiate(type_vars)
- #instantiated_generic_superclass(instance)
-
#instantiated_types
Returns an array of all instantiations of this generic type.
- #lookup_path_item(name : String, lookup_self, lookup_in_namespace, include_private, location)
- #notify_parents_subclass_added(type)
- #run_instance_var_initializer(initializer, instance : GenericClassInstanceType | NonGenericClassType)
- #run_instance_var_initializer(initializer, instance)
- #run_instance_vars_initializers(real_type, type : GenericClassType | ClassType, instance)
- #run_instance_vars_initializers(real_type, type, instance)
-
#splat_index : Int32 | Nil
The index of the
*in the type variables. -
#splat_index=(splat_index : Int32 | Nil)
The index of the
*in the type variables. -
#type_parameter(name) : TypeParameter
Returns a TypeParameter relative to this type
- #type_var?(name)
-
#type_vars : Array(String)
The type variable names (K and V in Hash).
Instance methods inherited from module Crystal::InstanceVarContainer
instance_vars
instance_vars
Instance Method Detail
def instantiated_types
#
Returns an array of all instantiations of this generic type. NamedTupleType overrides this because it doesn't use positional type arguments.
def run_instance_var_initializer(initializer, instance : GenericClassInstanceType | NonGenericClassType)
#
The index of the * in the type variables.