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.