org.jruby.ast
Class ClassNode

java.lang.Object
  extended byorg.jruby.ast.Node
      extended byorg.jruby.ast.ClassNode
All Implemented Interfaces:
InstructionContext, IScopingNode, ISourcePositionHolder, java.io.Serializable

public class ClassNode
extends Node
implements IScopingNode

A class statement. A class statement is defined by its name, its supertype and its body. The body is a separate naming scope. This node is for a regular class definition, Singleton classes get their own node, the SClassNode

Author:
jpetersen
See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.jruby.ast.Node
instruction, 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 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.
 java.lang.String toString()
           
 
Methods inherited from class org.jruby.ast.Node
addComment, addComments, createList, createList, createList, createList, getComments, getNodeName, getPosition, getPositionIncludingComments, hasComments, 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 childNodes()
Specified by:
childNodes in class Node

toString

public java.lang.String toString()
Overrides:
toString in class Node


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