org.codehaus.groovy.syntax.parser
Class ASTBuilder
java.lang.Object
org.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 |
ASTBuilder
public ASTBuilder(java.lang.ClassLoader classLoader)
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.