87 lines
2.6 KiB
Plaintext
87 lines
2.6 KiB
Plaintext
// 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";
|
|
}
|