org.jruby.ast
Class ForNode

java.lang.Object
  extended by org.jruby.ast.Node
      extended by org.jruby.ast.IterNode
          extended by org.jruby.ast.ForNode
All Implemented Interfaces:
ISourcePositionHolder

public class ForNode
extends IterNode

A 'for' statement. This is implemented using iter and that is how MRI does things, but 'for's do not have their own stack, so doing this way is mildly painful.

See Also:
IterNode

Field Summary
 CallSite callAdapter
           
 
Fields inherited from class org.jruby.ast.Node
ASSIGNMENT_BYTELIST, CLASS_VARIABLE_BYTELIST, CONSTANT_BYTELIST, EXPRESSION_BYTELIST, FALSE_BYTELIST, GLOBAL_VARIABLE_BYTELIST, INSTANCE_VARIABLE_BYTELIST, LOCAL_VARIABLE_BYTELIST, LOCAL_VARIABLE_IN_BLOCK_BYTELIST, METHOD_BYTELIST, NIL_BYTELIST, SELF_BYTELIST, SUPER_BYTELIST, TRUE_BYTELIST, YIELD_BYTELIST
 
Constructor Summary
ForNode(ISourcePosition position, Node varNode, Node bodyNode, Node iterNode, StaticScope scope)
           
 
Method Summary
 java.lang.Object accept(NodeVisitor iVisitor)
          Accept for the visitor pattern.
 java.util.List<Node> childNodes()
           
 Node getIterNode()
           
 NodeType getNodeType()
           
 IRubyObject interpret(Ruby runtime, ThreadContext context, IRubyObject self, Block aBlock)
           
 
Methods inherited from class org.jruby.ast.IterNode
getArgumentType, getBlockBody, getBlockVarNode, getBodyNode, getScope, getVarNode
 
Methods inherited from class org.jruby.ast.Node
assign, createList, definition, getNodeName, getPosition, isInvisible, setPosition, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

callAdapter

public final CallSite callAdapter
Constructor Detail

ForNode

public ForNode(ISourcePosition position,
               Node varNode,
               Node bodyNode,
               Node iterNode,
               StaticScope scope)
Method Detail

getNodeType

public NodeType getNodeType()
Overrides:
getNodeType in class IterNode
Returns:
the nodeId

getIterNode

public Node getIterNode()

accept

public java.lang.Object accept(NodeVisitor iVisitor)
Accept for the visitor pattern.

Overrides:
accept in class IterNode
Parameters:
iVisitor - the visitor

childNodes

public java.util.List<Node> childNodes()
Overrides:
childNodes in class IterNode

interpret

public IRubyObject interpret(Ruby runtime,
                             ThreadContext context,
                             IRubyObject self,
                             Block aBlock)
Overrides:
interpret in class IterNode


Copyright © 2002-2009 JRuby Team. All Rights Reserved.