public class BlockBuilder extends StatementBuilderBase
Modifier and Type | Field and Description |
---|---|
private Block |
m_block
Compilation unit.
|
m_source
m_ast
Constructor and Description |
---|
BlockBuilder(ClassBuilder source,
Block block)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
void |
addAssignToName(Expression expr,
java.lang.String name)
Append an assignment from an expression to a field or local variable.
|
void |
addAssignVariableToField(java.lang.String vname,
java.lang.String fname)
Append an assignment from a local variable to a field.
|
void |
addBreak()
Append a 'break' statement.
|
void |
addCall(InvocationBuilder call)
Append a method call statement.
|
void |
addExpressionStatement(ExpressionBuilderBase expr)
Append an expression statement.
|
private void |
addForStatement(java.lang.String name,
Type type,
Expression init,
Expression test,
Expression post,
BlockBuilder block)
Append a three-part 'for' statement with an associated variable.
|
void |
addIfElseIfStatement(ExpressionBuilderBase ifexpr,
ExpressionBuilderBase elsexpr,
BlockBuilder ifblock,
BlockBuilder elseblock)
Append an 'if-else-if' statement.
|
void |
addIfElseStatement(ExpressionBuilderBase expr,
BlockBuilder ifblock,
BlockBuilder elseblock)
Append an 'if-else' statement.
|
void |
addIfStatement(ExpressionBuilderBase expr,
BlockBuilder ifblock)
Append a simple 'if' statement (no else).
|
void |
addIndexedForStatement(java.lang.String name,
java.lang.String array,
BlockBuilder block)
Append a standard 'for' statement using an index variable over an array.
|
void |
addIteratedForStatement(java.lang.String name,
Type type,
ExpressionBuilderBase init,
BlockBuilder block)
Append a standard 'for' statement using an iterator.
|
void |
addLocalVariableDeclaration(java.lang.String type,
java.lang.String vname)
Append a local variable declaration.
|
void |
addLocalVariableDeclaration(Type type,
java.lang.String vname,
ExpressionBuilderBase expr)
Append a local variable declaration with initializer expression.
|
void |
addReturnExpression(ExpressionBuilderBase expr)
Append a statement returning the value of an expression.
|
void |
addReturnNamed(java.lang.String name)
Append a statement returning the value of a field or local variable.
|
void |
addReturnNull()
Append a statement returning
null . |
void |
addStatement(StatementBuilderBase stmt)
Append a constructed statement.
|
void |
addSugaredForStatement(java.lang.String name,
java.lang.String type,
ExpressionBuilderBase expr,
BlockBuilder block)
Append a Java 5 "enhanced" 'for' statement.
|
SwitchBuilder |
addSwitch(ExpressionBuilderBase expr)
Append a 'switch' statement using a constructed expression as the switch value.
|
SwitchBuilder |
addSwitch(java.lang.String name)
Append a 'switch' statement using a local variable or field name as the switch value.
|
void |
addThrowException(java.lang.String type,
ExpressionBuilderBase expr)
Append a throw new exception statement.
|
void |
addThrowException(java.lang.String type,
java.lang.String text)
Append a throw new exception statement.
|
(package private) Statement |
getStatement()
Get the statement.
|
numberLiteral, setFinal, setPrivate, setPrivateFinal, setPrivateStaticFinal, setPublic, setPublicStatic, setPublicStaticFinal, setStatic, stringLiteral
public BlockBuilder(ClassBuilder source, Block block)
source
- block
- Statement getStatement()
getStatement
in class StatementBuilderBase
public void addAssignToName(Expression expr, java.lang.String name)
expr
- name
- public void addAssignVariableToField(java.lang.String vname, java.lang.String fname)
vname
- fname
- public void addLocalVariableDeclaration(java.lang.String type, java.lang.String vname)
type
- vname
- public void addLocalVariableDeclaration(Type type, java.lang.String vname, ExpressionBuilderBase expr)
type
- vname
- expr
- initializer expressionpublic void addIfStatement(ExpressionBuilderBase expr, BlockBuilder ifblock)
expr
- conditional expressionifblock
- block executed when condition true
public void addIfElseStatement(ExpressionBuilderBase expr, BlockBuilder ifblock, BlockBuilder elseblock)
expr
- conditional expressionifblock
- block executed when condition true
elseblock
- block executed when condition false
public void addIfElseIfStatement(ExpressionBuilderBase ifexpr, ExpressionBuilderBase elsexpr, BlockBuilder ifblock, BlockBuilder elseblock)
ifexpr
- if conditional expressionelsexpr
- if conditional expressionifblock
- block executed when condition true
elseblock
- block executed when condition false
private void addForStatement(java.lang.String name, Type type, Expression init, Expression test, Expression post, BlockBuilder block)
name
- iteration variable nametype
- variable typeinit
- variable initialization expressiontest
- loop test expression (second part of 'for')post
- post-loop expression (optional third part of 'for', null
if none)block
- statement body blockpublic void addIteratedForStatement(java.lang.String name, Type type, ExpressionBuilderBase init, BlockBuilder block)
name
- iteration variable nametype
- variable type (must be an iterator subclass or generic type)init
- variable initialization expressionblock
- statement body blockpublic void addIndexedForStatement(java.lang.String name, java.lang.String array, BlockBuilder block)
name
- index variable namearray
- array nameblock
- statement body blockpublic void addSugaredForStatement(java.lang.String name, java.lang.String type, ExpressionBuilderBase expr, BlockBuilder block)
name
- iteration variable nametype
- iteration variable typeexpr
- iteration source expressionblock
- statement body blockpublic void addReturnExpression(ExpressionBuilderBase expr)
expr
- expressionpublic void addReturnNamed(java.lang.String name)
name
- field namepublic void addReturnNull()
null
.public void addThrowException(java.lang.String type, java.lang.String text)
type
- exception typetext
- public void addThrowException(java.lang.String type, ExpressionBuilderBase expr)
type
- exception typeexpr
- initializer expressionpublic void addCall(InvocationBuilder call)
call
- public void addBreak()
public SwitchBuilder addSwitch(java.lang.String name)
name
- public SwitchBuilder addSwitch(ExpressionBuilderBase expr)
expr
- public void addExpressionStatement(ExpressionBuilderBase expr)
expr
- public void addStatement(StatementBuilderBase stmt)
stmt
-