org.codehaus.groovy.syntax.parser
Class ASTBuilder

java.lang.Object
  extended byorg.codehaus.groovy.syntax.parser.ASTBuilder

public class ASTBuilder
extends java.lang.Object


Constructor Summary
ASTBuilder(java.lang.ClassLoader classLoader)
           
 
Method Summary
protected  Expression actualParameterList(CSTNode paramRoot)
           
protected  void addImport(java.lang.String importName, java.lang.String asName)
           
protected  PropertyNode addPropertyDeclaration(ClassNode classNode, CSTNode propertyRoot)
           
protected  AssertStatement assertStatement(CSTNode statementRoot)
           
protected  BinaryExpression binaryExpression(CSTNode expressionRoot)
           
protected  BreakStatement breakStatement(CSTNode statementRoot)
           
 ModuleNode build(CSTNode unitRoot)
           
protected  CaseStatement caseStatement(CSTNode statementRoot)
           
protected  Expression castExpression(CSTNode root)
           
protected  ClassNode classDeclaration(java.lang.String packageName, CSTNode classRoot)
           
protected  ClosureExpression closureExpression(CSTNode expressionRoot)
           
protected  GStringExpression compositeStringExpression(CSTNode expressionRoot)
           
protected  ConstantExpression constantExpression(CSTNode expressionRoot)
           
protected  ContinueStatement continueStatement(CSTNode statementRoot)
           
protected  java.lang.Number createInteger(java.lang.String text)
          Chooses the right Number implementation for the given integer number.
protected  void datatypeDeclaration(ModuleNode module, java.lang.String packageName, CSTNode datatypeCst)
           
protected  DoWhileStatement doWhileStatement(CSTNode statementRoot)
           
protected  Expression expression(CSTNode expressionRoot)
           
protected  Statement expressionStatement(CSTNode statementRoot)
           
protected  ForStatement forStatement(CSTNode statementRoot)
           
 java.lang.ClassLoader getClassLoader()
           
protected  java.lang.String identifier(CSTNode identifierRoot)
           
protected  IfStatement ifStatement(CSTNode statementRoot)
           
protected  void importStatement(ModuleNode node, CSTNode importRoot)
           
protected  void importStatements(ModuleNode node, CSTNode importsRoot)
           
protected  ClassNode interfaceDeclaration(java.lang.String packageName, CSTNode interfaceRoot)
           
protected  boolean isDatatype(java.lang.String name)
           
protected  ListExpression listExpression(CSTNode expressionRoot)
           
protected  Expression makeExpression(CSTNode expressionRoot)
           
protected  MapExpression mapExpression(CSTNode expressionRoot)
           
protected  MethodCallExpression methodCallExpression(CSTNode expressionRoot)
           
protected  void methodDeclaration(ClassNode classNode, CSTNode methodRoot)
           
protected  MethodNode methodDeclaration(CSTNode methodRoot)
           
protected  int modifiers(CSTNode modifiersRoot)
           
protected  Expression namedActualParameterList(CSTNode paramRoot)
           
protected  Expression negationExpression(CSTNode expressionRoot)
           
protected  Expression newExpression(CSTNode expressionRoot)
           
protected  TupleExpression nonNamedActualParameterList(CSTNode paramRoot)
           
protected  Expression notExpression(CSTNode expressionRoot)
           
protected  java.lang.String packageDeclaration(CSTNode packageRoot)
           
protected  Parameter[] parameters(CSTNode[] paramRoots)
           
protected  Expression postfixExpression(CSTNode root)
           
protected  Expression prefixExpression(CSTNode root)
           
protected  Expression propertyExpression(CSTNode expressionRoot)
           
protected  java.lang.String qualifiedName(CSTNode nameRoot)
           
protected  java.lang.String[] qualifiedNames(CSTNode[] nameRoots)
           
protected  RangeExpression rangeExpression(CSTNode expressionRoot, boolean inclusive)
           
protected  java.lang.String removeTypeModifiers(java.lang.String name)
          Strips any trailing type modifiers from the name; like [] or * or ! or ? or +
protected  java.lang.String resolvedQualifiedName(CSTNode nameRoot)
           
protected  java.lang.String resolvedQualifiedNameNotNull(CSTNode child)
           
protected  java.lang.String[] resolvedQualifiedNamesNotNull(CSTNode[] nameRoots)
           
protected  java.lang.String resolveName(java.lang.String name)
           
protected  ReturnStatement returnStatement(CSTNode statementRoot)
           
protected  Expression safePropertyExpression(CSTNode expressionRoot)
           
protected  Statement statement(CSTNode statementRoot)
           
protected  BlockStatement statementBlock(CSTNode blockRoot)
           
protected  BlockStatement statementBlock(CSTNode blockRoot, int startIndex)
           
protected  BlockStatement statementOrStatementBlock(CSTNode blockRoot)
           
protected  SwitchStatement switchStatement(CSTNode statementRoot)
           
protected  SynchronizedStatement synchronizedStatement(CSTNode statementRoot)
           
protected  TernaryExpression ternaryExpression(CSTNode expressionRoot)
           
protected  ThrowStatement throwStatement(CSTNode statementRoot)
           
protected  TryCatchStatement tryStatement(CSTNode statementRoot)
           
protected  TupleExpression tupleExpression(CSTNode expressionRoot)
           
protected  VariableExpression variableExpression(CSTNode expressionRoot)
           
protected  Expression variableOrClassExpression(CSTNode expressionRoot)
           
protected  WhileStatement whileStatement(CSTNode statementRoot)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ASTBuilder

public ASTBuilder(java.lang.ClassLoader classLoader)
Method Detail

getClassLoader

public java.lang.ClassLoader getClassLoader()

build

public ModuleNode build(CSTNode unitRoot)
                 throws ParserException
Throws:
ParserException

packageDeclaration

protected java.lang.String packageDeclaration(CSTNode packageRoot)

importStatements

protected void importStatements(ModuleNode node,
                                CSTNode importsRoot)

importStatement

protected void importStatement(ModuleNode node,
                               CSTNode importRoot)

addImport

protected void addImport(java.lang.String importName,
                         java.lang.String asName)

resolveName

protected java.lang.String resolveName(java.lang.String name)

removeTypeModifiers

protected java.lang.String removeTypeModifiers(java.lang.String name)
Strips any trailing type modifiers from the name; like [] or * or ! or ? or +


isDatatype

protected boolean isDatatype(java.lang.String name)

qualifiedName

protected java.lang.String qualifiedName(CSTNode nameRoot)

resolvedQualifiedName

protected java.lang.String resolvedQualifiedName(CSTNode nameRoot)

resolvedQualifiedNameNotNull

protected java.lang.String resolvedQualifiedNameNotNull(CSTNode child)
                                                 throws ParserException
Throws:
ParserException

qualifiedNames

protected java.lang.String[] qualifiedNames(CSTNode[] nameRoots)

resolvedQualifiedNamesNotNull

protected java.lang.String[] resolvedQualifiedNamesNotNull(CSTNode[] nameRoots)
                                                    throws ParserException
Throws:
ParserException

datatypeDeclaration

protected void datatypeDeclaration(ModuleNode module,
                                   java.lang.String packageName,
                                   CSTNode datatypeCst)
                            throws ParserException
Throws:
ParserException

classDeclaration

protected ClassNode classDeclaration(java.lang.String packageName,
                                     CSTNode classRoot)
                              throws ParserException
Throws:
ParserException

addPropertyDeclaration

protected PropertyNode addPropertyDeclaration(ClassNode classNode,
                                              CSTNode propertyRoot)
                                       throws ParserException
Throws:
ParserException

methodDeclaration

protected void methodDeclaration(ClassNode classNode,
                                 CSTNode methodRoot)
                          throws ParserException
Throws:
ParserException

methodDeclaration

protected MethodNode methodDeclaration(CSTNode methodRoot)
                                throws ParserException
Throws:
ParserException

parameters

protected Parameter[] parameters(CSTNode[] paramRoots)
                          throws ParserException
Throws:
ParserException

interfaceDeclaration

protected ClassNode interfaceDeclaration(java.lang.String packageName,
                                         CSTNode interfaceRoot)

statementOrStatementBlock

protected BlockStatement statementOrStatementBlock(CSTNode blockRoot)
                                            throws ParserException
Throws:
ParserException

statementBlock

protected BlockStatement statementBlock(CSTNode blockRoot)
                                 throws ParserException
Throws:
ParserException

statementBlock

protected BlockStatement statementBlock(CSTNode blockRoot,
                                        int startIndex)
                                 throws ParserException
Throws:
ParserException

statement

protected Statement statement(CSTNode statementRoot)
                       throws ParserException
Throws:
ParserException

whileStatement

protected WhileStatement whileStatement(CSTNode statementRoot)
                                 throws ParserException
Throws:
ParserException

doWhileStatement

protected DoWhileStatement doWhileStatement(CSTNode statementRoot)
                                     throws ParserException
Throws:
ParserException

ifStatement

protected IfStatement ifStatement(CSTNode statementRoot)
                           throws ParserException
Throws:
ParserException

switchStatement

protected SwitchStatement switchStatement(CSTNode statementRoot)
                                   throws ParserException
Throws:
ParserException

caseStatement

protected CaseStatement caseStatement(CSTNode statementRoot)
                               throws ParserException
Throws:
ParserException

throwStatement

protected ThrowStatement throwStatement(CSTNode statementRoot)
                                 throws ParserException
Throws:
ParserException

breakStatement

protected BreakStatement breakStatement(CSTNode statementRoot)
                                 throws ParserException
Throws:
ParserException

continueStatement

protected ContinueStatement continueStatement(CSTNode statementRoot)
                                       throws ParserException
Throws:
ParserException

synchronizedStatement

protected SynchronizedStatement synchronizedStatement(CSTNode statementRoot)
                                               throws ParserException
Throws:
ParserException

tryStatement

protected TryCatchStatement tryStatement(CSTNode statementRoot)
                                  throws ParserException
Throws:
ParserException

returnStatement

protected ReturnStatement returnStatement(CSTNode statementRoot)
                                   throws ParserException
Throws:
ParserException

forStatement

protected ForStatement forStatement(CSTNode statementRoot)
                             throws ParserException
Throws:
ParserException

assertStatement

protected AssertStatement assertStatement(CSTNode statementRoot)
                                   throws ParserException
Throws:
ParserException

expressionStatement

protected Statement expressionStatement(CSTNode statementRoot)
                                 throws ParserException
Throws:
ParserException

expression

protected Expression expression(CSTNode expressionRoot)
                         throws ParserException
Throws:
ParserException

makeExpression

protected Expression makeExpression(CSTNode expressionRoot)
                             throws ParserException
Throws:
ParserException

castExpression

protected Expression castExpression(CSTNode root)
                             throws ParserException
Throws:
ParserException

postfixExpression

protected Expression postfixExpression(CSTNode root)
                                throws ParserException
Throws:
ParserException

prefixExpression

protected Expression prefixExpression(CSTNode root)
                               throws ParserException
Throws:
ParserException

notExpression

protected Expression notExpression(CSTNode expressionRoot)
                            throws ParserException
Throws:
ParserException

negationExpression

protected Expression negationExpression(CSTNode expressionRoot)
                                 throws ParserException
Throws:
ParserException

compositeStringExpression

protected GStringExpression compositeStringExpression(CSTNode expressionRoot)
                                               throws ParserException
Throws:
ParserException

newExpression

protected Expression newExpression(CSTNode expressionRoot)
                            throws ParserException
Throws:
ParserException

closureExpression

protected ClosureExpression closureExpression(CSTNode expressionRoot)
                                       throws ParserException
Throws:
ParserException

methodCallExpression

protected MethodCallExpression methodCallExpression(CSTNode expressionRoot)
                                             throws ParserException
Throws:
ParserException

actualParameterList

protected Expression actualParameterList(CSTNode paramRoot)
                                  throws ParserException
Throws:
ParserException

namedActualParameterList

protected Expression namedActualParameterList(CSTNode paramRoot)
                                       throws ParserException
Throws:
ParserException

nonNamedActualParameterList

protected TupleExpression nonNamedActualParameterList(CSTNode paramRoot)
                                               throws ParserException
Throws:
ParserException

tupleExpression

protected TupleExpression tupleExpression(CSTNode expressionRoot)
                                   throws ParserException
Throws:
ParserException

listExpression

protected ListExpression listExpression(CSTNode expressionRoot)
                                 throws ParserException
Throws:
ParserException

mapExpression

protected MapExpression mapExpression(CSTNode expressionRoot)
                               throws ParserException
Throws:
ParserException

rangeExpression

protected RangeExpression rangeExpression(CSTNode expressionRoot,
                                          boolean inclusive)
                                   throws ParserException
Throws:
ParserException

propertyExpression

protected Expression propertyExpression(CSTNode expressionRoot)
                                 throws ParserException
Throws:
ParserException

safePropertyExpression

protected Expression safePropertyExpression(CSTNode expressionRoot)
                                     throws ParserException
Throws:
ParserException

variableOrClassExpression

protected Expression variableOrClassExpression(CSTNode expressionRoot)

variableExpression

protected VariableExpression variableExpression(CSTNode expressionRoot)

constantExpression

protected ConstantExpression constantExpression(CSTNode expressionRoot)

createInteger

protected java.lang.Number createInteger(java.lang.String text)
Chooses the right Number implementation for the given integer number. Typically this is an Integer for efficiency or a Long if the number is very large

Parameters:
text -
Returns:

binaryExpression

protected BinaryExpression binaryExpression(CSTNode expressionRoot)
                                     throws ParserException
Throws:
ParserException

ternaryExpression

protected TernaryExpression ternaryExpression(CSTNode expressionRoot)
                                       throws ParserException
Throws:
ParserException

modifiers

protected int modifiers(CSTNode modifiersRoot)

identifier

protected java.lang.String identifier(CSTNode identifierRoot)


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