// 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(); 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; } private static final int CALL_Add3 = 1; private static final int CALL_Seven = 2; private static final String DESCRIPTOR = "interfaces"; }