|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.jogamp.gluegen.MethodBinding
public class MethodBinding
Represents the binding of a C function to a Java method. Also used to represent calls through function pointers contained in structs.
Constructor Summary | |
---|---|
MethodBinding(FunctionSymbol sym)
Constructor for calling a C function. |
|
MethodBinding(FunctionSymbol sym,
JavaType containingType,
Type containingCType)
Constructor for calling a function pointer contained in a struct. |
|
MethodBinding(MethodBinding bindingToCopy)
Constructs a new MethodBinding that is an exact clone of the argument, including the java return type and java argument types. |
Method Summary | |
---|---|
void |
addAliasedName(String name)
|
void |
addJavaArgumentType(JavaType type)
|
boolean |
argumentsUseNIO()
Returns true if any of the outgoing arguments in the method's signature require conversion or checking due to the use of New I/O. |
void |
clearThisPointer()
Clears any record of a this pointer for this MethodBinding. |
Object |
clone()
|
protected void |
computeSignatureProperties()
Computes summary information about the method's C and Java signatures. |
boolean |
equals(Object obj)
|
protected String |
erasedTypeDescriptor(JavaType type,
boolean eraseBufferAndArrayTypes,
boolean skipBuffers)
|
void |
findThisPointer()
Find the leftmost argument matching the type of the containing type (for function pointer MethodBindings) and record that as a "this" pointer, meaning that it does not need to be explicitly passed at the Java level. |
Collection<String> |
getAliasedNames()
|
String |
getArgumentName(int i)
Returns either the argument name specified by the underlying FunctionSymbol or a fabricated argument name based on the position. |
Type |
getCArgumentType(int i)
|
Type |
getContainingCType()
Retrieves the containing C type of this MethodBinding if it is for a function pointer contained in a struct. |
JavaType |
getContainingType()
Retrieves the containing type of this MethodBinding if it is for a function pointer contained in a struct. |
Type |
getCReturnType()
|
FunctionSymbol |
getCSymbol()
|
String |
getDescriptor(boolean forImplementingMethodCall,
boolean eraseBufferAndArrayTypes)
Returns a String containing the descriptor (signature in internal format) of this MethodBinding as it will be emitted. |
JavaType |
getJavaArgumentType(int i)
|
JavaType |
getJavaReturnType()
|
String |
getName()
|
int |
getNumArguments()
|
String |
getOrigName()
|
boolean |
hasContainingType()
Indicates whether this MethodBinding is for a function pointer contained in a struct. |
int |
hashCode()
|
boolean |
isArgumentThisPointer(int i)
Indicates whether the ith argument to this MethodBinding is actually a "this" pointer. |
boolean |
needsNIOWrappingOrUnwrapping()
Returns true if the function needs NIO-related wrapping/unwrapping or conversion of various arguments. |
void |
renameMethodName(String name)
Supports renaming C function in Java binding. |
MethodBinding |
replaceJavaArgumentType(int argumentNumber,
JavaType newArgType)
Creates a new MethodBinding replacing the specified Java argument type with a new argument type. |
void |
setJavaReturnType(JavaType type)
|
boolean |
signatureCanUseIndirectNIO()
Returns true if it is possible for any of the outgoing arguments to be indirect NIO buffers. |
boolean |
signatureUsesArraysOfCompoundTypeWrappers()
Returns true if the return type or any of the outgoing arguments in the method's signature use arrays of "compound type wrappers", or NIO-based wrappers for C data structures. |
boolean |
signatureUsesCArrays()
Returns true if the return type or any of the outgoing arguments in the method's signature represent C arrays. |
boolean |
signatureUsesCompoundTypeWrappers()
Returns true if the return type or any of the outgoing arguments in the method's signature use "compound type wrappers", or NIO-based wrappers for C data structures. |
boolean |
signatureUsesCPrimitivePointers()
Returns true if the return type or any of the outgoing arguments in the method's signature represent C primitive pointers. |
boolean |
signatureUsesCVoidPointers()
Returns true if the return type or any of the outgoing arguments in the method's signature represent C void* pointers. |
boolean |
signatureUsesJavaPrimitiveArrays()
Returns true if the return type or any of the outgoing arguments in the method's signature represent Java primitive arrays. |
boolean |
signatureUsesNIO()
Returns true if the return type or any of the outgoing arguments in the method's signature require conversion or checking due to the use of New I/O. |
String |
toString()
Returns the signature of this binding. |
Methods inherited from class java.lang.Object |
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public MethodBinding(MethodBinding bindingToCopy)
public MethodBinding(FunctionSymbol sym)
public MethodBinding(FunctionSymbol sym, JavaType containingType, Type containingCType)
Method Detail |
---|
public void setJavaReturnType(JavaType type)
public void addJavaArgumentType(JavaType type)
public JavaType getJavaReturnType()
public int getNumArguments()
public JavaType getJavaArgumentType(int i)
public Type getCReturnType()
public Type getCArgumentType(int i)
public FunctionSymbol getCSymbol()
public String getArgumentName(int i)
public String getOrigName()
public String getName()
public void renameMethodName(String name)
public void addAliasedName(String name)
public Collection<String> getAliasedNames()
public MethodBinding replaceJavaArgumentType(int argumentNumber, JavaType newArgType)
public boolean argumentsUseNIO()
public boolean signatureUsesNIO()
public boolean signatureCanUseIndirectNIO()
public boolean signatureUsesCompoundTypeWrappers()
public boolean signatureUsesArraysOfCompoundTypeWrappers()
public boolean needsNIOWrappingOrUnwrapping()
public boolean signatureUsesCVoidPointers()
public boolean signatureUsesCPrimitivePointers()
public boolean signatureUsesCArrays()
public boolean signatureUsesJavaPrimitiveArrays()
protected void computeSignatureProperties()
public boolean hasContainingType()
public JavaType getContainingType()
public Type getContainingCType()
public void findThisPointer()
public void clearThisPointer()
public boolean isArgumentThisPointer(int i)
public boolean equals(Object obj)
equals
in class Object
public int hashCode()
hashCode
in class Object
public String toString()
toString
in class Object
public final Object clone()
clone
in class Object
public String getDescriptor(boolean forImplementingMethodCall, boolean eraseBufferAndArrayTypes)
protected String erasedTypeDescriptor(JavaType type, boolean eraseBufferAndArrayTypes, boolean skipBuffers)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |