|
||||||
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,
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. |
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 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
-
|
||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |