RubyVM::AbstractSyntaxTree::Node instances are created by parse methods in RubyVM::AbstractSyntaxTree.
This class is MRI specific.
Returns AST nodes under this one. Each kind of node has different children, depending on what kind of node it is.
The returned array may contain other nodes or nil.
# File ast.rb, line 133
def children
Primitive.ast_node_children
end
The column number in the source code where this AST’s text began.
# File ast.rb, line 106
def first_column
Primitive.ast_node_first_column
end
The line number in the source code where this AST’s text began.
# File ast.rb, line 98
def first_lineno
Primitive.ast_node_first_lineno
end
Returns debugging information about this node as a string.
# File ast.rb, line 141
def inspect
Primitive.ast_node_inspect
end
The column number in the source code where this AST’s text ended.
# File ast.rb, line 122
def last_column
Primitive.ast_node_last_column
end
The line number in the source code where this AST’s text ended.
# File ast.rb, line 114
def last_lineno
Primitive.ast_node_last_lineno
end
Returns the type of this node as a symbol.
root = RubyVM::AbstractSyntaxTree.parse("x = 1 + 2") root.type # => :SCOPE lasgn = root.children[2] lasgn.type # => :LASGN call = lasgn.children[1] call.type # => :OPCALL
# File ast.rb, line 90
def type
Primitive.ast_node_type
end