Overview | Package | Class | Deprecated | Index | Help
| Groovy 1.7.0
| FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.codehaus.groovy.control
Class SourceUnit

    java.lang.Object
      org.codehaus.groovy.control.ProcessingUnit
          org.codehaus.groovy.control.SourceUnit

    class SourceUnit
    extends ProcessingUnit

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 15229 2009-02-03 14:57:32Z mcspanky $

Field Summary
`protected ModuleNode` | `ast` The root of the Abstract Syntax Tree for the source
`protected Reduction` | `cst` A Concrete Syntax Tree of the source
`protected String` | `name` A descriptive name of the source unit.
`protected ReaderSource` | `source` Where we can get Readers for our source unit

Fields inherited from class ProcessingUnit
classLoader, configuration, errorCollector, phase, phaseComplete

Constructor Summary
`SourceUnit(String name, ReaderSource source, CompilerConfiguration flags, GroovyClassLoader loader, ErrorCollector er)` Initializes the SourceUnit from existing machinery.
`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.
`protected boolean` | `isEofToken(def token)`
`void` | `parse()` Parses the source to a CST.

Methods inherited from class ProcessingUnit
completePhase, configure, getClassLoader, getConfiguration, getErrorCollector, getPhase, getPhaseDescription, gotoPhase, nextPhase, setClassLoader, setConfiguration

Methods inherited from class Object
wait, wait, wait, hashCode, getClass, equals, toString, notify, notifyAll

Field Detail

### ast

    protected ModuleNode ast

  The root of the Abstract Syntax Tree for the source

### cst

    protected Reduction cst

  A Concrete Syntax Tree of the source

### name

    protected String name

  A descriptive name of the source unit. This name shouldn't be used for controlling the SourceUnit, it is only for error messages and to determine the name of the class for a script.

### source

    protected ReaderSource source

  Where we can get Readers for our source unit

Constructor Detail

### SourceUnit

    public SourceUnit(String name, ReaderSource source, CompilerConfiguration flags, GroovyClassLoader loader, ErrorCollector er)

  Initializes the SourceUnit from existing machinery.

### 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

    protected boolean isEofToken(def token)

### parse

    public void parse()

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

Copyright © 2003-2009 The Codehaus. All rights reserved.