Top Interfaces Classes Enums
[default module]

Package org.jruby.ast


Interface Summary

Modifier and TypeInterface and Description
public interface
BinaryOperatorNode

Convenience interface for operations which only have two nodes

public interface
BlockAcceptingNode

Any thing which implements this represents a Callable-like node which can have a block associated with it as part of that call.

public interface
public interface
DefNode

Methods and blocks both implement these.

public interface
IArgumentNode

Does the node contain an argument list?

public interface
InvisibleNode

Marker interface for nodes invisible to IDE consumers

public interface
IScopedNode

A marker interface for scoped variables (which have an offset and depth).

public interface
public interface
LiteralValue

This represents the same function as NODE_LIT in MRI.

public interface
NonLocalControlFlowNode

Marker interface for return, break, next, redo, retry

public interface
SideEffectFree

Created by enebo on 9/26/15.

public interface

Class Summary

Modifier and TypeClass and Description
public class
AliasNode

Represents an alias statement (alias newName oldName).

public class
AndNode

Represents a && (and) operator.

public class
public class
ArgsNode

Represents the argument declarations of a method.

public class
public class
ArgumentNode

Simple Node for named entities.

public class
ArrayNode

Represents an array.

public class
public abstract class
AssignableNode

Base class of any node which can be assigned to.

public class
AttrAssignNode

Node that represents an assignment of either an array element or attribute.

public class
BackRefNode

Regexp back reference: - $& last successful match - $+ highest numbered group matched in last successful match.

public class
BeginNode

Begin/End block.

public class
BignumNode

Represents a big integer literal.

public class
BlockArgNode

An explicit block argument (&my_block) in parameter list.

public class
BlockNode

Represents a block of nodes (read that as list).

public class
BlockPassNode

Explicit block argument (on caller side): foobar(1, 2, &foo) foobar(1, 2, &lhs_which_returns_something_block/proc_like) bodyNode is any expression which can return something which is ultimately coercible to a proc.

public class
BreakNode

Represents a 'break' statement.

public class
CallNode

A method or operator call.

public class
CaseNode

A Case statement.

public class
ClassNode

A class statement (name, superClass, body).

public class
ClassVarAsgnNode

Class variable assignment node.

public class
ClassVarDeclNode

Deprecated
Class variable declaration.
public class
ClassVarNode

Access to a class variable.

public class
public class
Colon2ImplicitNode

Represents a bare class declaration (e.g. class Foo/module Foo).

public abstract class
Colon2Node

Represents a '::' constant access or method call (Java::JavaClass).

public class
Colon3Node

Global scope node (::FooBar).

public class
public class
ConstDeclNode

Declaration (and assignment) of a Constant.

public class
ConstNode

The access to a Constant.

public class
DAsgnNode

An assignment to a dynamic variable (e.g. block scope local variable).

public class
public class
DefinedNode

a defined statement.

public class
DefnNode

method definition node.

public class
DefsNode

Represents a singleton method definition.

public abstract class
DNode

Base class for all D (e.g. Dynamic) node types like DStrNode, DSymbolNode, etc...

public class
DotNode

Represents a range literal.

public class
DRegexpNode

A regexp which contains some expressions which will need to be evaluated every time the regexp is used for a match.

public class
DStrNode

A string which contains some dynamic elements which needs to be evaluated (introduced by #).

public class
DSymbolNode

Node representing symbol in a form like ':"3jane"'.

public class
DVarNode

Access a dynamic variable (e.g. block scope local variable).

public class
DXStrNode

Dynamic backquote string.

public class
EncodingNode

Represents __ENCODING__.

public class
EnsureNode

An 'ensure' statement.

public class
public class
EvStrNode

Represents an #{} expression in a string.

public class
FalseNode

Represents a false literal.

public class
FCallNode

Represents a method call with self as an implicit receiver.

public class
FileNode

Represents __FILE__ nodes

public class
public class
FixnumNode

Represents an integer literal.

public class
FlipNode

A Range in a boolean expression (named after a FlipFlop component in electronic?).

public class
FloatNode

Represents a float literal.

public class
ForNode

A 'for' statement.

public class
public class
GlobalAsgnNode

Represents an assignment to a global variable.

public class
GlobalVarNode

access to a global variable.

public class
HashNode

A Literal Hash that can represent either a {a=&b, c=&d} type expression or the list of default values or kwarg in a method call.

public class
public class
IfNode

an 'if' statement.

public class
public class
InstAsgnNode

Represents an instance variable assignment.

public class
InstVarNode

Represents an instance variable accessor.

public class
IterNode

Represents a block.

public class
public class
public class
LambdaNode

Stubby lambda node (1.9 only)

public class
public class
ListNode

All Nodes which have a list representation inherit this.

public class
LiteralNode

This is not a node in the classic sense in that it has no defined or interpret method which can be called.

public class
LocalAsgnNode

An assignment to a local variable.

public class
LocalVarNode

Access a local variable

public class
public class
public class
Match3Node

Used when a Regexp literal is the RHS of a match call.

public class
public abstract class
MethodDefNode

Base class for DefnNode and DefsNode

public class
ModuleNode

Represents a module definition.

public class
public class
NewlineNode

Note

This is a dead class but we leave it because people write against Visitor and we do not want those consumers to break.

public class
NextNode

Represents a 'next' statement.

public class
NilImplicitNode

A node which behaves like a nil node, but is not actually present in the AST as a syntactical element (e.g. IDE's should ignore occurrences of this node.

public class
NilNode

represents 'nil'

public class
public abstract class
Node

Base class for all Nodes in the AST

public class
NthRefNode

Represents a $number ($0..$9) variable.

public abstract class
NumericNode

Any node representing a numeric value.

public class
public class
public class
public class
public class
OpElementAsgnNode

Represents an operator assignment to an element.

public class
public class
OrNode

represents '||' (or) statements

public class
PatternCaseNode

A Case statement.

public class
PostExeNode

Captures END statements (END {...})

public class
PreExe19Node

A pre-execution construction (BEGIN { ...

public class
PreExeNode

A pre-execution construction (BEGIN { ...

public class
public class
RedoNode

Represents a 'redo'

public class
RegexpNode

Represents a simple regular expression literal.

public class
RequiredKeywordArgumentValueNode

Marker to indicate that rather than assigning nil (where in multiple places we have nulls getting implicitly converted to nils) we should raise an error.

public class
RescueBodyNode

Represents the contents of a rescue to be evaluated

public class
RescueModNode

f rescue nil

public class
RescueNode

Represents a rescue statement

public class
public class
RetryNode

Represents a 'retry' statement.

public class
ReturnNode

Represents a return statement.

public class
RootNode

Represents the top of the AST.

public class
SClassNode

Singleton class definition.

public class
SelfNode

Represents 'self' keyword

public class
public class
StarNode

Represents the unassignable star in a multiple assignent (e.g. a,b,* = arr).

public class
StrNode

Representing a simple String literal.

public class
SuperNode

A call to super(...) with arguments to a method.

public class
public class
SymbolNode

Represents a symbol (:symbol_name).

public class
TrueNode

Represents 'true'.

public class
UndefNode

Represents an 'undef' statement.

public class
UnnamedRestArgNode

a bare '*' or nothing.

public class
UntilNode

Represents an until statement.

public class
VAliasNode

Represents an alias of a global variable.

public class
VCallNode

RubyMethod call without any arguments

public class
WhenNode

Represents a when condition

public class
public class
WhileNode

Represents a while statement.

public class
XStrNode

A Backtick(`) string

public class
YieldNode

Represents a yield statement.

public class
ZArrayNode

zero length list

public class
ZSuperNode

a call to 'super' with no arguments in a method.

Enum Summary

Modifier and TypeEnum and Description
public enum