jruby/docs BETA
Navigation
org.jruby.ast 143
C AliasNode
C AndNode
C ArgsCatNode
C ArgsNode
C ArgsPushNode
C ArgumentNode
C ArrayNode
C ArrayPatternNode
C AssignableNode
C AttrAssignNode
C BackRefNode
C BeginNode
C BignumNode
I BinaryOperatorNode
I BlockAcceptingNode
C BlockArgNode
C BlockNode
C BlockPassNode
C BreakNode
C CallNode
I CanRaise
C CaseNode
C ClassNode
C ClassVarAsgnNode
C ClassVarDeclNode
C ClassVarNode
C Colon2ConstNode
C Colon2ImplicitNode
C Colon2Node
C Colon3Node
C ComplexNode
C ConstDeclNode
C ConstNode
C DAsgnNode
C DNode
C DRegexpNode
C DStrNode
C DSymbolNode
C DVarNode
C DXStrNode
C DefHolder
I DefNode
C DefinedNode
C DefnNode
C DefsNode
C DotNode
C EncodingNode
C EnsureNode
C ErrorNode
C EvStrNode
C FCallNode
C FalseNode
C FileNode
C FindPatternNode
C FixnumNode
C FlipNode
C FloatNode
C ForNode
C ForwardingBlockArgNode
C GlobalAsgnNode
C GlobalVarNode
C HashNode
C HashPatternNode
I IArgumentNode
I IScopedNode
I IScopingNode
C IfNode
C InNode
C InstAsgnNode
C InstVarNode
I InvisibleNode
C IterNode
C KeywordArgNode
C KeywordRestArgNode
C LambdaNode
C LineStubVisitor
C ListNode
C LiteralNode
I LiteralValue
C LocalAsgnNode
C LocalVarNode
C Match2CaptureNode
C Match2Node
C Match3Node
C MatchNode
C MethodDefNode
C ModuleNode
C MultipleAsgnNode
C NewlineNode
C NextNode
C NilImplicitNode
C NilNode
C NilRestArgNode
C Node
E NodeType
I NonLocalControlFlowNode
C NthRefNode
C NumericNode
C OpAsgnAndNode
C OpAsgnConstDeclNode
C OpAsgnNode
C OpAsgnOrNode
C OpElementAsgnNode
C OptArgNode
C OrNode
C PatternCaseNode
C PostExeNode
C PreExe19Node
C PreExeNode
C RationalNode
C RedoNode
C RegexpNode
C RequiredKeywordArgumentValueNode
C RescueBodyNode
C RescueModNode
C RescueNode
C RestArgNode
C RetryNode
C ReturnNode
C RootNode
C SClassNode
C SValueNode
C SelfNode
I SideEffectFree
C SplatNode
C StarNode
C StrNode
C SuperNode
C SymbolNode
C TrueNode
I TwoValueNode
C UndefNode
C UnnamedRestArgNode
C UntilNode
C VAliasNode
C VCallNode
C WhenNode
C WhenOneArgNode
C WhileNode
C XStrNode
C YieldNode
C ZArrayNode
C ZSuperNode
RootNode — members 13+
C new(line, scope, body_node, file)
C new(line, scope, body_node, file, coverage_mode)
M accept(i_visitor) T
M ast() Object
M body_node() Node
M child_nodes() Node>
M coverage_mode() int
M dynamic_scope() DynamicScope
M encoding() Encoding
M executes_once() boolean
M file() String
M node_type() NodeType
M static_scope() StaticScope
from Node
M contains_variable_assignment() boolean
M line() int
C line=(line)
M needs_definition_check() boolean
M newline?() boolean
M nil?() boolean
C set_newline()
M to_string() String
M to_string(indent, indentation) String
M to_string_extra_info() String
C unset_newline()
from ParseResult
M line() int

org.jruby.ast.RootNode

class extends Node implements ParseResult 13 members

Represents the top of the AST. This is a node not present in MRI. It was created to hold the top-most static scope in an easy to grab way and it also exists to hold BEGIN and END nodes. These can then be interpreted/compiled in the same places as the rest of the code.

Constructors

new

new ( int line, DynamicScope scope, Node body_node, String file )
Java: <init>(int line, org.jruby.runtime.DynamicScope scope, org.jruby.ast.Node bodyNode, String file)

new

new ( int line, DynamicScope scope, Node body_node, String file, int coverage_mode )
Java: <init>(int line, org.jruby.runtime.DynamicScope scope, org.jruby.ast.Node bodyNode, String file, int coverageMode)

Instance Methods

accept

T accept ( NodeVisitor<T> i_visitor )
Java: accept(org.jruby.ast.visitor.NodeVisitor<T> iVisitor)

ast

Object ast ( )
Java: getAST() · also: get_ast

body_node

Node body_node ( )
Java: getBodyNode() · also: get_body_node

First real AST node to be interpreted

Returns: real top AST node

child_nodes

List<Node> child_nodes ( )
Java: childNodes()

coverage_mode

int coverage_mode ( )
Java: getCoverageMode() · also: get_coverage_mode

dynamic_scope

DynamicScope dynamic_scope ( )
Java: getDynamicScope() · also: get_dynamic_scope

Return the dynamic scope for this AST. The variable backed by this is transient so for serialization this is null. In that case we use staticScope to rebuild the dynamic scope. The real reason for this method is supporting bindings+eval. We need to pass our live dynamic scope in so when we eval we can use that dynamic scope.

Returns: dynamic scope of this AST

encoding

Encoding encoding ( )
Java: getEncoding() · also: get_encoding

executes_once

boolean executes_once ( )
Java: executesOnce()

file

String file ( )
Java: getFile() · also: get_file

node_type

NodeType node_type ( )
Java: getNodeType() · also: get_node_type

static_scope

StaticScope static_scope ( )
Java: getStaticScope() · also: get_static_scope

The static scoping relationships that should get set first thing before interpretation of the code represented by this AST. Actually, we use getScope first since that also can contain a live dynamic scope. We rely on this method only for interpreting a root node from a serialized format.

Returns: the top static scope for the AST

Inherited

from Node

contains_variable_assignment

boolean contains_variable_assignment ( )
Java: containsVariableAssignment()

Does this node or one of its children contain an assignment?

line

int line ( )
Java: getLine() · also: get_line

line=

line= ( int line )
Java: setLine(int line) · also: set_line

needs_definition_check

boolean needs_definition_check ( )
Java: needsDefinitionCheck()

Check whether the given node is considered always "defined" or whether it has some form of definition check.

Returns: Whether the type of node represents a possibly undefined construct

newline?

boolean newline? ( )
Java: isNewline() · also: is_newline

nil?

boolean nil? ( )
Java: isNil() · also: is_nil

Whether the node evaluates to nil and has no side effects.

Returns: true if nil, false otherwise

set_newline

set_newline ( )
Java: setNewline()

to_string

String to_string ( )
Java: toString()

to_string

String to_string ( boolean indent, int indentation )
Java: toString(boolean indent, int indentation)

to_string_extra_info

String to_string_extra_info ( )
Java: toStringExtraInfo()

Not all interesting info in the AST is from Node data. This method will print out anything else of note (e.g. FixnumNode's long value).

Returns: null for no extra info or something otherwise.

unset_newline

unset_newline ( )
Java: unsetNewline()

from ParseResult

line

int line ( )
Java: getLine() · also: get_line