class Crystal::Macros::Generic
Overview
A generic instantiation, like Foo(T)
or Foo::Bar::Baz(T)
Defined in:
Instance Method Summary
-
#name : Path
Returns the path to the generic.
-
#named_args : NamedTupleLiteral | NilLiteral
Returns the named arguments of this instantiation, if any.
-
#resolve : ASTNode
Resolves this generic to a
TypeNode
if it denotes a type, or otherwise gives a compile-time error. -
#resolve? : ASTNode | NilLiteral
Resolves this path to a
TypeNode
if it denotes a type, or otherwise returns aNilLiteral
. -
#type_vars : ArrayLiteral(ASTNode)
Returns the arguments (the type variables) of this instantiation.
-
#types : ArrayLiteral(ASTNode)
Returns this generic inside an array literal.
Instance methods inherited from class Crystal::Macros::ASTNode
!=(other : ASTNode) : BoolLiteral
!=,
==(other : ASTNode) : BoolLiteral
==,
class_name : StringLiteral
class_name,
column_number : StringLiteral | NilLiteral
column_number,
end_column_number : StringLiteral | NilLiteral
end_column_number,
end_line_number : StringLiteral | NilLiteral
end_line_number,
filename : StringLiteral | NilLiteral
filename,
id : MacroId
id,
line_number : StringLiteral | NilLiteral
line_number,
raise(message) : NoReturn
raise,
stringify : StringLiteral
stringify,
symbolize : SymbolLiteral
symbolize
Instance methods inherited from class Reference
==(other : self)==(other : JSON::Any)
==(other : YAML::Any)
==(other) ==, dup dup, hash(hasher) hash, inspect(io : IO) : Nil inspect, object_id : UInt64 object_id, pretty_print(pp) : Nil pretty_print, same?(other : Reference)
same?(other : Nil) same?, to_s(io : IO) : Nil to_s
Constructor methods inherited from class Reference
new
new
Instance methods inherited from class Object
! : Bool
!,
!=(other)
!=,
!~(other)
!~,
==(other)
==,
===(other : JSON::Any)===(other : YAML::Any)
===(other) ===, =~(other) =~, as(type : Class) as, as?(type : Class) as?, class class, dup dup, hash(hasher)
hash hash, in?(*values : Object) : Bool
in?(collection) : Bool in?, inspect : String
inspect(io : IO) : Nil inspect, is_a?(type : Class) : Bool is_a?, itself itself, nil? : Bool nil?, not_nil! not_nil!, pretty_inspect(width = 79, newline = "\n", indent = 0) : String pretty_inspect, pretty_print(pp : PrettyPrint) : Nil pretty_print, responds_to?(name : Symbol) : Bool responds_to?, tap(&) tap, to_json(io : IO)
to_json to_json, to_pretty_json(io : IO, indent : String = " ")
to_pretty_json(indent : String = " ") to_pretty_json, to_s : String
to_s(io : IO) : Nil to_s, to_yaml(io : IO)
to_yaml to_yaml, try(&) try, unsafe_as(type : T.class) forall T unsafe_as
Class methods inherited from class Object
from_json(string_or_io, root : String)from_json(string_or_io) from_json, from_yaml(string_or_io : String | IO) from_yaml
Instance Method Detail
Returns the named arguments of this instantiation, if any.
Returns the arguments (the type variables) of this instantiation.
Returns this generic inside an array literal.
This method exists so you can call #types
on the type of a type
declaration and get all types, whether it's a Generic, Path or Union.