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
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
ClassNode(ISourcePosition position, Colon3Node cpath, StaticScope scope, Node bodyNode, Node superNode)
           
 
Method Summary
 java.lang.Object 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.
 NodeType getNodeType()
           
 StaticScope getScope()
          Get the static scoping information.
 Node getSuperNode()
          Gets the superNode.
 IRubyObject interpret(Ruby runtime, ThreadContext context, IRubyObject self, Block aBlock)
           
 
Methods inherited from class org.jruby.ast.Node
assign, createList, definition, getNodeName, getPosition, isInvisible, setPosition, toString
 
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

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

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

interpret

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


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