org.codehaus.groovy.control
Class SourceUnit

Provides an anchor for a single source unit (usually a script file) as it passes through the compiler system.

author:
Chris Poirier
author:
Bing Ran
version:
$Id: SourceUnit.java 11673 2008-04-17 00:40:31Z paulk $

Field Summary
 ModuleNode ast
           
 Reduction cst
           
 String name
           
 ParserPlugin parserPlugin
           
 ReaderSource source
           
 
Constructor Summary
SourceUnit(String name, ReaderSource source, CompilerConfiguration flags, GroovyClassLoader loader, ErrorCollector er)
            The pluggable parser used to generate the AST - we allow pluggability currently as we need to have Classic and JSR support
SourceUnit(File source, CompilerConfiguration configuration, GroovyClassLoader loader, ErrorCollector er)
            Initializes the SourceUnit from the specified file.
SourceUnit(URL source, CompilerConfiguration configuration, GroovyClassLoader loader, ErrorCollector er)
            Initializes the SourceUnit from the specified URL.
SourceUnit(String name, String source, CompilerConfiguration configuration, GroovyClassLoader loader, ErrorCollector er)
            Initializes the SourceUnit for a string of source.
 
Method Summary
void addError(SyntaxException se)
          
void addException(Exception e)
          
void convert()
           Generates an AST from the CST.
static SourceUnit create(String name, String source)
           A convenience routine to create a standalone SourceUnit on a String with defaults for almost everything that is configurable.
static SourceUnit create(String name, String source, int tolerance)
           A convenience routine to create a standalone SourceUnit on a String with defaults for almost everything that is configurable.
boolean failedWithUnexpectedEOF()
           Convenience routine, primarily for use by the InteractiveShell, that returns true if parse() failed with an unexpected EOF.
ModuleNode getAST()
           Returns the Abstract Syntax Tree produced during convert()ing and expanded during later phases.
Reduction getCST()
           Returns the Concrete Syntax Tree produced during parse()ing.
String getName()
           Returns the name for the SourceUnit.
String getSample(int line, int column, Janitor janitor)
           Returns a sampling of the source at the specified line and column, of null if it is unavailable.
boolean isEofToken(def token)
          
void parse()
           Parses the source to a CST.
void saveAsXML(String name, ModuleNode ast)
          
 

Constructor Detail

SourceUnit

public SourceUnit(String name, ReaderSource source, CompilerConfiguration flags, GroovyClassLoader loader, ErrorCollector er)
The pluggable parser used to generate the AST - we allow pluggability currently as we need to have Classic and JSR support


SourceUnit

public SourceUnit(File source, CompilerConfiguration configuration, GroovyClassLoader loader, ErrorCollector er)
Initializes the SourceUnit from the specified file.


SourceUnit

public SourceUnit(URL source, CompilerConfiguration configuration, GroovyClassLoader loader, ErrorCollector er)
Initializes the SourceUnit from the specified URL.


SourceUnit

public SourceUnit(String name, String source, CompilerConfiguration configuration, GroovyClassLoader loader, ErrorCollector er)
Initializes the SourceUnit for a string of source.


Method Detail

addError

public void addError(SyntaxException se)


addException

public void addException(Exception e)


convert

public void convert()
Generates an AST from the CST. You can retrieve it with getAST().


create

public static SourceUnit create(String name, String source)
A convenience routine to create a standalone SourceUnit on a String with defaults for almost everything that is configurable.


create

public static SourceUnit create(String name, String source, int tolerance)
A convenience routine to create a standalone SourceUnit on a String with defaults for almost everything that is configurable.


failedWithUnexpectedEOF

public boolean failedWithUnexpectedEOF()
Convenience routine, primarily for use by the InteractiveShell, that returns true if parse() failed with an unexpected EOF.


getAST

public ModuleNode getAST()
Returns the Abstract Syntax Tree produced during convert()ing and expanded during later phases.


getCST

public Reduction getCST()
Returns the Concrete Syntax Tree produced during parse()ing.


getName

public String getName()
Returns the name for the SourceUnit. This name shouldn't be used for controlling the SourceUnit, it is only for error messages


getSample

public String getSample(int line, int column, Janitor janitor)
Returns a sampling of the source at the specified line and column, of null if it is unavailable.


isEofToken

boolean isEofToken(def token)


parse

public void parse()
Parses the source to a CST. You can retrieve it with getCST().


saveAsXML

void saveAsXML(String name, ModuleNode ast)