org.jruby.ast
Class LocalAsgnNode

java.lang.Object
  extended by org.jruby.ast.Node
      extended by org.jruby.ast.AssignableNode
          extended by org.jruby.ast.LocalAsgnNode
All Implemented Interfaces:
java.io.Serializable, IArityNode, INameNode, InstructionContext, ISourcePositionHolder

public class LocalAsgnNode
extends AssignableNode
implements INameNode

An assignment to a local variable.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.jruby.ast.Node
instruction, nodeId
 
Constructor Summary
LocalAsgnNode(ISourcePosition position, java.lang.String name, int location, Node valueNode)
           
 
Method Summary
 Instruction accept(NodeVisitor iVisitor)
          Accept for the visitor pattern.
 java.util.List childNodes()
           
 int getDepth()
          How many scopes should we burrow down to until we need to set the block variable value.
 int getIndex()
          Gets the index within the scope construct that actually holds the eval'd value of this local variable
 java.lang.String getName()
          Name of the local assignment.
 void setName(java.lang.String name)
          Change the name of this local assignment (for refactoring)
 
Methods inherited from class org.jruby.ast.AssignableNode
getArity, getValueNode, setValueNode
 
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

LocalAsgnNode

public LocalAsgnNode(ISourcePosition position,
                     java.lang.String name,
                     int location,
                     Node valueNode)
Method Detail

accept

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

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

getName

public java.lang.String getName()
Name of the local assignment.

Specified by:
getName in interface INameNode

setName

public void setName(java.lang.String name)
Change the name of this local assignment (for refactoring)

Parameters:
name -

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.