| // Java Package interfaces is a proxy for talking to a Go program. |
| // gobind -lang=java interfaces |
| // |
| // File is generated by gobind. Do not edit. |
| package go.interfaces; |
| |
| import go.Seq; |
| |
| public abstract class Interfaces { |
| private Interfaces() {} // uninstantiable |
| |
| public static int Add3(I r) { |
| go.Seq _in = new go.Seq(); |
| go.Seq _out = new go.Seq(); |
| int _result; |
| _in.writeRef(r.ref()); |
| Seq.send(DESCRIPTOR, CALL_Add3, _in, _out); |
| _result = _out.readInt32(); |
| return _result; |
| } |
| |
| public interface I extends go.Seq.Object { |
| public int Rand(); |
| |
| public static abstract class Stub implements I { |
| static final String DESCRIPTOR = "go.interfaces.I"; |
| |
| private final go.Seq.Ref ref; |
| public Stub() { |
| ref = go.Seq.createRef(this); |
| } |
| |
| public go.Seq.Ref ref() { return ref; } |
| |
| public void call(int code, go.Seq in, go.Seq out) { |
| switch (code) { |
| case Proxy.CALL_Rand: { |
| int result = this.Rand(); |
| out.writeInt32(result); |
| return; |
| } |
| default: |
| throw new RuntimeException("unknown code: "+ code); |
| } |
| } |
| } |
| |
| static final class Proxy implements I { |
| static final String DESCRIPTOR = Stub.DESCRIPTOR; |
| |
| private go.Seq.Ref ref; |
| |
| Proxy(go.Seq.Ref ref) { this.ref = ref; } |
| |
| public go.Seq.Ref ref() { return ref; } |
| |
| public void call(int code, go.Seq in, go.Seq out) { |
| throw new RuntimeException("cycle: cannot call proxy"); |
| } |
| |
| public int Rand() { |
| go.Seq _in = new go.Seq(); |
| go.Seq _out = new go.Seq(); |
| int _result; |
| _in.writeRef(ref); |
| Seq.send(DESCRIPTOR, CALL_Rand, _in, _out); |
| _result = _out.readInt32(); |
| return _result; |
| } |
| |
| static final int CALL_Rand = 0x10a; |
| } |
| } |
| |
| public static I Seven() { |
| go.Seq _in = new go.Seq(); |
| go.Seq _out = new go.Seq(); |
| I _result; |
| Seq.send(DESCRIPTOR, CALL_Seven, _in, _out); |
| _result = new I.Proxy(_out.readRef()); |
| return _result; |
| } |
| |
| public interface WithParam extends go.Seq.Object { |
| public void HasParam(boolean p0); |
| |
| public static abstract class Stub implements WithParam { |
| static final String DESCRIPTOR = "go.interfaces.WithParam"; |
| |
| private final go.Seq.Ref ref; |
| public Stub() { |
| ref = go.Seq.createRef(this); |
| } |
| |
| public go.Seq.Ref ref() { return ref; } |
| |
| public void call(int code, go.Seq in, go.Seq out) { |
| switch (code) { |
| case Proxy.CALL_HasParam: { |
| boolean param_p0; |
| param_p0 = in.readBool(); |
| this.HasParam(param_p0); |
| return; |
| } |
| default: |
| throw new RuntimeException("unknown code: "+ code); |
| } |
| } |
| } |
| |
| static final class Proxy implements WithParam { |
| static final String DESCRIPTOR = Stub.DESCRIPTOR; |
| |
| private go.Seq.Ref ref; |
| |
| Proxy(go.Seq.Ref ref) { this.ref = ref; } |
| |
| public go.Seq.Ref ref() { return ref; } |
| |
| public void call(int code, go.Seq in, go.Seq out) { |
| throw new RuntimeException("cycle: cannot call proxy"); |
| } |
| |
| public void HasParam(boolean p0) { |
| go.Seq _in = new go.Seq(); |
| go.Seq _out = new go.Seq(); |
| _in.writeRef(ref); |
| _in.writeBool(p0); |
| Seq.send(DESCRIPTOR, CALL_HasParam, _in, _out); |
| } |
| |
| static final int CALL_HasParam = 0x10a; |
| } |
| } |
| |
| private static final int CALL_Add3 = 1; |
| private static final int CALL_Seven = 2; |
| private static final String DESCRIPTOR = "interfaces"; |
| } |