public class SourceBuilder
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
private static class |
SourceBuilder.WriterVisitor
Visitor to apply edits.
|
Modifier and Type | Field and Description |
---|---|
private AST |
m_ast
Actual AST instance.
|
private java.util.ArrayList |
m_classes
Builders for main classes in file.
|
private CompilationUnit |
m_compilationUnit
Compilation unit.
|
protected ImportsTracker |
m_importsTracker
Tracker for imports.
|
private java.lang.String |
m_name
Name of this source.
|
private PackageHolder |
m_package
Package containing this source.
|
private static Logger |
s_logger
Logger for class.
|
private static java.util.Map |
s_primitiveTypeCodes
Map from primitive type name to type code.
|
Constructor and Description |
---|
SourceBuilder(AST ast,
PackageHolder pack,
java.lang.String name,
ImportsTracker imports)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
private AbstractTypeDeclaration |
createClass(java.lang.String cname,
boolean isenum)
Create a type declaration.
|
Type |
createParameterizedType(java.lang.String type,
java.lang.String param)
Create a parameterized type.
|
Type |
createType(java.lang.String type)
Create type definition.
|
protected Name |
createTypeName(java.lang.String type)
Create type name.
|
void |
finish(boolean verbose)
Generate the actual source file.
|
(package private) AST |
getAST()
AST access for related classes.
|
java.lang.String |
getPackageName()
Get the name of the package containing this source file.
|
ClassBuilder |
newInnerClass(java.lang.String cname,
ClassBuilder outer,
boolean isenum)
Add a new inner class to the file.
|
ClassBuilder |
newMainClass(java.lang.String cname,
boolean isenum)
Add a new main class to the file.
|
private static final Logger s_logger
private static final java.util.Map s_primitiveTypeCodes
private final AST m_ast
private final PackageHolder m_package
private final java.lang.String m_name
private final CompilationUnit m_compilationUnit
protected final ImportsTracker m_importsTracker
private java.util.ArrayList m_classes
public SourceBuilder(AST ast, PackageHolder pack, java.lang.String name, ImportsTracker imports)
ast
- pack
- name
- imports
- AST getAST()
public java.lang.String getPackageName()
private AbstractTypeDeclaration createClass(java.lang.String cname, boolean isenum)
cname
- class nameisenum
- Java 5 enum class flagpublic ClassBuilder newMainClass(java.lang.String cname, boolean isenum)
cname
- class nameisenum
- Java 5 enum class flagpublic ClassBuilder newInnerClass(java.lang.String cname, ClassBuilder outer, boolean isenum)
cname
- class nameouter
- containing class builderisenum
- Java 5 enum class flagprotected Name createTypeName(java.lang.String type)
type
- fully-qualified type namepublic Type createType(java.lang.String type)
type
- fully qualified type name, or primitive type namepublic Type createParameterizedType(java.lang.String type, java.lang.String param)
type
- fully qualified type nameparam
- fully qualified parameter type namepublic void finish(boolean verbose)
verbose
-