2
0
mirror of synced 2025-02-23 23:08:14 +00:00
mobile/bind/testdata/interfaces.java.c.golden
Elias Naur bdf873ed8f bind,cmd: accept Java API in bound packages
Accept Java API interface types as arguments and return values from
bound Go package functions and methods. Also, allow Go structs
to extend Java classes and implement Java interfaces as well as override
and implement methods.

This is the third and final part of the implementation of the golang/go#16876
proposal.

Fixes golang/go#16876

Change-Id: I6951dd87235553ce09abe5117a39a503466163c0
Reviewed-on: https://go-review.googlesource.com/28597
Reviewed-by: David Crawshaw <crawshaw@golang.org>
2016-09-22 10:16:33 +00:00

255 lines
10 KiB
Plaintext

// JNI functions for the Go <=> Java bridge.
// gobind -lang=java interfaces
//
// File is generated by gobind. Do not edit.
#include <android/log.h>
#include <stdint.h>
#include "seq.h"
#include "_cgo_export.h"
#include "interfaces.h"
jclass proxy_class_interfaces_Error;
jmethodID proxy_class_interfaces_Error_cons;
static jmethodID mid_Error_Err;
jclass proxy_class_interfaces_I;
jmethodID proxy_class_interfaces_I_cons;
static jmethodID mid_I_Rand;
jclass proxy_class_interfaces_I1;
jmethodID proxy_class_interfaces_I1_cons;
static jmethodID mid_I1_J;
jclass proxy_class_interfaces_I2;
jmethodID proxy_class_interfaces_I2_cons;
static jmethodID mid_I2_G;
jclass proxy_class_interfaces_I3;
jmethodID proxy_class_interfaces_I3_cons;
static jmethodID mid_I3_F;
jclass proxy_class_interfaces_LargerI;
jmethodID proxy_class_interfaces_LargerI_cons;
static jmethodID mid_LargerI_AnotherFunc;
static jmethodID mid_LargerI_Rand;
jclass proxy_class_interfaces_SameI;
jmethodID proxy_class_interfaces_SameI_cons;
static jmethodID mid_SameI_Rand;
jclass proxy_class_interfaces_WithParam;
jmethodID proxy_class_interfaces_WithParam_cons;
static jmethodID mid_WithParam_HasParam;
JNIEXPORT void JNICALL
Java_go_interfaces_Interfaces__1init(JNIEnv *env, jclass _unused) {
jclass clazz;
clazz = (*env)->FindClass(env, "go/interfaces/Interfaces$proxyError");
proxy_class_interfaces_Error = (*env)->NewGlobalRef(env, clazz);
proxy_class_interfaces_Error_cons = (*env)->GetMethodID(env, clazz, "<init>", "(Lgo/Seq$Ref;)V");
clazz = (*env)->FindClass(env, "go/interfaces/Error");
mid_Error_Err = (*env)->GetMethodID(env, clazz, "err", "()V");
clazz = (*env)->FindClass(env, "go/interfaces/Interfaces$proxyI");
proxy_class_interfaces_I = (*env)->NewGlobalRef(env, clazz);
proxy_class_interfaces_I_cons = (*env)->GetMethodID(env, clazz, "<init>", "(Lgo/Seq$Ref;)V");
clazz = (*env)->FindClass(env, "go/interfaces/I");
mid_I_Rand = (*env)->GetMethodID(env, clazz, "rand", "()I");
clazz = (*env)->FindClass(env, "go/interfaces/Interfaces$proxyI1");
proxy_class_interfaces_I1 = (*env)->NewGlobalRef(env, clazz);
proxy_class_interfaces_I1_cons = (*env)->GetMethodID(env, clazz, "<init>", "(Lgo/Seq$Ref;)V");
clazz = (*env)->FindClass(env, "go/interfaces/I1");
mid_I1_J = (*env)->GetMethodID(env, clazz, "j", "()V");
clazz = (*env)->FindClass(env, "go/interfaces/Interfaces$proxyI2");
proxy_class_interfaces_I2 = (*env)->NewGlobalRef(env, clazz);
proxy_class_interfaces_I2_cons = (*env)->GetMethodID(env, clazz, "<init>", "(Lgo/Seq$Ref;)V");
clazz = (*env)->FindClass(env, "go/interfaces/I2");
mid_I2_G = (*env)->GetMethodID(env, clazz, "g", "()V");
clazz = (*env)->FindClass(env, "go/interfaces/Interfaces$proxyI3");
proxy_class_interfaces_I3 = (*env)->NewGlobalRef(env, clazz);
proxy_class_interfaces_I3_cons = (*env)->GetMethodID(env, clazz, "<init>", "(Lgo/Seq$Ref;)V");
clazz = (*env)->FindClass(env, "go/interfaces/I3");
mid_I3_F = (*env)->GetMethodID(env, clazz, "f", "()Lgo/interfaces/I1;");
clazz = (*env)->FindClass(env, "go/interfaces/Interfaces$proxyLargerI");
proxy_class_interfaces_LargerI = (*env)->NewGlobalRef(env, clazz);
proxy_class_interfaces_LargerI_cons = (*env)->GetMethodID(env, clazz, "<init>", "(Lgo/Seq$Ref;)V");
clazz = (*env)->FindClass(env, "go/interfaces/LargerI");
mid_LargerI_AnotherFunc = (*env)->GetMethodID(env, clazz, "anotherFunc", "()V");
mid_LargerI_Rand = (*env)->GetMethodID(env, clazz, "rand", "()I");
clazz = (*env)->FindClass(env, "go/interfaces/Interfaces$proxySameI");
proxy_class_interfaces_SameI = (*env)->NewGlobalRef(env, clazz);
proxy_class_interfaces_SameI_cons = (*env)->GetMethodID(env, clazz, "<init>", "(Lgo/Seq$Ref;)V");
clazz = (*env)->FindClass(env, "go/interfaces/SameI");
mid_SameI_Rand = (*env)->GetMethodID(env, clazz, "rand", "()I");
clazz = (*env)->FindClass(env, "go/interfaces/Interfaces$proxyWithParam");
proxy_class_interfaces_WithParam = (*env)->NewGlobalRef(env, clazz);
proxy_class_interfaces_WithParam_cons = (*env)->GetMethodID(env, clazz, "<init>", "(Lgo/Seq$Ref;)V");
clazz = (*env)->FindClass(env, "go/interfaces/WithParam");
mid_WithParam_HasParam = (*env)->GetMethodID(env, clazz, "hasParam", "(Z)V");
}
JNIEXPORT jint JNICALL
Java_go_interfaces_Interfaces_add3(JNIEnv* env, jclass _clazz, jobject r) {
int32_t _r = go_seq_to_refnum(env, r);
int32_t r0 = proxyinterfaces__Add3(_r);
jint _r0 = (jint)r0;
return _r0;
}
JNIEXPORT void JNICALL
Java_go_interfaces_Interfaces_callErr(JNIEnv* env, jclass _clazz, jobject e) {
int32_t _e = go_seq_to_refnum(env, e);
int32_t r0 = proxyinterfaces__CallErr(_e);
jobject _r0 = go_seq_from_refnum(env, r0, proxy_class__error, proxy_class__error_cons);
go_seq_maybe_throw_exception(env, _r0);
}
JNIEXPORT jobject JNICALL
Java_go_interfaces_Interfaces_seven(JNIEnv* env, jclass _clazz) {
int32_t r0 = proxyinterfaces__Seven();
jobject _r0 = go_seq_from_refnum(env, r0, proxy_class_interfaces_I, proxy_class_interfaces_I_cons);
return _r0;
}
JNIEXPORT void JNICALL
Java_go_interfaces_Interfaces_00024proxyError_err(JNIEnv* env, jobject __this__) {
int32_t o = go_seq_to_refnum(env, __this__);
int32_t r0 = proxyinterfaces_Error_Err(o);
jobject _r0 = go_seq_from_refnum(env, r0, proxy_class__error, proxy_class__error_cons);
go_seq_maybe_throw_exception(env, _r0);
}
int32_t cproxyinterfaces_Error_Err(int32_t refnum) {
JNIEnv *env = go_seq_push_local_frame(0);
jobject o = go_seq_from_refnum(env, refnum, proxy_class_interfaces_Error, proxy_class_interfaces_Error_cons);
(*env)->CallVoidMethod(env, o, mid_Error_Err);
jobject exc = go_seq_wrap_exception(env);
int32_t _exc = go_seq_to_refnum(env, exc);
go_seq_pop_local_frame(env);
return _exc;
}
JNIEXPORT jint JNICALL
Java_go_interfaces_Interfaces_00024proxyI_rand(JNIEnv* env, jobject __this__) {
int32_t o = go_seq_to_refnum(env, __this__);
int32_t r0 = proxyinterfaces_I_Rand(o);
jint _r0 = (jint)r0;
return _r0;
}
int32_t cproxyinterfaces_I_Rand(int32_t refnum) {
JNIEnv *env = go_seq_push_local_frame(0);
jobject o = go_seq_from_refnum(env, refnum, proxy_class_interfaces_I, proxy_class_interfaces_I_cons);
jint res = (*env)->CallIntMethod(env, o, mid_I_Rand);
int32_t _res = (int32_t)res;
go_seq_pop_local_frame(env);
return _res;
}
JNIEXPORT void JNICALL
Java_go_interfaces_Interfaces_00024proxyI1_j(JNIEnv* env, jobject __this__) {
int32_t o = go_seq_to_refnum(env, __this__);
proxyinterfaces_I1_J(o);
}
void cproxyinterfaces_I1_J(int32_t refnum) {
JNIEnv *env = go_seq_push_local_frame(0);
jobject o = go_seq_from_refnum(env, refnum, proxy_class_interfaces_I1, proxy_class_interfaces_I1_cons);
(*env)->CallVoidMethod(env, o, mid_I1_J);
go_seq_pop_local_frame(env);
}
JNIEXPORT void JNICALL
Java_go_interfaces_Interfaces_00024proxyI2_g(JNIEnv* env, jobject __this__) {
int32_t o = go_seq_to_refnum(env, __this__);
proxyinterfaces_I2_G(o);
}
void cproxyinterfaces_I2_G(int32_t refnum) {
JNIEnv *env = go_seq_push_local_frame(0);
jobject o = go_seq_from_refnum(env, refnum, proxy_class_interfaces_I2, proxy_class_interfaces_I2_cons);
(*env)->CallVoidMethod(env, o, mid_I2_G);
go_seq_pop_local_frame(env);
}
JNIEXPORT jobject JNICALL
Java_go_interfaces_Interfaces_00024proxyI3_f(JNIEnv* env, jobject __this__) {
int32_t o = go_seq_to_refnum(env, __this__);
int32_t r0 = proxyinterfaces_I3_F(o);
jobject _r0 = go_seq_from_refnum(env, r0, proxy_class_interfaces_I1, proxy_class_interfaces_I1_cons);
return _r0;
}
int32_t cproxyinterfaces_I3_F(int32_t refnum) {
JNIEnv *env = go_seq_push_local_frame(0);
jobject o = go_seq_from_refnum(env, refnum, proxy_class_interfaces_I3, proxy_class_interfaces_I3_cons);
jobject res = (*env)->CallObjectMethod(env, o, mid_I3_F);
int32_t _res = go_seq_to_refnum(env, res);
go_seq_pop_local_frame(env);
return _res;
}
JNIEXPORT void JNICALL
Java_go_interfaces_Interfaces_00024proxyLargerI_anotherFunc(JNIEnv* env, jobject __this__) {
int32_t o = go_seq_to_refnum(env, __this__);
proxyinterfaces_LargerI_AnotherFunc(o);
}
void cproxyinterfaces_LargerI_AnotherFunc(int32_t refnum) {
JNIEnv *env = go_seq_push_local_frame(0);
jobject o = go_seq_from_refnum(env, refnum, proxy_class_interfaces_LargerI, proxy_class_interfaces_LargerI_cons);
(*env)->CallVoidMethod(env, o, mid_LargerI_AnotherFunc);
go_seq_pop_local_frame(env);
}
JNIEXPORT jint JNICALL
Java_go_interfaces_Interfaces_00024proxyLargerI_rand(JNIEnv* env, jobject __this__) {
int32_t o = go_seq_to_refnum(env, __this__);
int32_t r0 = proxyinterfaces_LargerI_Rand(o);
jint _r0 = (jint)r0;
return _r0;
}
int32_t cproxyinterfaces_LargerI_Rand(int32_t refnum) {
JNIEnv *env = go_seq_push_local_frame(0);
jobject o = go_seq_from_refnum(env, refnum, proxy_class_interfaces_LargerI, proxy_class_interfaces_LargerI_cons);
jint res = (*env)->CallIntMethod(env, o, mid_LargerI_Rand);
int32_t _res = (int32_t)res;
go_seq_pop_local_frame(env);
return _res;
}
JNIEXPORT jint JNICALL
Java_go_interfaces_Interfaces_00024proxySameI_rand(JNIEnv* env, jobject __this__) {
int32_t o = go_seq_to_refnum(env, __this__);
int32_t r0 = proxyinterfaces_SameI_Rand(o);
jint _r0 = (jint)r0;
return _r0;
}
int32_t cproxyinterfaces_SameI_Rand(int32_t refnum) {
JNIEnv *env = go_seq_push_local_frame(0);
jobject o = go_seq_from_refnum(env, refnum, proxy_class_interfaces_SameI, proxy_class_interfaces_SameI_cons);
jint res = (*env)->CallIntMethod(env, o, mid_SameI_Rand);
int32_t _res = (int32_t)res;
go_seq_pop_local_frame(env);
return _res;
}
JNIEXPORT void JNICALL
Java_go_interfaces_Interfaces_00024proxyWithParam_hasParam(JNIEnv* env, jobject __this__, jboolean p0) {
int32_t o = go_seq_to_refnum(env, __this__);
char _p0 = (char)p0;
proxyinterfaces_WithParam_HasParam(o, _p0);
}
void cproxyinterfaces_WithParam_HasParam(int32_t refnum, char p0) {
JNIEnv *env = go_seq_push_local_frame(1);
jobject o = go_seq_from_refnum(env, refnum, proxy_class_interfaces_WithParam, proxy_class_interfaces_WithParam_cons);
jboolean _p0 = p0 ? JNI_TRUE : JNI_FALSE;
(*env)->CallVoidMethod(env, o, mid_WithParam_HasParam, _p0);
go_seq_pop_local_frame(env);
}