org.jruby.ast
Class Colon2ImplicitNode

java.lang.Object
  extended by org.jruby.ast.Node
      extended by org.jruby.ast.Colon3Node
          extended by org.jruby.ast.Colon2Node
              extended by org.jruby.ast.Colon2ImplicitNode
All Implemented Interfaces:
INameNode, ISourcePositionHolder

public class Colon2ImplicitNode
extends Colon2Node

Represents a bare class declaration (e.g. class Foo/module Foo). This is slightly misnamed since it contains no double colons (::), but our cname production needs to be a common type. In JRuby 2, we will rename this.


Field Summary
 
Fields inherited from class org.jruby.ast.Colon2Node
leftNode
 
Fields inherited from class org.jruby.ast.Colon3Node
name
 
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
Colon2ImplicitNode(ISourcePosition position, java.lang.String name)
           
 
Method Summary
 org.jruby.util.ByteList definition(Ruby runtime, ThreadContext context, IRubyObject self, Block aBlock)
          This type of node will never get created as part of a defined? call since it will then appear to be a ConstNode.
 RubyModule getEnclosingModule(Ruby runtime, ThreadContext context, IRubyObject self, Block aBlock)
          Get parent module/class that this module represents
 IRubyObject interpret(Ruby runtime, ThreadContext context, IRubyObject self, Block aBlock)
          This type of node will never get interpreted since it only gets created via class/module declaration time.
 
Methods inherited from class org.jruby.ast.Colon2Node
accept, childNodes, getLeftNode, getNodeType
 
Methods inherited from class org.jruby.ast.Colon3Node
getName, getValue, reCache, setName
 
Methods inherited from class org.jruby.ast.Node
assign, createList, getNodeName, getPosition, isInvisible, setPosition, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.jruby.ast.types.INameNode
getName
 

Constructor Detail

Colon2ImplicitNode

public Colon2ImplicitNode(ISourcePosition position,
                          java.lang.String name)
Method Detail

getEnclosingModule

public RubyModule getEnclosingModule(Ruby runtime,
                                     ThreadContext context,
                                     IRubyObject self,
                                     Block aBlock)
Get parent module/class that this module represents

Overrides:
getEnclosingModule in class Colon2Node

interpret

public IRubyObject interpret(Ruby runtime,
                             ThreadContext context,
                             IRubyObject self,
                             Block aBlock)
This type of node will never get interpreted since it only gets created via class/module declaration time. Those node types interact with this node in a different way.

Overrides:
interpret in class Colon3Node

definition

public org.jruby.util.ByteList definition(Ruby runtime,
                                          ThreadContext context,
                                          IRubyObject self,
                                          Block aBlock)
This type of node will never get created as part of a defined? call since it will then appear to be a ConstNode.

Overrides:
definition in class Colon3Node


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