Package org.fusesource.hawtjni.generator
Class MozillaGenerator
- java.lang.Object
-
- org.fusesource.hawtjni.generator.MozillaGenerator
-
public class MozillaGenerator extends java.lang.Object
Produces the java classes mapping to XPCOM Mozilla objects.
-
-
Field Summary
Fields Modifier and Type Field Description (package private) java.lang.String[][]
argNames
(package private) java.lang.String[][]
argTypes
(package private) java.lang.String[]
b
(package private) static java.lang.String[]
BEFORE_METHOD_NAME
(package private) java.lang.String
body
(package private) java.lang.String
bodyOrder
(package private) java.lang.String
className
(package private) int
cntLines
(package private) static int
CONSTANT
(package private) java.lang.String[]
constantNames
(package private) java.lang.String[]
constantValues
(package private) static java.lang.String
COPYRIGHTS
(package private) static boolean
DEBUG
(package private) static int
END_BODY
(package private) static java.lang.String
GECKO
(package private) int
maxLines
(package private) static int
METHOD
(package private) java.lang.String[]
methodNames
(package private) int
n
(package private) int
nMethods
(package private) static java.lang.String
NO_SUPER_CLASS
(package private) static java.lang.String
PACKAGE_DECLARATION
(package private) java.lang.String
parentName
(package private) java.io.FileReader
r
(package private) static java.lang.String
TARGET_FOLDER
(package private) static java.lang.String[][]
TYPES_C2JAVA
(package private) java.lang.String
uuidName
(package private) java.lang.String
uuidValue
(package private) java.util.TreeMap<java.lang.Integer,java.util.TreeSet<java.lang.String>>
vtbls
(package private) java.io.FileWriter
w
(package private) static java.lang.String[]
XPCOM_HEADERS
-
Constructor Summary
Constructors Constructor Description MozillaGenerator()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) static int
count(java.lang.String s, java.lang.String part)
(package private) java.lang.String
getC2JavaType(java.lang.String cType)
(package private) java.lang.String
getClassName(java.lang.String declaration)
java.lang.String
getPackages()
(package private) java.lang.String
getParentName(java.lang.String declaration)
(package private) java.lang.String
getUuidName(java.lang.String declaration)
(package private) java.lang.String
getUuidValue(java.lang.String declaration)
(package private) boolean
isEndOfInterfaceBody()
(package private) void
jumpToInterfaceDeclaration()
(package private) int
jumpToNextConstantOrMethod()
(package private) boolean
jumpToUuidDeclaration()
void
logVtblCall(java.lang.String[] argTypes)
static void
main(java.lang.String[] args)
(package private) int
methodNameEndIndexOf(java.lang.String line)
(package private) int
methodNameStartIndexOf(java.lang.String line)
void
outputVtblCall()
boolean
parse()
void
parse(java.lang.String src, java.lang.String destPath)
Parsing invoking write callbacks(package private) void
parseArgs(java.lang.String args, int methodIndex)
(package private) void
parseBody()
(package private) void
parseConstant(java.lang.String constant, int constantIndex)
(package private) void
parseMethod(java.lang.String line, int methodIndex)
void
write(java.lang.String data)
Write callbacksvoid
writeAddressField()
void
writeAddressGetter()
void
writeClassDeclaration(java.lang.String className, java.lang.String parentName)
void
writeClassEnd()
void
writeConstant(java.lang.String name, java.lang.String value)
void
writeConstructor(java.lang.String className, java.lang.String parentName)
void
writeCopyrights()
void
writeIID(java.lang.String uuidName, java.lang.String uuidValue)
void
writeLastMethodId(java.lang.String parentName, int nMethods)
void
writeLine()
void
writeLine(java.lang.String data)
void
writeMethod(java.lang.String name, java.lang.String parentName, int methodIndex, java.lang.String[] argTypes, java.lang.String[] argNames)
void
writePackageDeclaration()
-
-
-
Field Detail
-
DEBUG
static boolean DEBUG
-
r
java.io.FileReader r
-
w
java.io.FileWriter w
-
maxLines
int maxLines
-
cntLines
int cntLines
-
n
int n
-
b
java.lang.String[] b
-
body
java.lang.String body
-
nMethods
int nMethods
-
uuidName
java.lang.String uuidName
-
uuidValue
java.lang.String uuidValue
-
className
java.lang.String className
-
parentName
java.lang.String parentName
-
constantNames
java.lang.String[] constantNames
-
constantValues
java.lang.String[] constantValues
-
methodNames
java.lang.String[] methodNames
-
argTypes
java.lang.String[][] argTypes
-
argNames
java.lang.String[][] argNames
-
bodyOrder
java.lang.String bodyOrder
-
vtbls
java.util.TreeMap<java.lang.Integer,java.util.TreeSet<java.lang.String>> vtbls
-
BEFORE_METHOD_NAME
static java.lang.String[] BEFORE_METHOD_NAME
-
NO_SUPER_CLASS
static java.lang.String NO_SUPER_CLASS
-
TYPES_C2JAVA
static java.lang.String[][] TYPES_C2JAVA
-
GECKO
static java.lang.String GECKO
-
TARGET_FOLDER
static java.lang.String TARGET_FOLDER
-
XPCOM_HEADERS
static java.lang.String[] XPCOM_HEADERS
-
CONSTANT
static int CONSTANT
-
METHOD
static int METHOD
-
END_BODY
static int END_BODY
-
COPYRIGHTS
static java.lang.String COPYRIGHTS
-
PACKAGE_DECLARATION
static java.lang.String PACKAGE_DECLARATION
-
-
Method Detail
-
main
public static void main(java.lang.String[] args)
-
write
public void write(java.lang.String data)
Write callbacks
-
writeLine
public void writeLine()
-
writeLine
public void writeLine(java.lang.String data)
-
writeCopyrights
public void writeCopyrights()
-
writePackageDeclaration
public void writePackageDeclaration()
-
writeClassDeclaration
public void writeClassDeclaration(java.lang.String className, java.lang.String parentName)
-
writeLastMethodId
public void writeLastMethodId(java.lang.String parentName, int nMethods)
-
writeIID
public void writeIID(java.lang.String uuidName, java.lang.String uuidValue)
-
writeAddressField
public void writeAddressField()
-
writeConstructor
public void writeConstructor(java.lang.String className, java.lang.String parentName)
-
writeAddressGetter
public void writeAddressGetter()
-
writeConstant
public void writeConstant(java.lang.String name, java.lang.String value)
-
writeMethod
public void writeMethod(java.lang.String name, java.lang.String parentName, int methodIndex, java.lang.String[] argTypes, java.lang.String[] argNames)
-
writeClassEnd
public void writeClassEnd()
-
logVtblCall
public void logVtblCall(java.lang.String[] argTypes)
-
outputVtblCall
public void outputVtblCall()
-
parse
public void parse(java.lang.String src, java.lang.String destPath)
Parsing invoking write callbacks
-
getPackages
public java.lang.String getPackages()
-
parse
public boolean parse()
-
jumpToUuidDeclaration
boolean jumpToUuidDeclaration()
-
getUuidName
java.lang.String getUuidName(java.lang.String declaration)
-
getUuidValue
java.lang.String getUuidValue(java.lang.String declaration)
-
jumpToInterfaceDeclaration
void jumpToInterfaceDeclaration()
-
getClassName
java.lang.String getClassName(java.lang.String declaration)
-
getParentName
java.lang.String getParentName(java.lang.String declaration)
-
parseBody
void parseBody()
-
isEndOfInterfaceBody
boolean isEndOfInterfaceBody()
-
jumpToNextConstantOrMethod
int jumpToNextConstantOrMethod()
-
parseConstant
void parseConstant(java.lang.String constant, int constantIndex)
-
parseMethod
void parseMethod(java.lang.String line, int methodIndex)
-
methodNameStartIndexOf
int methodNameStartIndexOf(java.lang.String line)
-
methodNameEndIndexOf
int methodNameEndIndexOf(java.lang.String line)
-
parseArgs
void parseArgs(java.lang.String args, int methodIndex)
-
getC2JavaType
java.lang.String getC2JavaType(java.lang.String cType)
-
count
static int count(java.lang.String s, java.lang.String part)
-
-