public class SourceBuilder
extends java.lang.Object
Modifier and Type | Class | Description |
---|---|---|
private static class |
SourceBuilder.WriterVisitor |
Visitor to apply edits.
|
Modifier and Type | Field | 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 | Description |
---|---|
SourceBuilder(AST ast,
PackageHolder pack,
java.lang.String name,
ImportsTracker imports) |
Constructor.
|
Modifier and Type | Method | 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
-