org.jruby.ast
Class DAsgnNode

java.lang.Object
  extended by org.jruby.ast.Node
      extended by org.jruby.ast.AssignableNode
          extended by org.jruby.ast.DAsgnNode
All Implemented Interfaces:
IArityNode, INameNode, ISourcePositionHolder

public class DAsgnNode
extends AssignableNode
implements INameNode

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


Field Summary
 
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
DAsgnNode(ISourcePosition position, java.lang.String name, int location, Node valueNode)
           
 
Method Summary
 java.lang.Object accept(NodeVisitor iVisitor)
          Accept for the visitor pattern.
 IRubyObject assign(Ruby runtime, ThreadContext context, IRubyObject self, IRubyObject value, Block block, boolean checkArity)
           
 java.util.List<Node> 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()
          Gets the name.
 NodeType getNodeType()
           
 IRubyObject interpret(Ruby runtime, ThreadContext context, IRubyObject self, Block aBlock)
           
 void setName(java.lang.String name)
           
 
Methods inherited from class org.jruby.ast.AssignableNode
definition, getArity, getValueNode, setValueNode
 
Methods inherited from class org.jruby.ast.Node
createList, getNodeName, getPosition, isInvisible, setPosition, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

DAsgnNode

public DAsgnNode(ISourcePosition position,
                 java.lang.String name,
                 int location,
                 Node valueNode)
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

getName

public java.lang.String getName()
Gets the name.

Specified by:
getName in interface INameNode
Returns:
Returns a String

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<Node> childNodes()
Specified by:
childNodes in class Node

setName

public void setName(java.lang.String name)

interpret

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

assign

public IRubyObject assign(Ruby runtime,
                          ThreadContext context,
                          IRubyObject self,
                          IRubyObject value,
                          Block block,
                          boolean checkArity)
Overrides:
assign in class Node


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