class Crystal::MacroInterpreter
inherits Crystal::Visitor
¶
Class methods¶
.new(program, scope : Type, path_lookup : Type, a_macro : Macro, call, a_def : Def? = nil, in_macro = false)
¶
(program, scope : Type, path_lookup : Type, a_macro : Macro, call, a_def : Def? = nil, in_macro = false)
.new(program : Program, scope : Type, path_lookup : Type, location : Location?, vars = {} of String => ASTNode, block : Block? = nil, def __arg3 : Def? = nil, in_macro = false)
¶
(program : Program, scope : Type, path_lookup : Type, location : Location?, vars = {} of String => ASTNode, block : Block? = nil, def __arg3 : Def? = nil, in_macro = false)
Methods¶
#macro_expansion_pragmas=(macro_expansion_pragmas : Hash(Int32, Array(Lexer::LocPragma))?)
¶
(macro_expansion_pragmas : Hash(Int32, Array(Lexer::LocPragma))?)
#to_s : String
¶
: String
Returns a string representation of this object.
Descendants must usually not override this method. Instead,
they must override to_s(io)
, which must append to the given
IO object.
#visit(node : Nop | NilLiteral | BoolLiteral | NumberLiteral | CharLiteral | StringLiteral | SymbolLiteral | RangeLiteral | RegexLiteral | MacroId | TypeNode | Def)
¶
(node : Nop | NilLiteral | BoolLiteral | NumberLiteral | CharLiteral | StringLiteral | SymbolLiteral | RangeLiteral | RegexLiteral | MacroId | TypeNode | Def)