public class Generator extends Object implements Closeable
When attempting to understand what the Generator does, try to run experiments and inspect the generated code: It is quite readable.
Moreover, although Generator is the one ultimately doing something with the various annotations it relies on, it was easier to describe the behavior its meant to have with them as part of the documentation of the annotations, so we can refer to them to understand more about how Generator should work:
Adapter
,
Allocator
,
ArrayAllocator
,
ByPtr
,
ByPtrPtr
,
ByPtrRef
,
ByRef
,
ByVal
,
Cast
,
Const
,
Convention
,
Function
,
Index
,
MemberGetter
,
MemberSetter
,
Name
,
Namespace
,
NoDeallocator
,
NoException
,
NoOffset
,
Opaque
,
Platform
,
Raw
,
ValueGetter
,
ValueSetter
Modifier and Type | Field and Description |
---|---|
(package private) IndexedSet<Class> |
arrayDeallocators |
(package private) static List<Class> |
baseClasses |
(package private) IndexedSet<String> |
callbacks |
(package private) IndexedSet<Class> |
deallocators |
(package private) IndexedSet<Class> |
functions |
(package private) IndexedSet<Class> |
jclasses |
(package private) IndexedSet<Class> |
jclassesInit |
(package private) static String |
JNI_VERSION |
(package private) Logger |
logger |
(package private) boolean |
mayThrowExceptions |
(package private) HashMap<Class,LinkedList<String>> |
members |
(package private) PrintWriter |
out |
(package private) PrintWriter |
out2 |
(package private) ClassProperties |
properties |
(package private) boolean |
usesAdapters |
(package private) HashMap<Class,LinkedList<String>> |
virtualFunctions |
(package private) HashMap<Class,LinkedList<String>> |
virtualMembers |
Constructor and Description |
---|
Generator(Logger logger,
ClassProperties properties) |
Modifier and Type | Method and Description |
---|---|
(package private) AdapterInformation |
adapterInformation(boolean out,
MethodInformation methodInfo,
int j) |
(package private) AdapterInformation |
adapterInformation(boolean out,
String valueTypeName,
Annotation... annotations) |
(package private) Annotation |
behavior(Annotation... annotations) |
(package private) Annotation |
by(Annotation... annotations) |
(package private) Annotation |
by(MethodInformation methodInfo,
int j) |
(package private) void |
call(MethodInformation methodInfo,
String returnPrefix,
boolean secondCall) |
(package private) void |
callback(Class<?> cls,
Method callbackMethod,
String callbackName,
boolean needDefinition,
MethodInformation methodInfo) |
(package private) void |
callbackAllocator(Class cls,
String callbackName) |
(package private) String |
cast(Class<?> type,
Annotation... annotations) |
(package private) String |
cast(MethodInformation methodInfo,
int j) |
(package private) boolean |
checkPlatform(Class<?> cls) |
(package private) boolean |
checkPlatform(Platform platform) |
(package private) boolean |
classes(boolean handleExceptions,
boolean defineAdapters,
String classPath,
Class<?>... classes) |
void |
close() |
(package private) static String |
constValueTypeName(String... typeName) |
(package private) String[] |
cppAnnotationTypeName(Class<?> type,
Annotation... annotations) |
(package private) String[] |
cppCastTypeName(Class<?> type,
Annotation... annotations) |
(package private) String[] |
cppFunctionTypeName(Method functionMethod) |
(package private) static String |
cppScopeName(Class<?> type) |
(package private) static String |
cppScopeName(MethodInformation methodInfo) |
(package private) String[] |
cppTypeName(Class<?> type) |
(package private) static String |
functionClassName(Class<?> cls) |
(package private) static Method |
functionMethod(Class<?> cls,
boolean[] callbackAllocators) |
boolean |
generate(String sourceFilename,
String headerFilename,
String classPath,
Class<?>... classes) |
(package private) static String |
jniTypeName(Class type) |
(package private) static String |
mangle(String name) |
(package private) MethodInformation |
methodInformation(Method method) |
(package private) boolean |
methods(Class<?> cls) |
(package private) static boolean |
noException(Class<?> cls,
Method method) |
(package private) void |
parametersAfter(MethodInformation methodInfo) |
(package private) void |
parametersBefore(MethodInformation methodInfo) |
(package private) void |
returnAfter(MethodInformation methodInfo) |
(package private) String |
returnBefore(MethodInformation methodInfo) |
(package private) static String |
signature(Class... types) |
(package private) static String |
valueTypeName(String... typeName) |
static final String JNI_VERSION
final Logger logger
final ClassProperties properties
PrintWriter out
PrintWriter out2
IndexedSet<String> callbacks
IndexedSet<Class> functions
IndexedSet<Class> deallocators
IndexedSet<Class> arrayDeallocators
IndexedSet<Class> jclasses
IndexedSet<Class> jclassesInit
HashMap<Class,LinkedList<String>> members
HashMap<Class,LinkedList<String>> virtualFunctions
HashMap<Class,LinkedList<String>> virtualMembers
boolean mayThrowExceptions
boolean usesAdapters
public Generator(Logger logger, ClassProperties properties)
public boolean generate(String sourceFilename, String headerFilename, String classPath, Class<?>... classes) throws FileNotFoundException
FileNotFoundException
public void close()
close
in interface Closeable
close
in interface AutoCloseable
boolean classes(boolean handleExceptions, boolean defineAdapters, String classPath, Class<?>... classes)
boolean methods(Class<?> cls)
void parametersBefore(MethodInformation methodInfo)
String returnBefore(MethodInformation methodInfo)
void call(MethodInformation methodInfo, String returnPrefix, boolean secondCall)
void returnAfter(MethodInformation methodInfo)
void parametersAfter(MethodInformation methodInfo)
void callback(Class<?> cls, Method callbackMethod, String callbackName, boolean needDefinition, MethodInformation methodInfo)
boolean checkPlatform(Class<?> cls)
boolean checkPlatform(Platform platform)
MethodInformation methodInformation(Method method)
AdapterInformation adapterInformation(boolean out, MethodInformation methodInfo, int j)
AdapterInformation adapterInformation(boolean out, String valueTypeName, Annotation... annotations)
String cast(MethodInformation methodInfo, int j)
String cast(Class<?> type, Annotation... annotations)
Annotation by(MethodInformation methodInfo, int j)
Annotation by(Annotation... annotations)
Annotation behavior(Annotation... annotations)
String[] cppAnnotationTypeName(Class<?> type, Annotation... annotations)
String[] cppCastTypeName(Class<?> type, Annotation... annotations)
static String cppScopeName(MethodInformation methodInfo)
Copyright © 2015. All Rights Reserved.