org.codehaus.groovy.ast
Class CompileUnit

java.lang.Object
  extended byorg.codehaus.groovy.ast.CompileUnit

public class CompileUnit
extends java.lang.Object

Represents the entire contents of a compilation step which consists of one or more ModuleNodeinstances

Version:
$Revision: 1.9 $
Author:
James Strachan

Field Summary
private  java.util.Map cachedClasses
           
private  java.util.Map classes
           
private  java.lang.ClassLoader classLoader
           
private  java.security.CodeSource codeSource
           
private  CompilerConfiguration config
           
private  java.util.List modules
           
static java.lang.Object NO_CLASS
           
 
Constructor Summary
CompileUnit(java.lang.ClassLoader classLoader, java.security.CodeSource codeSource, CompilerConfiguration config)
           
CompileUnit(java.lang.ClassLoader classLoader, CompilerConfiguration config)
           
 
Method Summary
 void addClass(ClassNode node)
          Adds a class to the unit.
(package private)  void addClasses(java.util.List classList)
          Appends all of the fully qualified class names in this module into the given map
 void addModule(ModuleNode node)
           
 ClassNode getClass(java.lang.String name)
           
 java.util.List getClasses()
           
 java.lang.ClassLoader getClassLoader()
           
 java.security.CodeSource getCodeSource()
           
 CompilerConfiguration getConfig()
           
 java.util.List getModules()
           
 java.lang.Class loadClass(java.lang.String type)
          Loads a class on the compile classpath so that it can be introspected
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

modules

private java.util.List modules

classes

private java.util.Map classes

config

private CompilerConfiguration config

classLoader

private java.lang.ClassLoader classLoader

codeSource

private java.security.CodeSource codeSource

cachedClasses

private java.util.Map cachedClasses

NO_CLASS

public static final java.lang.Object NO_CLASS
Constructor Detail

CompileUnit

public CompileUnit(java.lang.ClassLoader classLoader,
                   CompilerConfiguration config)

CompileUnit

public CompileUnit(java.lang.ClassLoader classLoader,
                   java.security.CodeSource codeSource,
                   CompilerConfiguration config)
Method Detail

getModules

public java.util.List getModules()

addModule

public void addModule(ModuleNode node)

getClass

public ClassNode getClass(java.lang.String name)
Returns:
the ClassNode for the given qualified name or returns null if the name does not exist in the current compilation unit (ignoring the .class files on the classpath)

getClasses

public java.util.List getClasses()
Returns:
a list of all the classes in each module in the compilation unit

getConfig

public CompilerConfiguration getConfig()

getClassLoader

public java.lang.ClassLoader getClassLoader()

getCodeSource

public java.security.CodeSource getCodeSource()

loadClass

public java.lang.Class loadClass(java.lang.String type)
                          throws java.lang.ClassNotFoundException
Loads a class on the compile classpath so that it can be introspected

Parameters:
type -
Returns:
@throws ClassNotFoundException
Throws:
java.lang.ClassNotFoundException

addClasses

void addClasses(java.util.List classList)
Appends all of the fully qualified class names in this module into the given map


addClass

public void addClass(ClassNode node)
Adds a class to the unit.



Copyright © 2003-2005 The Codehaus. All Rights Reserved.