org.jruby.ast
Class EvStrNode

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

public class EvStrNode
extends Node

Represents an #{} expression in a string. This Node is always a subnode of a DStrNode, DXStrNode or a DRegexpNode. Before this Node is evaluated it contains the code as a String (value). After the first evaluation this String is parsed into the evaluatedNode Node.


Field Summary
 
Fields inherited from class org.jruby.ast.Node
EMPTY_COMMENT_LIST, INVALID_POSITION, nodeId
 
Constructor Summary
EvStrNode(ISourcePosition position, Node body)
           
 
Method Summary
 Instruction accept(NodeVisitor iVisitor)
          Accept for the visitor pattern.
 java.util.List<Node> childNodes()
           
 Node getBody()
          Gets the evaluatedNode.
 IRubyObject interpret(Ruby runtime, ThreadContext context, IRubyObject self, Block aBlock)
           
 
Methods inherited from class org.jruby.ast.Node
addComment, addComments, assign, createList, definition, getComments, getNodeName, getPosition, getPositionIncludingComments, hasComments, isInvisible, setPosition, toString, when
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

EvStrNode

public EvStrNode(ISourcePosition position,
                 Node body)
Method Detail

accept

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

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

getBody

public Node getBody()
Gets the evaluatedNode.

Returns:
Returns a Node

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.