class Crystal::Macros::Path

Overview

A Path to a constant or type, like Foo or Foo::Bar::Baz.

Defined in:

compiler/crystal/macros.cr

Instance Method Summary

Instance Method Detail

def global : BoolLiteralSource

Returns true if this is a global path (starts with ::)

DEPRECATED Use #global? instead

def global? : BoolLiteralSource

Returns true if this is a global path (starts with ::)

def names : ArrayLiteral(MacroId)Source

Returns an array with each separate part of this path.

def resolve : ASTNodeSource

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.

def resolve? : ASTNode | NilLiteralSource

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.

def types : ArrayLiteral(ASTNode)Source

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.

© 2012–2021 Manas Technology Solutions.
Licensed under the Apache License, Version 2.0.
https://crystal-lang.org/api/1.2.1/Crystal/Macros/Path.html