public class JavaConfiguration extends Object
Modifier and Type | Field and Description |
---|---|
protected Logging.LoggerIf |
LOG |
static String |
NEWLINE |
Constructor and Description |
---|
JavaConfiguration() |
Modifier and Type | Method and Description |
---|---|
JavaEmitter.MethodAccess |
accessControl(String name)
Returns the access control for the given method-name
or fully qualified class-name.
|
protected void |
addClassJavadoc(String className,
String code) |
protected void |
addCustomJavaCode(String className,
String code) |
void |
addDelegateImplementation(String origName,
String renamedImpl)
Programmatically adds a delegate implementation directive for the given symbol.
|
protected void |
addJavaPrologueOrEpilogue(String methodName,
String code,
boolean prologue) |
void |
addJavaSymbolRename(String origName,
String newName)
Programmatically adds a rename directive for the given symbol.
|
protected void |
addMethodJavadoc(String methodName,
String code) |
TypeInfo |
addTypeInfo(String alias,
Type superType) |
protected void |
addTypeInfo(TypeInfo info) |
void |
addUseNIODirectOnly(String fname) |
void |
addUseNIOOnly(String fname) |
boolean |
allStatic()
Returns true if the emission style is AllStatic.
|
TypeInfo |
canonicalNameOpaque(String canonicalName)
If the given
canonicalName should be considered opaque,
returns the TypeInfo describing the replacement type. |
static String |
canonicalStructFieldSymbol(String structName,
String fieldName)
Returns the canonical configuration name for a struct field name,
i.e.
|
String |
className()
Returns the class name parsed from the configuration file.
|
List<String> |
customCCode()
Returns, as a List of Strings, the custom C code to be emitted
along with the glue code for the main class.
|
List<String> |
customJavaCodeForClass(String className)
Returns a list of Strings containing user-implemented code for
the given Java type name (not fully-qualified, only the class
name); returns either null or an empty list if there is no
custom code for the class.
|
protected void |
dispatch(String cmd,
StringTokenizer tok,
File file,
String filename,
int lineNo) |
protected void |
doInclude(StringTokenizer tok,
File file,
String filename,
int lineNo) |
protected void |
doIncludeAs(StringTokenizer tok,
File file,
String filename,
int lineNo) |
JavaEmitter.EmissionStyle |
emissionStyle()
Returns the code emission style (constants in JavaEmitter) parsed from the configuration file.
|
boolean |
emitImpl()
Returns true if an implementing class should be emitted during glue code generation.
|
boolean |
emitInterface()
Returns true if an interface should be emitted during glue code generation.
|
List<String> |
extendedInterfaces(String interfaceName)
Returns a List of Strings indicating the interfaces the passed
interface should declare it extends.
|
String |
extendedParentClass(String className)
Returns a List of Strings indicating the interfaces the passed
class should declare it implements.
|
List<String> |
forcedStructs()
Returns, as a List of Strings, the structs for which glue code
emission should be forced.
|
boolean |
forceStaticInitCode(String clazzName)
Returns true if the static initialization java code implementing
initializeImpl()
and the native code implementing: |
Set<String> |
getAliasedDocNames(AliasedSymbol symbol)
Return a set of aliased-name for comment in docs.
|
protected static ASTLocusTag |
getASTLocusTag(AliasedSymbol s) |
String |
getDelegatedImplementation(AliasedSymbol symbol)
Returns the
RENAMED-IMPL-SYMBOL if the implementation of the glue code
of the given function shall be manually delegated by the end user. |
String |
getDelegatedImplementation(String functionName)
Variant of
getDelegatedImplementation(AliasedSymbol) ,
where this method only considers the current-name
of the given symbol, not the renamed-symbol . |
String |
getJavaSymbolRename(String origName)
Returns a replacement name for this function or definition which
should be used as the Java name for the bound method or
constant.
|
JavaType |
getOpaqueReturnType(AliasedSymbol symbol)
|
JavaType |
getOpaqueReturnType(String functionName)
Variant of
getOpaqueReturnType(AliasedSymbol) ,
where this method only considers the current-name
of the given symbol, not the renamed-symbol . |
Set<String> |
getRenamedJavaSymbols(String aliasedName)
Returns a set of replaced names to the given
aliasedName . |
String |
gluegenRuntimePackage()
Returns the package in which the generated glue code expects to
find its run-time helper classes (Buffers, Platform,
StructAccessor).
|
String |
implClassName()
Returns the implementation class name parsed from the configuration file.
|
List<String> |
implementedInterfaces(String className)
Returns a List of Strings indicating the interfaces the passed
class should declare it implements.
|
String |
implPackageName()
Returns the implementation package name parsed from the configuration file.
|
List<String> |
imports()
Returns the list of imports that should be emitted at the top of each .java file.
|
boolean |
isForceUsingNIOOnly4All() |
boolean |
isUnimplemented(AliasedSymbol symbol)
Returns true if this function should be given a body which
throws a run-time exception with an "unimplemented" message
during glue code generation.
|
List<String> |
javadocForClass(String className)
Returns a list of Strings containing Javadoc documentation for
the given Java type name (not fully-qualified, only the class
name); returns either null or an empty list if there is no
Javadoc documentation for the class.
|
List<String> |
javadocForMethod(String methodName) |
List<String> |
javaEpilogueForMethod(MethodBinding binding,
boolean forImplementingMethodCall,
boolean eraseBufferAndArrayTypes)
Returns a list of Strings which should be emitted as an epilogue
to the body for the Java-side glue code for the given method.
|
String |
javaOutputDir()
Returns the Java code output directory parsed from the configuration file.
|
List<String> |
javaPrologueForMethod(MethodBinding binding,
boolean forImplementingMethodCall,
boolean eraseBufferAndArrayTypes)
Returns a list of Strings which should be emitted as a prologue
to the body for the Java-side glue code for the given method.
|
void |
logIgnores() |
void |
logIgnoresOnce() |
void |
logRenames() |
void |
logRenamesOnce() |
boolean |
manuallyImplement(AliasedSymbol symbol)
Returns true if the glue code for the given aliased function will be
manually implemented by the end user.
|
boolean |
manuallyImplement(String functionName)
Variant of
manuallyImplement(AliasedSymbol) ,
where this method only considers the current-name
of the given symbol, not the renamed-symbol . |
boolean |
manualStaticInitCall(String clazzName)
Returns true if the static initialization java code calling
initializeImpl()
for the given class will be manually implemented by the end user
as requested via configuration directive ManualStaticInitCall 'class-name' . |
String |
nativeOutputDir()
Returns the native code output directory parsed from the configuration file.
|
boolean |
nativeOutputUsesJavaHierarchy()
Returns whether the native code directory structure mirrors the Java hierarchy.
|
static <K,V> V |
oneInMap(Map<K,V> map,
Set<K> symbols) |
static <K> boolean |
oneInSet(Set<K> set1,
Set<K> set2) |
String |
packageForStruct(String structName)
Returns the package into which to place the glue code for
accessing the specified struct.
|
String |
packageName()
Returns the package name parsed from the configuration file.
|
protected static TypeInfo |
parseTypeInfo(String cType,
JavaType javaType) |
void |
read(String filename)
Reads the configuration file.
|
protected void |
read(String filename,
String linePrefix)
Reads the specified file, treating each line as if it started with the
specified string.
|
protected void |
readAccessControl(StringTokenizer tok,
String filename,
int lineNo) |
protected void |
readArgumentIsString(StringTokenizer tok,
String filename,
int lineNo)
When const char* arguments in the C function prototypes are encountered,
the emitter will normally convert them to
byte[]
arguments. |
protected Boolean |
readBoolean(String cmd,
StringTokenizer tok,
String filename,
int lineNo) |
protected void |
readClassJavadoc(StringTokenizer tok,
String filename,
int lineNo) |
protected void |
readCustomCCode(StringTokenizer tok,
String filename,
int lineNo) |
protected void |
readCustomJavaCode(StringTokenizer tok,
String filename,
int lineNo) |
void |
readDelegateImplementation(StringTokenizer tok,
String filename,
int lineNo) |
protected void |
readExtend(StringTokenizer tok,
String filename,
int lineNo) |
protected void |
readExtendedIntfImplSymbols(StringTokenizer tok,
String filename,
int lineNo,
boolean forInterface,
boolean forImplementation,
boolean onlyList) |
protected void |
readForceStaticInitCode(StringTokenizer tok,
String filename,
int lineNo) |
protected void |
readIgnore(StringTokenizer tok,
String filename,
int lineNo) |
protected void |
readIgnoreField(StringTokenizer tok,
String filename,
int lineNo) |
protected void |
readIgnoreNot(StringTokenizer tok,
String filename,
int lineNo) |
protected void |
readImplements(StringTokenizer tok,
String filename,
int lineNo) |
protected void |
readJavaPrologueOrEpilogue(StringTokenizer tok,
String filename,
int lineNo,
boolean prologue) |
protected void |
readManuallyImplement(StringTokenizer tok,
String filename,
int lineNo) |
protected void |
readManualStaticInitCall(StringTokenizer tok,
String filename,
int lineNo) |
protected void |
readMethodJavadoc(StringTokenizer tok,
String filename,
int lineNo) |
protected void |
readOpaque(StringTokenizer tok,
String filename,
int lineNo) |
protected void |
readParentClass(StringTokenizer tok,
String filename,
int lineNo) |
protected void |
readRangeCheck(StringTokenizer tok,
String filename,
int lineNo,
boolean inBytes) |
protected void |
readRenameJavaSymbol(StringTokenizer tok,
String filename,
int lineNo) |
protected void |
readRenameJavaType(StringTokenizer tok,
String filename,
int lineNo) |
protected void |
readReturnedArrayLength(StringTokenizer tok,
String filename,
int lineNo) |
protected void |
readReturnsOpaque(StringTokenizer tok,
String filename,
int lineNo) |
protected void |
readReturnsString(StringTokenizer tok,
String filename,
int lineNo) |
protected void |
readReturnValueCapacity(StringTokenizer tok,
String filename,
int lineNo) |
protected void |
readReturnValueLength(StringTokenizer tok,
String filename,
int lineNo) |
protected String |
readString(String cmd,
StringTokenizer tok,
String filename,
int lineNo) |
protected void |
readStructMachineDataInfoIndex(StringTokenizer tok,
String filename,
int lineNo) |
protected void |
readStructPackage(StringTokenizer tok,
String filename,
int lineNo) |
protected void |
readTemporaryCVariableAssignment(StringTokenizer tok,
String filename,
int lineNo) |
protected void |
readTemporaryCVariableDeclaration(StringTokenizer tok,
String filename,
int lineNo) |
protected void |
readUnignore(StringTokenizer tok,
String filename,
int lineNo) |
protected void |
readUnimplemented(StringTokenizer tok,
String filename,
int lineNo) |
boolean |
relaxedEqualSemanticsTest()
Returns whether
TypeConfig.SemanticEqualityOp#equalSemantics(TypeConfig.SemanticEqualityOp)
shall attempt to perform a relaxed semantic equality test, e.g. |
String |
renameJavaType(String javaTypeName)
Returns a replacement name for this type, which should be the
name of a Java wrapper class for a C struct, or the name
unchanged if no RenameJavaType directive was specified for this
type.
|
String |
returnedArrayLength(String functionName)
Returns a MessageFormat string of the Java expression calculating
the number of elements in the returned array from the specified function
name.
|
boolean |
returnsString(AliasedSymbol symbol)
Indicates whether the given function (which returns a
char* in C) should be translated as returning a
java.lang.String . |
boolean |
returnsString(String functionName)
Indicates whether the given function (which returns a
char* in C) should be translated as returning a
java.lang.String . |
String |
returnStructMachineDataInfoIndex(String structName)
Returns a MessageFormat string of the Java code defining
mdIdx ,
i.e. |
String |
returnValueCapacity(String functionName)
Returns a MessageFormat string of the C expression calculating
the capacity of the java.nio.ByteBuffer being returned from a
native method, or null if no expression has been specified.
|
String |
returnValueLength(String symbol)
Returns a MessageFormat string of the C expression calculating
the length of the array being returned from a native method.
|
String |
runtimeExceptionType()
Returns the kind of exception to raise if run-time checks fail in the generated code.
|
void |
setOutputRootDir(String s) |
protected boolean |
shouldIgnoreInImpl_Int(AliasedSymbol symbol) |
boolean |
shouldIgnoreInImpl(AliasedSymbol symbol)
Returns true if this aliased symbol should be ignored
during glue code generation of implementation only.
|
protected boolean |
shouldIgnoreInInterface_Int(AliasedSymbol symbol) |
boolean |
shouldIgnoreInInterface(AliasedSymbol symbol)
Returns true if this aliased symbol should be ignored
during glue code generation of interfaces and implementation.
|
boolean |
shouldIgnoreInInterface(String symbol)
Variant of
shouldIgnoreInInterface(AliasedSymbol) ,
where this method only considers the current-name
of the given symbol, not the renamed-symbol . |
protected static boolean |
startsWithDescriptor(String s) |
List<Integer> |
stringArguments(String functionName)
Returns a list of
Integer s which are the indices of const char*
arguments that should be converted to String s. |
protected Class<?> |
stringToPrimitiveType(String type) |
boolean |
structsOnly() |
boolean |
tagNativeBinding()
Returns whether the comment of a native method binding should include a @native tag.
|
List<String> |
temporaryCVariableAssignments(String functionName)
Returns a List of Strings of expressions containing assignments
to temporary C variables in the glue code for the specified
function.
|
List<String> |
temporaryCVariableDeclarations(String functionName)
Returns a List of Strings of expressions declaring temporary C
variables in the glue code for the specified function.
|
TypeInfo |
typeInfo(Type type)
If this type should be considered opaque, returns the TypeInfo
describing the replacement type.
|
String |
unsupportedExceptionType()
Returns the kind of exception to raise if run-time checks fail in the generated code.
|
boolean |
useNIODirectOnly(String functionName)
Returns true if the given function should only create a java.nio
variant, and no array variants, for
void* and other
C primitive pointers. |
boolean |
useNIOOnly(String functionName)
Returns true if the given function should only create a java.nio
variant, and no array variants, for
void* and other
C primitive pointers. |
protected final Logging.LoggerIf LOG
public static String NEWLINE
public final void read(String filename) throws IOException
filename
- path to file that should be readIOException
protected final void read(String filename, String linePrefix) throws IOException
filename
- path to file that should be readlinePrefix
- if not null, treat each line read as if it were
prefixed with the specified string.IOException
public void setOutputRootDir(String s)
public String packageName()
public String implPackageName()
public String className()
public String implClassName()
public boolean structsOnly()
public String javaOutputDir()
public String nativeOutputDir()
public boolean nativeOutputUsesJavaHierarchy()
public boolean tagNativeBinding()
public boolean relaxedEqualSemanticsTest()
TypeConfig.SemanticEqualityOp#equalSemantics(TypeConfig.SemanticEqualityOp)
shall attempt to perform a relaxed semantic equality test, e.g. skip the const
and volatile
qualifier
- or not.public JavaEmitter.EmissionStyle emissionStyle()
public JavaEmitter.MethodAccess accessControl(String name)
public String gluegenRuntimePackage()
public String runtimeExceptionType()
public String unsupportedExceptionType()
public List<String> imports()
public TypeInfo canonicalNameOpaque(String canonicalName)
canonicalName
should be considered opaque,
returns the TypeInfo describing the replacement type.
Returns null if this type should not be considered opaque.
If symbol references a struct fields, see canonicalStructFieldSymbol(String, String)
,
it describes field's array-length or element-count referenced by a pointer.
public TypeInfo typeInfo(Type type)
public boolean returnsString(String functionName)
char*
in C) should be translated as returning a
java.lang.String
.public boolean returnsString(AliasedSymbol symbol)
char*
in C) should be translated as returning a
java.lang.String
.public String returnedArrayLength(String functionName)
1
indicates a single object.
If symbol references a struct fields, see canonicalStructFieldSymbol(String, String)
,
it describes field's array-length or element-count referenced by a pointer.
In case of struct fields, this array length will also be used
for the native C function, i.e. multiplied w/ sizeof(C-Type)
and passed down to native code, if not overriden by
either returnValueCapacity(String)
or returnValueLength(String)
!
public List<Integer> stringArguments(String functionName)
Integer
s which are the indices of const char*
arguments that should be converted to String
s. Returns null if there are no
such hints for the given function name.public boolean isForceUsingNIOOnly4All()
public void addUseNIOOnly(String fname)
public boolean useNIOOnly(String functionName)
void*
and other
C primitive pointers. NIO only still allows usage of array backed not direct Buffers.public void addUseNIODirectOnly(String fname)
public boolean useNIODirectOnly(String functionName)
void*
and other
C primitive pointers. NIO direct only does only allow direct Buffers.
Implies useNIOOnly !public boolean manualStaticInitCall(String clazzName)
initializeImpl()
for the given class will be manually implemented by the end user
as requested via configuration directive ManualStaticInitCall 'class-name'
.public boolean forceStaticInitCode(String clazzName)
initializeImpl()
and the native code implementing:
static jobject JVMUtil_NewDirectByteBufferCopy(JNIEnv *env, void * source_address, jlong capacity);for the given class will be included in the generated code, always, as requested via configuration directive
ForceStaticInitCode 'class-name'
.
If case above code has been generated, static class initialization is generated
to call initializeImpl()
, see manualStaticInitCall(String)
.
public List<String> customJavaCodeForClass(String className)
public List<String> javadocForClass(String className)
public String packageForStruct(String structName)
packageName
).public List<String> customCCode()
public List<String> forcedStructs()
public String returnStructMachineDataInfoIndex(String structName)
mdIdx
,
i.e. the index of the static MachineDescriptor index for structs.
If undefined, code generation uses the default expression:
private static final int mdIdx = MachineDataInfoRuntime.getStatic().ordinal();
public String returnValueCapacity(String functionName)
If symbol references a struct fields, see canonicalStructFieldSymbol(String, String)
,
it describes field's array-length or element-count referenced by a pointer.
public String returnValueLength(String symbol)
If symbol references a struct fields, see canonicalStructFieldSymbol(String, String)
,
it describes field's array-length or element-count referenced by a pointer.
public List<String> temporaryCVariableDeclarations(String functionName)
public List<String> temporaryCVariableAssignments(String functionName)
public List<String> extendedInterfaces(String interfaceName)
public List<String> implementedInterfaces(String className)
public String extendedParentClass(String className)
public void logIgnoresOnce()
public void logIgnores()
public void logRenamesOnce()
public void logRenames()
protected static ASTLocusTag getASTLocusTag(AliasedSymbol s)
public static String canonicalStructFieldSymbol(String structName, String fieldName)
public boolean manuallyImplement(String functionName)
manuallyImplement(AliasedSymbol)
,
where this method only considers the current-name
of the given symbol, not the renamed-symbol
.public boolean manuallyImplement(AliasedSymbol symbol)
Both, the current-name
and all aliases
shall be considered.
If symbol references a struct field or method, see canonicalStructFieldSymbol(String, String)
,
it describes field's array-length or element-count referenced by a pointer.
manuallyImplement(String)
public String getDelegatedImplementation(String functionName)
getDelegatedImplementation(AliasedSymbol)
,
where this method only considers the current-name
of the given symbol, not the renamed-symbol
.public String getDelegatedImplementation(AliasedSymbol symbol)
RENAMED-IMPL-SYMBOL
if the implementation of the glue code
of the given function shall be manually delegated by the end user.
DelegateImplementation <ORIG-SYMBOL> <RENAMED-IMPL-SYMBOL>
The interface is emitted unchanged.
The Java and native-code implementation is renamed to RENAMED-IMPL-SYMBOL
.
The user's manual implementation of ORIG-SYMBOL
may delegate to RENAMED-IMPL-SYMBOL
.
If symbol references a struct field or method, see canonicalStructFieldSymbol(String, String)
,
it describes field's array-length or element-count referenced by a pointer.
public JavaType getOpaqueReturnType(String functionName)
getOpaqueReturnType(AliasedSymbol)
,
where this method only considers the current-name
of the given symbol, not the renamed-symbol
.public JavaType getOpaqueReturnType(AliasedSymbol symbol)
JavaType
for the given function AliasedSymbol
or null
if not opaque.
ReturnsOpaque <Primitive Java Type> <Function Name>
public final boolean shouldIgnoreInInterface(String symbol)
shouldIgnoreInInterface(AliasedSymbol)
,
where this method only considers the current-name
of the given symbol, not the renamed-symbol
.public boolean shouldIgnoreInInterface(AliasedSymbol symbol)
Both, the current-name
and all aliases
shall be considered.
Implementation calls shouldIgnoreInInterface_Int(AliasedSymbol)
and overriding implementations shall ensure its being called as well!
symbol
- the symbolic aliased name to check for exclusionprotected final boolean shouldIgnoreInInterface_Int(AliasedSymbol symbol)
public boolean shouldIgnoreInImpl(AliasedSymbol symbol)
Both, the current-name
and all aliases
shall be considered.
Implementation calls shouldIgnoreInImpl_Int(AliasedSymbol)
and overriding implementations shall ensure its being called as well!
symbol
- the symbolic aliased name to check for exclusionprotected final boolean shouldIgnoreInImpl_Int(AliasedSymbol symbol)
public boolean isUnimplemented(AliasedSymbol symbol)
public Set<String> getAliasedDocNames(AliasedSymbol symbol)
This is usually AliasedSymbol.addAliasedName(String)
,
however an implementation may choose otherwise.
symbol
- the aliased symbol to retrieve the aliasesnull
.public String renameJavaType(String javaTypeName)
public String getJavaSymbolRename(String origName)
public Set<String> getRenamedJavaSymbols(String aliasedName)
aliasedName
.public void addJavaSymbolRename(String origName, String newName)
public void addDelegateImplementation(String origName, String renamedImpl)
public boolean allStatic()
public boolean emitInterface()
public boolean emitImpl()
public List<String> javaPrologueForMethod(MethodBinding binding, boolean forImplementingMethodCall, boolean eraseBufferAndArrayTypes)
public List<String> javaEpilogueForMethod(MethodBinding binding, boolean forImplementingMethodCall, boolean eraseBufferAndArrayTypes)
protected void dispatch(String cmd, StringTokenizer tok, File file, String filename, int lineNo) throws IOException
IOException
protected String readString(String cmd, StringTokenizer tok, String filename, int lineNo)
protected Boolean readBoolean(String cmd, StringTokenizer tok, String filename, int lineNo)
protected Class<?> stringToPrimitiveType(String type) throws ClassNotFoundException
ClassNotFoundException
protected void readAccessControl(StringTokenizer tok, String filename, int lineNo)
protected void readOpaque(StringTokenizer tok, String filename, int lineNo)
protected void readReturnsOpaque(StringTokenizer tok, String filename, int lineNo)
protected void readReturnsString(StringTokenizer tok, String filename, int lineNo)
protected void readReturnedArrayLength(StringTokenizer tok, String filename, int lineNo)
protected void readExtendedIntfImplSymbols(StringTokenizer tok, String filename, int lineNo, boolean forInterface, boolean forImplementation, boolean onlyList)
protected void readIgnore(StringTokenizer tok, String filename, int lineNo)
protected void readUnignore(StringTokenizer tok, String filename, int lineNo)
protected void readIgnoreNot(StringTokenizer tok, String filename, int lineNo)
protected void readUnimplemented(StringTokenizer tok, String filename, int lineNo)
protected void readIgnoreField(StringTokenizer tok, String filename, int lineNo)
protected void readManuallyImplement(StringTokenizer tok, String filename, int lineNo)
protected void readManualStaticInitCall(StringTokenizer tok, String filename, int lineNo)
protected void readForceStaticInitCode(StringTokenizer tok, String filename, int lineNo)
protected void readCustomJavaCode(StringTokenizer tok, String filename, int lineNo)
protected void readCustomCCode(StringTokenizer tok, String filename, int lineNo)
protected void readMethodJavadoc(StringTokenizer tok, String filename, int lineNo)
protected void readClassJavadoc(StringTokenizer tok, String filename, int lineNo)
protected void readArgumentIsString(StringTokenizer tok, String filename, int lineNo)
byte[]
arguments. This directive lets you specify which of those arguments
should be converted to String
arguments instead of
byte[]
. For example, given the C prototype:
void FuncName(const char* ugh, int bar, const char *foo, const char* goop);The emitter will normally emit:
public abstract void FuncName(byte[] ugh, int bar, byte[] foo, byte[] goop);However, if you supplied the following directive:
ArgumentIsString FuncName 0 2The emitter will instead emit:
public abstract void FuncName(String ugh, int bar, String foo, byte[] goop);
protected void readStructPackage(StringTokenizer tok, String filename, int lineNo)
protected void readStructMachineDataInfoIndex(StringTokenizer tok, String filename, int lineNo)
protected void readReturnValueCapacity(StringTokenizer tok, String filename, int lineNo)
protected void readReturnValueLength(StringTokenizer tok, String filename, int lineNo)
protected void readTemporaryCVariableDeclaration(StringTokenizer tok, String filename, int lineNo)
protected void readTemporaryCVariableAssignment(StringTokenizer tok, String filename, int lineNo)
protected void doInclude(StringTokenizer tok, File file, String filename, int lineNo) throws IOException
IOException
protected void doIncludeAs(StringTokenizer tok, File file, String filename, int lineNo) throws IOException
IOException
protected void readExtend(StringTokenizer tok, String filename, int lineNo)
protected void readImplements(StringTokenizer tok, String filename, int lineNo)
protected void readParentClass(StringTokenizer tok, String filename, int lineNo)
protected void readRenameJavaType(StringTokenizer tok, String filename, int lineNo)
protected void readRenameJavaSymbol(StringTokenizer tok, String filename, int lineNo)
public void readDelegateImplementation(StringTokenizer tok, String filename, int lineNo)
protected void readJavaPrologueOrEpilogue(StringTokenizer tok, String filename, int lineNo, boolean prologue)
protected void addJavaPrologueOrEpilogue(String methodName, String code, boolean prologue)
protected void readRangeCheck(StringTokenizer tok, String filename, int lineNo, boolean inBytes)
protected void addTypeInfo(TypeInfo info)
protected static boolean startsWithDescriptor(String s)