2
0
mirror of synced 2025-02-24 15:28:28 +00:00
mobile/bind/testdata/vars.java.golden
Elias Naur 5e11c20fc0 mobile/bind: don't force Java classes to extend stub classes
Requiring user code to extend Go interface Stubs to be able to pass
Java objects to Go is clumsy and use up the single extend slot.
Instead, support (and enforce) java classes to implement translated
Go interface directly. This is similar to how ObjC works.

The stub classes are now gone, and users of gobind Java APIs need
to update their code to implement interfaces directly.

Change-Id: I880bb7c8e89d3c21210b2ab2c85ced8d7859ff48
Reviewed-on: https://go-review.googlesource.com/21313
Reviewed-by: David Crawshaw <crawshaw@golang.org>
2016-03-31 07:59:45 +00:00

90 lines
2.5 KiB
Plaintext

// Java class go.vars.Vars is a proxy for talking to a Go program.
// gobind -lang=java vars
//
// File is generated by gobind. Do not edit.
package go.vars;
import go.Seq;
public abstract class Vars {
static {
Seq.touch(); // for loading the native library
init();
}
private Vars() {} // uninstantiable
// touch is called from other bound packages to initialize this package
public static void touch() {}
private static native void init();
public static final class S extends Seq.Proxy implements I {
private S(go.Seq.Ref ref) { super(ref); }
@Override public boolean equals(Object o) {
if (o == null || !(o instanceof S)) {
return false;
}
S that = (S)o;
return true;
}
@Override public int hashCode() {
return java.util.Arrays.hashCode(new Object[] {});
}
@Override public String toString() {
StringBuilder b = new StringBuilder();
b.append("S").append("{");
return b.append("}").toString();
}
}
public interface I {
static final class Proxy extends Seq.Proxy implements I {
Proxy(Seq.Ref ref) { super(ref); }
}
}
public static native void setABool(boolean v);
public static native boolean getABool();
public static native void setAFloat(double v);
public static native double getAFloat();
public static native void setAFloat32(float v);
public static native float getAFloat32();
public static native void setAFloat64(double v);
public static native double getAFloat64();
public static native void setAString(String v);
public static native String getAString();
public static native void setAStructPtr(S v);
public static native S getAStructPtr();
public static native void setAnInt(long v);
public static native long getAnInt();
public static native void setAnInt16(short v);
public static native short getAnInt16();
public static native void setAnInt32(int v);
public static native int getAnInt32();
public static native void setAnInt64(long v);
public static native long getAnInt64();
public static native void setAnInt8(byte v);
public static native byte getAnInt8();
public static native void setAnInterface(I v);
public static native I getAnInterface();
}