org.jruby.ast
Class FlipNode

java.lang.Object
  extended by org.jruby.ast.Node
      extended by org.jruby.ast.FlipNode
All Implemented Interfaces:
java.io.Serializable, InstructionContext, ISourcePositionHolder

public class FlipNode
extends Node

a Range in a boolean expression. named after a FlipFlop component in electronic I believe.

Author:
jpetersen
See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.jruby.ast.Node
instruction, nodeId
 
Constructor Summary
FlipNode(ISourcePosition position, Node beginNode, Node endNode, boolean exclusive, int location)
           
 
Method Summary
 Instruction accept(NodeVisitor iVisitor)
          Accept for the visitor pattern.
 java.util.List childNodes()
           
 Node getBeginNode()
          Gets the beginNode.
 int getDepth()
          How many scopes should we burrow down to until we need to set the block variable value.
 Node getEndNode()
          Gets the endNode.
 int getIndex()
          Gets the index within the scope construct that actually holds the eval'd value of this local variable
 boolean isExclusive()
          Gets the exclusive.
 
Methods inherited from class org.jruby.ast.Node
addComment, addComments, createList, createList, createList, createList, getComments, getNodeName, getPosition, getPositionIncludingComments, hasComments, setPosition, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

FlipNode

public FlipNode(ISourcePosition position,
                Node beginNode,
                Node endNode,
                boolean exclusive,
                int location)
Method Detail

accept

public Instruction accept(NodeVisitor iVisitor)
Accept for the visitor pattern.

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

getBeginNode

public Node getBeginNode()
Gets the beginNode. beginNode will set the FlipFlop the first time it is true

Returns:
Returns a Node

getEndNode

public Node getEndNode()
Gets the endNode. endNode will reset the FlipFlop when it is true while the FlipFlop is set.

Returns:
Returns a Node

isExclusive

public boolean isExclusive()
Gets the exclusive. if the range is a 2 dot range it is false if it is a three dot it is true

Returns:
Returns a boolean

getDepth

public int getDepth()
How many scopes should we burrow down to until we need to set the block variable value.

Returns:
0 for current scope, 1 for one down, ...

getIndex

public int getIndex()
Gets the index within the scope construct that actually holds the eval'd value of this local variable

Returns:
Returns an int offset into storage structure

childNodes

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


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