41package com.jogamp.gluegen;
43import java.util.ArrayList;
44import java.util.Iterator;
46import com.jogamp.gluegen.cgram.types.FunctionSymbol;
55 private final boolean isInterface;
56 private final ArrayList<EmissionModifier> modifiers;
68 this.isInterface = isInterface;
69 this.modifiers =
new ArrayList<EmissionModifier>();
72 this.cfg = configuration;
79 isInterface = arg.isInterface;
80 modifiers =
new ArrayList<EmissionModifier>(arg.modifiers);
81 commentEmitter = arg.commentEmitter;
93 while (mi.hasNext()) {
94 modifiers.add(mi.next());
105 public Iterator<EmissionModifier>
getModifiers() {
return modifiers.iterator(); }
134 commentEmitter = cEmitter;
146 if (commentEmitter !=
null) {
167 if (numEmitted > 0) {
183 final StringBuilder buf =
new StringBuilder();
190 for (
final Iterator<EmissionModifier> it =
getModifiers(); it.hasNext(); ) {
191 buf.append(it.next().toString());
212 protected abstract StringBuilder
appendName(StringBuilder buf);
215 final StringBuilder buf =
new StringBuilder();
227 public final String
toString() {
return emittedForm; }
229 private final String emittedForm;
233 return emittedForm.hashCode();
237 public boolean equals(
final Object arg) {
General code unit (a generated C or Java source file), covering multiple FunctionEmitter allowing to ...
void emit(final String s)
EmissionModifier(final String emittedForm)
boolean equals(final Object arg)
Generic function emitter to produce C (JNI) or Java code stubs to its CodeUnit, invoking a native fun...
CommentEmitter getCommentEmitter()
Get the comment emitter for this FunctionEmitter.
abstract String getNativeName()
final void emit()
Emit the function to the getUnit().
void addModifiers(final Iterator< EmissionModifier > mi)
String getCommentEndString()
boolean removeModifier(final EmissionModifier m)
String getCommentStartString()
abstract StringBuilder appendName(StringBuilder buf)
void setCommentEmitter(final CommentEmitter cEmitter)
Set the object that will emit the comment for this function.
final int emitArguments()
Returns the number of arguments emitted.
abstract FunctionSymbol getCSymbol()
StringBuilder appendSignature(final StringBuilder buf)
final void emitReturnType()
abstract StringBuilder appendReturnType(StringBuilder buf)
final JavaConfiguration cfg
final boolean isInterface()
FunctionEmitter(final MethodBinding binding, final CodeUnit unit, final boolean isInterface, final JavaConfiguration configuration)
Constructs the FunctionEmitter with a CommentEmitter that emits nothing.
boolean hasModifier(final EmissionModifier m)
void addModifier(final EmissionModifier m)
void emitAdditionalCode()
abstract String getInterfaceName()
final void emitSignature()
String getBaseIndentString()
int appendModifiers(final StringBuilder buf)
Iterator< EmissionModifier > getModifiers()
final int emitModifiers()
final MethodBinding binding
FunctionEmitter(final FunctionEmitter arg)
Makes this FunctionEmitter a copy of the passed one.
static final EmissionModifier STATIC
final MethodBinding getBinding()
abstract String getImplName()
abstract int appendArguments(StringBuilder buf)
Returns the number of arguments emitted.
Parses and provides access to the contents of .cfg files for the JavaEmitter.
Represents the binding of a C function to a Java method.
String toString()
Returns the signature of this binding.
Describes a function symbol, which includes the name and type.