With the introduction of constructors Java side, all types become entry points into the library. However the library was only initialized by the main class until now, resulting in all other constructors hitting linker errors until an interaction with the main library class. This CL fixes that by changing each generated type to touch the main library class, ensuring that the underlying native library is loaded. Change-Id: I640d1dc329e072f8d0753f74ccce87cd9e5aaea8 Reviewed-on: https://go-review.googlesource.com/29994 Reviewed-by: Elias Naur <elias.naur@gmail.com>
129 lines
3.1 KiB
Plaintext
129 lines
3.1 KiB
Plaintext
// Java class go.structs.S is a proxy for talking to a Go program.
|
|
// gobind -lang=java structs
|
|
//
|
|
// File is generated by gobind. Do not edit.
|
|
package go.structs;
|
|
|
|
import go.Seq;
|
|
|
|
public final class S extends Seq.Proxy {
|
|
static { Structs.touch(); }
|
|
|
|
S(Seq.Ref ref) { super(ref); }
|
|
|
|
public final native double getX();
|
|
public final native void setX(double v);
|
|
|
|
public final native double getY();
|
|
public final native void setY(double v);
|
|
|
|
public native S identity() throws Exception;
|
|
public native double sum();
|
|
@Override public boolean equals(Object o) {
|
|
if (o == null || !(o instanceof S)) {
|
|
return false;
|
|
}
|
|
S that = (S)o;
|
|
double thisX = getX();
|
|
double thatX = that.getX();
|
|
if (thisX != thatX) {
|
|
return false;
|
|
}
|
|
double thisY = getY();
|
|
double thatY = that.getY();
|
|
if (thisY != thatY) {
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
@Override public int hashCode() {
|
|
return java.util.Arrays.hashCode(new Object[] {getX(), getY()});
|
|
}
|
|
|
|
@Override public String toString() {
|
|
StringBuilder b = new StringBuilder();
|
|
b.append("S").append("{");
|
|
b.append("X:").append(getX()).append(",");
|
|
b.append("Y:").append(getY()).append(",");
|
|
return b.append("}").toString();
|
|
}
|
|
}
|
|
|
|
// Java class go.structs.S2 is a proxy for talking to a Go program.
|
|
// gobind -lang=java structs
|
|
//
|
|
// File is generated by gobind. Do not edit.
|
|
package go.structs;
|
|
|
|
import go.Seq;
|
|
|
|
public final class S2 extends Seq.Proxy implements I {
|
|
static { Structs.touch(); }
|
|
|
|
S2(Seq.Ref ref) { super(ref); }
|
|
|
|
public native void m();
|
|
public native String string();
|
|
@Override public boolean equals(Object o) {
|
|
if (o == null || !(o instanceof S2)) {
|
|
return false;
|
|
}
|
|
S2 that = (S2)o;
|
|
return true;
|
|
}
|
|
|
|
@Override public int hashCode() {
|
|
return java.util.Arrays.hashCode(new Object[] {});
|
|
}
|
|
|
|
@Override public String toString() {
|
|
return string();
|
|
}
|
|
}
|
|
|
|
// Java class go.structs.I is a proxy for talking to a Go program.
|
|
// gobind -lang=java structs
|
|
//
|
|
// File is generated by gobind. Do not edit.
|
|
package go.structs;
|
|
|
|
import go.Seq;
|
|
|
|
public interface I {
|
|
public void m();
|
|
|
|
}
|
|
|
|
// Java class go.structs.Structs is a proxy for talking to a Go program.
|
|
// gobind -lang=java structs
|
|
//
|
|
// File is generated by gobind. Do not edit.
|
|
package go.structs;
|
|
|
|
import go.Seq;
|
|
|
|
public abstract class Structs {
|
|
static {
|
|
Seq.touch(); // for loading the native library
|
|
_init();
|
|
}
|
|
|
|
private Structs() {} // uninstantiable
|
|
|
|
// touch is called from other bound packages to initialize this package
|
|
public static void touch() {}
|
|
|
|
private static native void _init();
|
|
|
|
private static final class proxyI extends Seq.Proxy implements I {
|
|
proxyI(Seq.Ref ref) { super(ref); }
|
|
|
|
public native void m();
|
|
}
|
|
|
|
|
|
public static native S identity(S s);
|
|
public static native S identityWithError(S s) throws Exception;
|
|
}
|