class Crystal::Macros::Path
inherits Crystal::Macros::ASTNode
¶
A Path to a constant or type, like Foo
or Foo::Bar::Baz
.
Methods¶
#resolve : ASTNode
¶
: ASTNode
Resolves this path to a TypeNode
if it denotes a type, to
the value of a constant if it denotes a constant, or otherwise
gives a compile-time error.
#resolve? : ASTNode | NilLiteral
¶
: ASTNode | NilLiteral
Resolves this path to a TypeNode
if it denotes a type, to
the value of a constant if it denotes a constant, or otherwise
returns a NilLiteral
.
#types : ArrayLiteral(ASTNode)
¶
: ArrayLiteral(ASTNode)
Returns this path 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.