org.jruby.ast
Class ClassNode

java.lang.Object
  extended by org.jruby.ast.Node
      extended by org.jruby.ast.ClassNode
All Implemented Interfaces:
IScopingNode, ISourcePositionHolder

public class ClassNode
extends Node
implements IScopingNode

A class statement (name, superClass, body). Classes bodies also define their own scope.


Field Summary
 
Fields inherited from class org.jruby.ast.Node
EMPTY_COMMENT_LIST, INVALID_POSITION, nodeId
 
Constructor Summary
ClassNode(ISourcePosition position, Colon3Node cpath, StaticScope scope, Node bodyNode, Node superNode)
           
 
Method Summary
 Instruction accept(NodeVisitor iVisitor)
          Accept for the visitor pattern.
 java.util.List<Node> childNodes()
           
 Node getBodyNode()
          Gets the body of this class.
 Colon3Node getCPath()
          Gets the className.
 StaticScope getScope()
          Get the static scoping information.
 Node getSuperNode()
          Gets the superNode.
 IRubyObject interpret(Ruby runtime, ThreadContext context, IRubyObject self, Block aBlock)
           
 java.lang.String toString()
           
 
Methods inherited from class org.jruby.ast.Node
addComment, addComments, assign, createList, definition, getComments, getNodeName, getPosition, getPositionIncludingComments, hasComments, isInvisible, setPosition
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ClassNode

public ClassNode(ISourcePosition position,
                 Colon3Node cpath,
                 StaticScope scope,
                 Node bodyNode,
                 Node superNode)
Method Detail

accept

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

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

getBodyNode

public Node getBodyNode()
Gets the body of this class.

Returns:
the contents

getScope

public StaticScope getScope()
Get the static scoping information.

Returns:
the scoping info

getCPath

public Colon3Node getCPath()
Gets the className.

Specified by:
getCPath in interface IScopingNode
Returns:
Returns representation of class path+name

getSuperNode

public Node getSuperNode()
Gets the superNode.

Returns:
Returns a Node

childNodes

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

toString

public java.lang.String toString()
Overrides:
toString 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.