org.jruby.ast
Class WhileNode

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

public class WhileNode
extends Node

Represents a while statement. This could be the both versions: while <condition> <body> end and <body> 'while' <condition>


Field Summary
 boolean containsNonlocalFlow
           
 
Constructor Summary
WhileNode(ISourcePosition position, Node conditionNode, Node bodyNode)
           
WhileNode(ISourcePosition position, Node conditionNode, Node bodyNode, boolean evalAtStart)
           
 
Method Summary
 java.lang.Object accept(NodeVisitor iVisitor)
          Accept for the visitor pattern.
 java.util.List<Node> childNodes()
           
 boolean evaluateAtStart()
          Determine whether this is while or do while
 Node getBodyNode()
          Gets the bodyNode.
 Node getConditionNode()
          Gets the conditionNode.
 NodeType getNodeType()
           
 IRubyObject interpret(Ruby runtime, ThreadContext context, IRubyObject self, Block aBlock)
           
 
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

containsNonlocalFlow

public boolean containsNonlocalFlow
Constructor Detail

WhileNode

public WhileNode(ISourcePosition position,
                 Node conditionNode,
                 Node bodyNode)

WhileNode

public WhileNode(ISourcePosition position,
                 Node conditionNode,
                 Node bodyNode,
                 boolean evalAtStart)
Method Detail

getNodeType

public NodeType getNodeType()
Specified by:
getNodeType in class Node
Returns:
the nodeId

accept

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

Specified by:
accept in class Node
Parameters:
iVisitor - the visitor

getBodyNode

public Node getBodyNode()
Gets the bodyNode.

Returns:
Returns a Node

getConditionNode

public Node getConditionNode()
Gets the conditionNode.

Returns:
Returns a Node

evaluateAtStart

public boolean evaluateAtStart()
Determine whether this is while or do while

Returns:
true if you are a while, false if do while

childNodes

public java.util.List<Node> childNodes()
Specified by:
childNodes in class Node

interpret

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


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