diff options
Diffstat (limited to 'src/net/java/games/gluegen/JavaMethodBindingImplEmitter.java')
-rw-r--r-- | src/net/java/games/gluegen/JavaMethodBindingImplEmitter.java | 16 |
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) { |