org.codehaus.groovy.syntax.parser
Class ASTHelper

java.lang.Object
  extended byorg.codehaus.groovy.syntax.parser.ASTHelper
Direct Known Subclasses:
ASTBuilder

public class ASTHelper
extends java.lang.Object

A common base class of AST helper methods which can be shared across the classic and new parsers

Version:
$Revision: 1.3 $
Author:
James Strachan, Bob McWhirter, Sam Pullara, Chris Poirier

Field Summary
private  java.lang.ClassLoader classLoader
          Our ClassLoader, which provides information on external types
private  SourceUnit controller
          The SourceUnit controlling us
private static java.lang.String[] DEFAULT_IMPORTS
           
private static java.lang.String[] EMPTY_STRING_ARRAY
           
private  java.util.Map imports
          Our imports, simple name => fully qualified name
private  java.util.List newClasses
          temporarily store the class names that the current modulenode contains
private static java.lang.String NOT_RESOLVED
           
protected  ModuleNode output
           
private  java.lang.String packageName
          The package name in which the module sits
protected static java.util.HashMap resolutions
           
 
Constructor Summary
ASTHelper()
           
ASTHelper(SourceUnit controller, java.lang.ClassLoader classLoader)
           
 
Method Summary
protected  void addNewClassName(java.lang.String name)
           
protected  java.lang.String dot(java.lang.String base)
          A synonym for dot( base, "" ).
protected  java.lang.String dot(java.lang.String base, java.lang.String name)
          Returns two names joined by a dot.
 java.lang.ClassLoader getClassLoader()
          Returns our class loader (as supplied on construction).
 SourceUnit getController()
           
 java.lang.String getPackageName()
           
protected  void importClass(java.lang.String importPackage, java.lang.String name, java.lang.String as)
           
protected  void importPackageWithStar(java.lang.String importPackage)
           
protected  boolean isDatatype(java.lang.String name)
          Returns true if the specified name is a known type name.
protected  void makeModule()
           
protected  java.lang.String resolveName(java.lang.String name, boolean safe)
          Returns a fully qualified name for any given potential type name.
protected  java.lang.String resolveNewClassOrName(java.lang.String name, boolean safe)
           
 void setClassLoader(java.lang.ClassLoader classLoader)
           
 void setController(SourceUnit controller)
           
 void setPackageName(java.lang.String packageName)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

EMPTY_STRING_ARRAY

private static final java.lang.String[] EMPTY_STRING_ARRAY

DEFAULT_IMPORTS

private static final java.lang.String[] DEFAULT_IMPORTS

controller

private SourceUnit controller
The SourceUnit controlling us


classLoader

private java.lang.ClassLoader classLoader
Our ClassLoader, which provides information on external types


imports

private java.util.Map imports
Our imports, simple name => fully qualified name


output

protected ModuleNode output

packageName

private java.lang.String packageName
The package name in which the module sits


resolutions

protected static java.util.HashMap resolutions

NOT_RESOLVED

private static java.lang.String NOT_RESOLVED

newClasses

private java.util.List newClasses
temporarily store the class names that the current modulenode contains

Constructor Detail

ASTHelper

public ASTHelper(SourceUnit controller,
                 java.lang.ClassLoader classLoader)

ASTHelper

public ASTHelper()
Method Detail

getPackageName

public java.lang.String getPackageName()

setPackageName

public void setPackageName(java.lang.String packageName)

getClassLoader

public java.lang.ClassLoader getClassLoader()
Returns our class loader (as supplied on construction).


setClassLoader

public void setClassLoader(java.lang.ClassLoader classLoader)

getController

public SourceUnit getController()

setController

public void setController(SourceUnit controller)

resolveName

protected java.lang.String resolveName(java.lang.String name,
                                       boolean safe)
Returns a fully qualified name for any given potential type name. Returns null if no qualified name could be determined.


dot

protected java.lang.String dot(java.lang.String base,
                               java.lang.String name)
Returns two names joined by a dot. If the base name is empty, returns the name unchanged.


makeModule

protected void makeModule()

isDatatype

protected boolean isDatatype(java.lang.String name)
Returns true if the specified name is a known type name.


dot

protected java.lang.String dot(java.lang.String base)
A synonym for dot( base, "" ).


resolveNewClassOrName

protected java.lang.String resolveNewClassOrName(java.lang.String name,
                                                 boolean safe)

addNewClassName

protected void addNewClassName(java.lang.String name)

importClass

protected void importClass(java.lang.String importPackage,
                           java.lang.String name,
                           java.lang.String as)

importPackageWithStar

protected void importPackageWithStar(java.lang.String importPackage)


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