org.codehaus.groovy.classgen
Class CompilerFacade

java.lang.Object
  extended byorg.codehaus.groovy.classgen.CompilerFacade
Direct Known Subclasses:
GroovyClassLoader.ClassCollector

public abstract class CompilerFacade
extends java.lang.Object

A simple facade for the Compiler, hiding much of the plumbing between the Lexer, Parser, AST and bytecode generator

Version:
$Revision: 1.8 $
Author:
James Strachan

Constructor Summary
CompilerFacade(java.lang.ClassLoader classLoader, CompileUnit unit)
           
 
Method Summary
 void generateClass(GeneratorContext context, ClassNode classNode, java.lang.String file)
           
protected abstract  void onClass(org.objectweb.asm.ClassWriter classWriter, ClassNode classNode)
           
protected  void parseClass(CharStream charStream, java.lang.String file)
           
 void parseClass(java.io.InputStream in, java.lang.String file)
          Parses the given character stream into a number of ClassNode instances
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CompilerFacade

public CompilerFacade(java.lang.ClassLoader classLoader,
                      CompileUnit unit)
Method Detail

parseClass

public void parseClass(java.io.InputStream in,
                       java.lang.String file)
                throws SyntaxException,
                       java.io.IOException
Parses the given character stream into a number of ClassNode instances

Returns:
the main class defined in the given script
Throws:
SyntaxException
java.io.IOException

generateClass

public void generateClass(GeneratorContext context,
                          ClassNode classNode,
                          java.lang.String file)

parseClass

protected void parseClass(CharStream charStream,
                          java.lang.String file)
                   throws SyntaxException,
                          java.io.IOException
Throws:
SyntaxException
java.io.IOException

onClass

protected abstract void onClass(org.objectweb.asm.ClassWriter classWriter,
                                ClassNode classNode)


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