blob: 50019f2dae0bd4c2347cc90692018f2724365a34 [file] [log] [blame]
// 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;
}
private static final int CALL_Add3 = 1;
private static final int CALL_Seven = 2;
private static final String DESCRIPTOR = "interfaces";
}