public class CodeGenerator extends Object
| Modifier and Type | Field and Description |
|---|---|
protected int |
m_ccol |
protected int |
m_cline |
protected StringBuilder |
m_includeBuffer |
protected StringBuilder |
m_mainBuffer |
protected StringBuilder |
m_outputBuffer |
protected StringBuilder |
m_staticsBuffer |
| Constructor and Description |
|---|
CodeGenerator() |
| Modifier and Type | Method and Description |
|---|---|
void |
genAnnotation(String ann)
Generate annotation.
|
void |
genClassStart(String mod,
String name,
String[] superClasses,
String[] superInterfaces)
Generate a class with a given name, an array of superclass and another
array of super interfaes
|
void |
genCode(char c) |
void |
genCode(String s) |
void |
genCodeLine(String s) |
void |
genCodeNewLine() |
void |
generateMethodDefHeader(String modsAndRetType,
String className,
String nameAndParams) |
void |
generateMethodDefHeader(String sQualifiedModsAndRetType,
String sClassName,
String sNameAndParams,
String sExceptions) |
void |
genModifier(String mod)
Generate a modifier
|
void |
genStringLiteralArrayCPP(String varName,
String[] arr) |
void |
genStringLiteralInCPP(String s) |
static String |
getCharStreamName() |
protected String |
getClassQualifier(String className) |
String |
getGeneratedCode()
for testing
|
protected String |
getLeadingComments(Token t) |
protected EOutputLanguage |
getOutputLanguage() |
protected String |
getStringForTokenOnly(Token t) |
protected String |
getStringToPrint(Token t) |
protected String |
getTrailingComments(Token t) |
protected void |
printLeadingComments(Token t) |
protected void |
printToken(Token t) |
protected void |
printTokenList(List<Token> list) |
protected void |
printTokenOnly(Token t) |
protected void |
printTokenSetup(Token t) |
protected void |
printTrailingComments(Token t) |
void |
saveOutput(String fileName) |
void |
saveOutput(String fileName,
StringBuilder sb) |
void |
switchToIncludeFile() |
void |
switchToMainFile() |
void |
switchToStaticsFile() |
protected void |
writeTemplate(String name,
Map<String,Object> options) |
protected StringBuilder m_mainBuffer
protected StringBuilder m_includeBuffer
protected StringBuilder m_staticsBuffer
protected StringBuilder m_outputBuffer
protected int m_cline
protected int m_ccol
@Nonnull protected final EOutputLanguage getOutputLanguage()
public void switchToMainFile()
public void switchToStaticsFile()
public void switchToIncludeFile()
public void genStringLiteralInCPP(String s)
public void genCode(char c)
public final void genCode(String s)
public final void genCodeNewLine()
public final void genCodeLine(String s)
public void saveOutput(String fileName)
public void saveOutput(String fileName, StringBuilder sb)
protected void printTokenSetup(Token t)
protected void printTokenOnly(Token t)
protected final void printLeadingComments(Token t)
protected void printTrailingComments(Token t)
public String getGeneratedCode()
public void genAnnotation(String ann)
public void genModifier(String mod)
public void genClassStart(String mod, String name, String[] superClasses, String[] superInterfaces)
public void generateMethodDefHeader(String modsAndRetType, String className, String nameAndParams)
public void generateMethodDefHeader(String sQualifiedModsAndRetType, String sClassName, String sNameAndParams, String sExceptions)
public static String getCharStreamName()
protected void writeTemplate(String name, Map<String,Object> options) throws IOException
IOExceptionCopyright © 2017–2019 Philip Helger. All rights reserved.