mirror of
https://github.com/netbirdio/gomobile-tvos-fork.git
synced 2026-05-22 18:43:29 -07:00
bind: fix field accessors for Go implemented Java classes
The go_seq_to_refnum function handles its argument object as a Java object if it doesn't implement Seq.Proxy. Java classes implemented in Go does not implement Seq.Proxy, but when passing "this" references to Go, instances must be treated as a Go object. Use go_seq_to_refnum_go everywhere "this" is passed to Go, which fixes field accessors and simplifies the method call case. Change-Id: I3d01c63d7b2081e6344ece431f5e5021a9dd7662 Reviewed-on: https://go-review.googlesource.com/31171 Reviewed-by: David Crawshaw <crawshaw@golang.org>
This commit is contained in:
Vendored
+8
-8
@@ -166,14 +166,14 @@ Java_go_java_Future_get__JLjava_util_concurrent_TimeUnit_2(JNIEnv* env, jobject
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_go_java_Future_setFuture(JNIEnv *env, jobject this, jobject v) {
|
||||
int32_t o = go_seq_to_refnum(env, this);
|
||||
int32_t o = go_seq_to_refnum_go(env, this);
|
||||
int32_t _v = go_seq_to_refnum(env, v);
|
||||
proxyjava_Future_Future_Set(o, _v);
|
||||
}
|
||||
|
||||
JNIEXPORT jobject JNICALL
|
||||
Java_go_java_Future_getFuture(JNIEnv *env, jobject this) {
|
||||
int32_t o = go_seq_to_refnum(env, this);
|
||||
int32_t o = go_seq_to_refnum_go(env, this);
|
||||
int32_t r0 = proxyjava_Future_Future_Get(o);
|
||||
jobject _r0 = go_seq_from_refnum(env, r0, NULL, NULL);
|
||||
return _r0;
|
||||
@@ -197,14 +197,14 @@ Java_go_java_InputStream_read__(JNIEnv* env, jobject __this__) {
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_go_java_InputStream_setInputStream(JNIEnv *env, jobject this, jobject v) {
|
||||
int32_t o = go_seq_to_refnum(env, this);
|
||||
int32_t o = go_seq_to_refnum_go(env, this);
|
||||
int32_t _v = go_seq_to_refnum(env, v);
|
||||
proxyjava_InputStream_InputStream_Set(o, _v);
|
||||
}
|
||||
|
||||
JNIEXPORT jobject JNICALL
|
||||
Java_go_java_InputStream_getInputStream(JNIEnv *env, jobject this) {
|
||||
int32_t o = go_seq_to_refnum(env, this);
|
||||
int32_t o = go_seq_to_refnum_go(env, this);
|
||||
int32_t r0 = proxyjava_InputStream_InputStream_Get(o);
|
||||
jobject _r0 = go_seq_from_refnum(env, r0, NULL, NULL);
|
||||
return _r0;
|
||||
@@ -218,14 +218,14 @@ Java_go_java_Object__1_1New(JNIEnv *env, jclass clazz) {
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_go_java_Object_setObject(JNIEnv *env, jobject this, jobject v) {
|
||||
int32_t o = go_seq_to_refnum(env, this);
|
||||
int32_t o = go_seq_to_refnum_go(env, this);
|
||||
int32_t _v = go_seq_to_refnum(env, v);
|
||||
proxyjava_Object_Object_Set(o, _v);
|
||||
}
|
||||
|
||||
JNIEXPORT jobject JNICALL
|
||||
Java_go_java_Object_getObject(JNIEnv *env, jobject this) {
|
||||
int32_t o = go_seq_to_refnum(env, this);
|
||||
int32_t o = go_seq_to_refnum_go(env, this);
|
||||
int32_t r0 = proxyjava_Object_Object_Get(o);
|
||||
jobject _r0 = go_seq_from_refnum(env, r0, NULL, NULL);
|
||||
return _r0;
|
||||
@@ -246,14 +246,14 @@ Java_go_java_Runnable_run(JNIEnv* env, jobject __this__) {
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_go_java_Runnable_setRunnable(JNIEnv *env, jobject this, jobject v) {
|
||||
int32_t o = go_seq_to_refnum(env, this);
|
||||
int32_t o = go_seq_to_refnum_go(env, this);
|
||||
int32_t _v = go_seq_to_refnum(env, v);
|
||||
proxyjava_Runnable_Runnable_Set(o, _v);
|
||||
}
|
||||
|
||||
JNIEXPORT jobject JNICALL
|
||||
Java_go_java_Runnable_getRunnable(JNIEnv *env, jobject this) {
|
||||
int32_t o = go_seq_to_refnum(env, this);
|
||||
int32_t o = go_seq_to_refnum_go(env, this);
|
||||
int32_t r0 = proxyjava_Runnable_Runnable_Get(o);
|
||||
jobject _r0 = go_seq_from_refnum(env, r0, NULL, NULL);
|
||||
return _r0;
|
||||
|
||||
Reference in New Issue
Block a user