aboutsummaryrefslogtreecommitdiffstats
path: root/src/net/java/games/gluegen/JavaMethodBindingImplEmitter.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/java/games/gluegen/JavaMethodBindingImplEmitter.java')
-rw-r--r--src/net/java/games/gluegen/JavaMethodBindingImplEmitter.java16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/net/java/games/gluegen/JavaMethodBindingImplEmitter.java b/src/net/java/games/gluegen/JavaMethodBindingImplEmitter.java
index 2701bc2ec..dc3dfa629 100644
--- a/src/net/java/games/gluegen/JavaMethodBindingImplEmitter.java
+++ b/src/net/java/games/gluegen/JavaMethodBindingImplEmitter.java
@@ -65,6 +65,13 @@ public class JavaMethodBindingImplEmitter extends JavaMethodBindingEmitter
this.isUnimplemented = isUnimplemented;
}
+ public JavaMethodBindingImplEmitter(JavaMethodBindingEmitter arg) {
+ super(arg);
+ if (arg instanceof JavaMethodBindingImplEmitter) {
+ this.isUnimplemented = ((JavaMethodBindingImplEmitter) arg).isUnimplemented;
+ }
+ }
+
protected void emitBody(PrintWriter writer)
{
MethodBinding binding = getBinding();
@@ -84,8 +91,15 @@ public class JavaMethodBindingImplEmitter extends JavaMethodBindingEmitter
}
}
+ protected boolean isUnimplemented() {
+ return isUnimplemented;
+ }
+
protected boolean needsBody() {
- return isUnimplemented || getBinding().needsBody() || getBinding().hasContainingType();
+ return (isUnimplemented ||
+ getBinding().signatureUsesNIO() ||
+ getBinding().signatureUsesCArrays() ||
+ getBinding().hasContainingType());
}
protected void emitPreCallSetup(MethodBinding binding, PrintWriter writer) {