GlueGen v2.6.0-rc-20250712
GlueGen, Native Binding Generator for Java™ (public API).
com.jogamp.gluegen.procaddress.ProcAddressJavaMethodBindingEmitter Class Reference

A specialization of JavaMethodBindingEmitter with knowledge of how to call through a function pointer. More...

Inheritance diagram for com.jogamp.gluegen.procaddress.ProcAddressJavaMethodBindingEmitter:
Collaboration diagram for com.jogamp.gluegen.procaddress.ProcAddressJavaMethodBindingEmitter:

Classes

class  WrappedMethodCommentEmitter
 This class emits the comment for the wrapper method. More...
 

Public Member Functions

 ProcAddressJavaMethodBindingEmitter (final JavaMethodBindingEmitter methodToWrap, final boolean callThroughProcAddress, final String getProcAddressTableExpr, final boolean changeNameAndArguments, final ProcAddressEmitter emitter)
 
 ProcAddressJavaMethodBindingEmitter (final ProcAddressJavaMethodBindingEmitter methodToWrap)
 
String getImplName ()
 
- Public Member Functions inherited from com.jogamp.gluegen.JavaMethodBindingEmitter
 JavaMethodBindingEmitter (final MethodBinding binding, final CodeUnit unit, final String runtimeExceptionType, final String unsupportedExceptionType, final boolean emitBody, final boolean tagNativeBinding, final boolean eraseBufferAndArrayTypes, final boolean useNIOOnly, final boolean useNIODirectOnly, final boolean forDirectBufferImplementation, final boolean forIndirectBufferAndArrayImplementation, final boolean isUnimplemented, final boolean isInterface, final boolean isNativeMethod, final boolean isPrivateNativeMethod, final JavaConfiguration configuration)
 
 JavaMethodBindingEmitter (final JavaMethodBindingEmitter arg)
 
boolean isNativeMethod ()
 
boolean isPrivateNativeMethod ()
 
boolean isForDirectBufferImplementation ()
 
boolean isForIndirectBufferAndArrayImplementation ()
 
String getInterfaceName ()
 
String getImplName ()
 
String getNativeName ()
 
FunctionSymbol getCSymbol ()
 
String getRuntimeExceptionType ()
 The type of exception (must subclass java.lang.RuntimeException) raised if runtime checks fail in the generated code. More...
 
String getUnsupportedExceptionType ()
 
void setReturnedArrayLengthExpression (final String expr)
 If the underlying function returns an array (currently only arrays of compound types are supported) as opposed to a pointer to an object, this method should be called to provide a MessageFormat string containing an expression that computes the number of elements of the returned array. More...
 
void setPrologue (final List< String > prologue)
 Sets the manually-generated prologue code for this emitter. More...
 
void setEpilogue (final List< String > epilogue)
 Sets the manually-generated epilogue code for this emitter. More...
 
boolean signatureOnly ()
 Indicates whether this emitter will print only a signature, or whether it will emit Java code for the body of the method as well. More...
 
void setEmitBody (final boolean emitBody)
 Accessor for subclasses. More...
 
void setEraseBufferAndArrayTypes (final boolean erase)
 Accessor for subclasses. More...
 
void setPrivateNativeMethod (final boolean v)
 Accessor for subclasses. More...
 
void setForDirectBufferImplementation (final boolean direct)
 Accessor for subclasses. More...
 
void setForIndirectBufferAndArrayImplementation (final boolean indirect)
 Accessor for subclasses. More...
 
- Public Member Functions inherited from com.jogamp.gluegen.FunctionEmitter
 FunctionEmitter (final MethodBinding binding, final CodeUnit unit, final boolean isInterface, final JavaConfiguration configuration)
 Constructs the FunctionEmitter with a CommentEmitter that emits nothing. More...
 
 FunctionEmitter (final FunctionEmitter arg)
 Makes this FunctionEmitter a copy of the passed one. More...
 
final boolean isInterface ()
 
final MethodBinding getBinding ()
 
final CodeUnit getUnit ()
 
void addModifiers (final Iterator< EmissionModifier > mi)
 
void addModifier (final EmissionModifier m)
 
boolean removeModifier (final EmissionModifier m)
 
void clearModifiers ()
 
boolean hasModifier (final EmissionModifier m)
 
Iterator< EmissionModifiergetModifiers ()
 
abstract String getInterfaceName ()
 
abstract String getImplName ()
 
abstract String getNativeName ()
 
abstract FunctionSymbol getCSymbol ()
 
final void emit ()
 Emit the function to the getUnit(). More...
 
String toString ()
 
void setCommentEmitter (final CommentEmitter cEmitter)
 Set the object that will emit the comment for this function. More...
 
CommentEmitter getCommentEmitter ()
 Get the comment emitter for this FunctionEmitter. More...
 

Protected Member Functions

int appendArguments (final StringBuilder buf)
 Returns the number of arguments emitted. More...
 
String getNativeImplMethodName ()
 
void emitPreCallSetup (final MethodBinding binding)
 
int emitCallArguments (final MethodBinding binding)
 
- Protected Member Functions inherited from com.jogamp.gluegen.JavaMethodBindingEmitter
String getArgumentName (final int i)
 
void setReturnedArrayLengthExpression (final String expr, final boolean onlyForComments)
 
String getReturnedArrayLengthExpression ()
 
String getReturnedArrayLengthComment ()
 
StringBuilder appendReturnType (final StringBuilder buf)
 
String erasedTypeString (final JavaType type, final boolean skipBuffers)
 
String getReturnTypeString (final boolean skipArray)
 
StringBuilder appendName (final StringBuilder buf)
 
int appendArguments (final StringBuilder buf)
 Returns the number of arguments emitted. More...
 
String getNativeImplMethodName ()
 
String byteOffsetArgName (final int i)
 
String isNIOArgName (final int i)
 
String isNIOArgName (final String s)
 
String byteOffsetArrayArgName (final int i)
 
String offsetArgName (final int i)
 
void emitAdditionalCode ()
 
void emitBody ()
 
void emitPrologueOrEpilogue (final List< String > code)
 
void emitPreCallSetup (final MethodBinding binding)
 
void emitArrayLengthAndNIOBufferChecks (final MethodBinding binding)
 
void emitCompoundArrayCopies (final MethodBinding binding)
 
void emitCall (final MethodBinding binding)
 
void emitReturnVariableSetupAndCall (final MethodBinding binding)
 
int emitCallArguments (final MethodBinding binding)
 
void emitPostCallCleanup (final MethodBinding binding)
 
void emitCallResultReturn (final MethodBinding binding)
 
String[] argumentNameArray ()
 
String getCommentStartString ()
 
String getCommentEndString ()
 
String getBaseIndentString ()
 
- Protected Member Functions inherited from com.jogamp.gluegen.FunctionEmitter
void emitAdditionalCode ()
 
void emitDocComment ()
 
final void emitSignature ()
 
StringBuilder appendSignature (final StringBuilder buf)
 
final int emitModifiers ()
 
int appendModifiers (final StringBuilder buf)
 
String getBaseIndentString ()
 
String getCommentStartString ()
 
String getCommentEndString ()
 
final void emitReturnType ()
 
abstract StringBuilder appendReturnType (StringBuilder buf)
 
final void emitName ()
 
abstract StringBuilder appendName (StringBuilder buf)
 
final int emitArguments ()
 Returns the number of arguments emitted. More...
 
abstract int appendArguments (StringBuilder buf)
 Returns the number of arguments emitted. More...
 
abstract void emitBody ()
 

Protected Attributes

boolean callThroughProcAddress
 
boolean changeNameAndArguments
 
String getProcAddressTableExpr
 
ProcAddressEmitter emitter
 
- Protected Attributes inherited from com.jogamp.gluegen.JavaMethodBindingEmitter
final CommentEmitter defaultJavaCommentEmitter = new DefaultCommentEmitter()
 
final CommentEmitter defaultInterfaceCommentEmitter = new InterfaceCommentEmitter()
 
final boolean tagNativeBinding
 
final boolean useNIODirectOnly
 
List< String > prologue
 
List< String > epilogue
 
- Protected Attributes inherited from com.jogamp.gluegen.FunctionEmitter
final MethodBinding binding
 
final CodeUnit unit
 
final JavaConfiguration cfg
 

Additional Inherited Members

- Static Public Member Functions inherited from com.jogamp.gluegen.JavaMethodBindingEmitter
static String javaThisArgumentName ()
 
- Static Public Attributes inherited from com.jogamp.gluegen.JavaMethodBindingEmitter
static final EmissionModifier PUBLIC = new EmissionModifier("public")
 
static final EmissionModifier PROTECTED = new EmissionModifier("protected")
 
static final EmissionModifier PRIVATE = new EmissionModifier("private")
 
static final EmissionModifier ABSTRACT = new EmissionModifier("abstract")
 
static final EmissionModifier FINAL = new EmissionModifier("final")
 
static final EmissionModifier NATIVE = new EmissionModifier("native")
 
static final EmissionModifier SYNCHRONIZED = new EmissionModifier("synchronized")
 
- Static Public Attributes inherited from com.jogamp.gluegen.FunctionEmitter
static final EmissionModifier STATIC = new EmissionModifier("static")
 
- Static Protected Member Functions inherited from com.jogamp.gluegen.JavaMethodBindingEmitter
static String byteOffsetArgName (final String s)
 

Detailed Description

A specialization of JavaMethodBindingEmitter with knowledge of how to call through a function pointer.

Definition at line 50 of file ProcAddressJavaMethodBindingEmitter.java.

Constructor & Destructor Documentation

◆ ProcAddressJavaMethodBindingEmitter() [1/2]

com.jogamp.gluegen.procaddress.ProcAddressJavaMethodBindingEmitter.ProcAddressJavaMethodBindingEmitter ( final JavaMethodBindingEmitter  methodToWrap,
final boolean  callThroughProcAddress,
final String  getProcAddressTableExpr,
final boolean  changeNameAndArguments,
final ProcAddressEmitter  emitter 
)

Definition at line 58 of file ProcAddressJavaMethodBindingEmitter.java.

Here is the call graph for this function:

◆ ProcAddressJavaMethodBindingEmitter() [2/2]

com.jogamp.gluegen.procaddress.ProcAddressJavaMethodBindingEmitter.ProcAddressJavaMethodBindingEmitter ( final ProcAddressJavaMethodBindingEmitter  methodToWrap)

Definition at line 79 of file ProcAddressJavaMethodBindingEmitter.java.

Member Function Documentation

◆ appendArguments()

int com.jogamp.gluegen.procaddress.ProcAddressJavaMethodBindingEmitter.appendArguments ( final StringBuilder  buf)
protected

Returns the number of arguments emitted.

Reimplemented from com.jogamp.gluegen.JavaMethodBindingEmitter.

Definition at line 94 of file ProcAddressJavaMethodBindingEmitter.java.

◆ emitCallArguments()

int com.jogamp.gluegen.procaddress.ProcAddressJavaMethodBindingEmitter.emitCallArguments ( final MethodBinding  binding)
protected

Reimplemented from com.jogamp.gluegen.JavaMethodBindingEmitter.

Definition at line 133 of file ProcAddressJavaMethodBindingEmitter.java.

Here is the call graph for this function:

◆ emitPreCallSetup()

void com.jogamp.gluegen.procaddress.ProcAddressJavaMethodBindingEmitter.emitPreCallSetup ( final MethodBinding  binding)
protected

Reimplemented from com.jogamp.gluegen.JavaMethodBindingEmitter.

Definition at line 119 of file ProcAddressJavaMethodBindingEmitter.java.

Here is the call graph for this function:

◆ getImplName()

String com.jogamp.gluegen.procaddress.ProcAddressJavaMethodBindingEmitter.getImplName ( )

◆ getNativeImplMethodName()

String com.jogamp.gluegen.procaddress.ProcAddressJavaMethodBindingEmitter.getNativeImplMethodName ( )
protected

Member Data Documentation

◆ callThroughProcAddress

boolean com.jogamp.gluegen.procaddress.ProcAddressJavaMethodBindingEmitter.callThroughProcAddress
protected

Definition at line 52 of file ProcAddressJavaMethodBindingEmitter.java.

◆ changeNameAndArguments

boolean com.jogamp.gluegen.procaddress.ProcAddressJavaMethodBindingEmitter.changeNameAndArguments
protected

Definition at line 53 of file ProcAddressJavaMethodBindingEmitter.java.

◆ emitter

ProcAddressEmitter com.jogamp.gluegen.procaddress.ProcAddressJavaMethodBindingEmitter.emitter
protected

Definition at line 56 of file ProcAddressJavaMethodBindingEmitter.java.

◆ getProcAddressTableExpr

String com.jogamp.gluegen.procaddress.ProcAddressJavaMethodBindingEmitter.getProcAddressTableExpr
protected

Definition at line 55 of file ProcAddressJavaMethodBindingEmitter.java.


The documentation for this class was generated from the following file: