|
||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||
java.lang.Objectorg.jibx.schema.codegen.ASTBuilderBase
org.jibx.schema.codegen.StatementBuilderBase
org.jibx.schema.codegen.BlockBuilder
public class BlockBuilder
Block builder. This wraps the AST block representation with convenience methods and added control information.
| Field Summary | |
|---|---|
private Block |
m_block
Compilation unit. |
| Fields inherited from class org.jibx.schema.codegen.StatementBuilderBase |
|---|
m_source |
| Fields inherited from class org.jibx.schema.codegen.ASTBuilderBase |
|---|
m_ast |
| Constructor Summary | |
|---|---|
BlockBuilder(ClassBuilder source,
Block block)
Constructor. |
|
| Method Summary | |
|---|---|
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,
ExpressionBuilderBase limit,
BlockBuilder block)
Append a standard 'for' statement using an index variable. |
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. |
| Methods inherited from class org.jibx.schema.codegen.ASTBuilderBase |
|---|
numberLiteral, setFinal, setPrivate, setPrivateFinal, setPrivateStaticFinal, setPublic, setPublicStatic, setPublicStaticFinal, setStatic, stringLiteral |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
private final Block m_block
| Constructor Detail |
|---|
public BlockBuilder(ClassBuilder source,
Block block)
source - block - | Method Detail |
|---|
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 expression
public 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 trueelseblock - 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 trueelseblock - 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 block
public 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 block
public void addIndexedForStatement(java.lang.String name,
ExpressionBuilderBase limit,
BlockBuilder block)
name - index variable namelimit - end value for loopblock - statement body block
public 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 -
|
||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||