diff --git a/bind/testdata/java.go b/bind/testdata/java.go index 6e06b4e..8550582 100644 --- a/bind/testdata/java.go +++ b/bind/testdata/java.go @@ -6,7 +6,6 @@ package java import ( "Java/java/lang" - "Java/java/lang/Character" ) type ( @@ -14,5 +13,4 @@ type ( L lang.Long O lang.Object R lang.Runnable - S Character.Subset // Inner class ) diff --git a/bind/testdata/java.go.golden b/bind/testdata/java.go.golden index ee66846..6321418 100644 --- a/bind/testdata/java.go.golden +++ b/bind/testdata/java.go.golden @@ -35,7 +35,6 @@ type Float Java.Java_lang_Float type Long Java.Java_lang_Long type Object Java.Java_lang_Object type Runnable Java.Java_lang_Runnable -type Character Java.Java_lang_Character // File is generated by gobind. Do not edit. package Long @@ -96,104 +95,6 @@ var ( // File is generated by gobind. Do not edit. -package Character - -import "Java" - -const _ = Java.Dummy - -type Subset Java.Java_lang_Character_Subset -const ( - MIN_RADIX = 2 - MAX_RADIX = 36 - UNASSIGNED = 0 - UPPERCASE_LETTER = 1 - LOWERCASE_LETTER = 2 - TITLECASE_LETTER = 3 - MODIFIER_LETTER = 4 - OTHER_LETTER = 5 - NON_SPACING_MARK = 6 - ENCLOSING_MARK = 7 - COMBINING_SPACING_MARK = 8 - DECIMAL_DIGIT_NUMBER = 9 - LETTER_NUMBER = 10 - OTHER_NUMBER = 11 - SPACE_SEPARATOR = 12 - LINE_SEPARATOR = 13 - PARAGRAPH_SEPARATOR = 14 - CONTROL = 15 - FORMAT = 16 - PRIVATE_USE = 18 - SURROGATE = 19 - DASH_PUNCTUATION = 20 - START_PUNCTUATION = 21 - END_PUNCTUATION = 22 - CONNECTOR_PUNCTUATION = 23 - OTHER_PUNCTUATION = 24 - MATH_SYMBOL = 25 - CURRENCY_SYMBOL = 26 - MODIFIER_SYMBOL = 27 - OTHER_SYMBOL = 28 - INITIAL_QUOTE_PUNCTUATION = 29 - FINAL_QUOTE_PUNCTUATION = 30 - DIRECTIONALITY_UNDEFINED = -1 - DIRECTIONALITY_LEFT_TO_RIGHT = 0 - DIRECTIONALITY_RIGHT_TO_LEFT = 1 - DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC = 2 - DIRECTIONALITY_EUROPEAN_NUMBER = 3 - DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR = 4 - DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR = 5 - DIRECTIONALITY_ARABIC_NUMBER = 6 - DIRECTIONALITY_COMMON_NUMBER_SEPARATOR = 7 - DIRECTIONALITY_NONSPACING_MARK = 8 - DIRECTIONALITY_BOUNDARY_NEUTRAL = 9 - DIRECTIONALITY_PARAGRAPH_SEPARATOR = 10 - DIRECTIONALITY_SEGMENT_SEPARATOR = 11 - DIRECTIONALITY_WHITESPACE = 12 - DIRECTIONALITY_OTHER_NEUTRALS = 13 - DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING = 14 - DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE = 15 - DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING = 16 - DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE = 17 - DIRECTIONALITY_POP_DIRECTIONAL_FORMAT = 18 - DIRECTIONALITY_LEFT_TO_RIGHT_ISOLATE = 19 - DIRECTIONALITY_RIGHT_TO_LEFT_ISOLATE = 20 - DIRECTIONALITY_FIRST_STRONG_ISOLATE = 21 - DIRECTIONALITY_POP_DIRECTIONAL_ISOLATE = 22 - MIN_SUPPLEMENTARY_CODE_POINT = 65536 - MIN_CODE_POINT = 0 - MAX_CODE_POINT = 1114111 - SIZE = 16 - BYTES = 2 -) - -var ( - // Cast takes a proxy for a Java object and converts it to a java.lang.Character proxy. - // Cast panics if the argument is not a proxy or if the underlying object does - // not extend or implement java.lang.Character. - Cast func(v interface{}) Java.Java_lang_Character -) - -// File is generated by gobind. Do not edit. - -package Subset - -import "Java" - -const _ = Java.Dummy - -const ( -) - -var ( - // Cast takes a proxy for a Java object and converts it to a java.lang.Character.Subset proxy. - // Cast panics if the argument is not a proxy or if the underlying object does - // not extend or implement java.lang.Character.Subset. - Cast func(v interface{}) Java.Java_lang_Character_Subset -) - -// File is generated by gobind. Do not edit. - package Java // Used to silence this package not used errors @@ -214,14 +115,6 @@ type Java_lang_Object interface { type Java_lang_Runnable interface { } -type Java_lang_Character interface { - ToString() string -} - -type Java_lang_Character_Subset interface { - ToString() string -} - // File is generated by gobind. Do not edit. package main @@ -243,8 +136,6 @@ import "Java/java/lang/Float" import "Java/java/lang/Long" import "Java/java/lang/Object" import "Java/java/lang/Runnable" -import "Java/java/lang/Character" -import "Java/java/lang/Character/Subset" import "unsafe" import "reflect" @@ -265,8 +156,6 @@ func initClasses() { init_java_lang_Long() init_java_lang_Object() init_java_lang_Runnable() - init_java_lang_Character() - init_java_lang_Character_Subset() } var class_java_lang_Float C.jclass @@ -417,88 +306,6 @@ type proxy_class_java_lang_Runnable _seq.Ref func (p *proxy_class_java_lang_Runnable) Bind_proxy_refnum__() int32 { return (*_seq.Ref)(p).Bind_IncNum() } -var class_java_lang_Character C.jclass - -func init_java_lang_Character() { - cls := C.CString("java/lang/Character") - clazz := C.go_seq_find_class(cls) - C.free(unsafe.Pointer(cls)) - if uintptr(clazz) == 0 { - return - } - class_java_lang_Character = clazz - Character.Cast = func(v interface{}) Java.Java_lang_Character { - t := reflect.TypeOf((*proxy_class_java_lang_Character)(nil)) - cv := reflect.ValueOf(v).Convert(t).Interface().(*proxy_class_java_lang_Character) - ref := C.jint(_seq.ToRefNum(cv)) - if C.go_seq_isinstanceof(ref, class_java_lang_Character) != 1 { - panic(fmt.Errorf("%T is not an instance of %s", v, "java.lang.Character")) - } - return cv - } -} - -type proxy_class_java_lang_Character _seq.Ref - -func (p *proxy_class_java_lang_Character) Bind_proxy_refnum__() int32 { return (*_seq.Ref)(p).Bind_IncNum() } - -func (p *proxy_class_java_lang_Character) ToString() string { - res := C.cproxy_java_lang_Character_toString(C.jint(p.Bind_proxy_refnum__())) - _res := decodeString(res.res) - var _exc error - _exc_ref := _seq.FromRefNum(int32(res.exc)) - if _exc_ref != nil { - if res.exc < 0 { // go object - _exc = _exc_ref.Get().(error) - } else { // foreign object - _exc = (*proxy_error)(_exc_ref) - } - } - if (_exc != nil) { panic(_exc) } - return _res -} - -var class_java_lang_Character_Subset C.jclass - -func init_java_lang_Character_Subset() { - cls := C.CString("java/lang/Character$Subset") - clazz := C.go_seq_find_class(cls) - C.free(unsafe.Pointer(cls)) - if uintptr(clazz) == 0 { - return - } - class_java_lang_Character_Subset = clazz - Subset.Cast = func(v interface{}) Java.Java_lang_Character_Subset { - t := reflect.TypeOf((*proxy_class_java_lang_Character_Subset)(nil)) - cv := reflect.ValueOf(v).Convert(t).Interface().(*proxy_class_java_lang_Character_Subset) - ref := C.jint(_seq.ToRefNum(cv)) - if C.go_seq_isinstanceof(ref, class_java_lang_Character_Subset) != 1 { - panic(fmt.Errorf("%T is not an instance of %s", v, "java.lang.Character.Subset")) - } - return cv - } -} - -type proxy_class_java_lang_Character_Subset _seq.Ref - -func (p *proxy_class_java_lang_Character_Subset) Bind_proxy_refnum__() int32 { return (*_seq.Ref)(p).Bind_IncNum() } - -func (p *proxy_class_java_lang_Character_Subset) ToString() string { - res := C.cproxy_java_lang_Character_Subset_toString(C.jint(p.Bind_proxy_refnum__())) - _res := decodeString(res.res) - var _exc error - _exc_ref := _seq.FromRefNum(int32(res.exc)) - if _exc_ref != nil { - if res.exc < 0 { // go object - _exc = _exc_ref.Get().(error) - } else { // foreign object - _exc = (*proxy_error)(_exc_ref) - } - } - if (_exc != nil) { panic(_exc) } - return _res -} - // Package main is an autogenerated binder stub for package java. // gobind -lang=go java // @@ -582,22 +389,3 @@ func (p *proxyjava_O) ToString() string { type proxyjava_R _seq.Ref func (p *proxyjava_R) Bind_proxy_refnum__() int32 { return (*_seq.Ref)(p).Bind_IncNum() } - -//export proxyjava_S_ToString -func proxyjava_S_ToString(refnum C.int32_t) C.nstring { - ref := _seq.FromRefNum(int32(refnum)) - v := ref.Get().(java.S) - res_0 := v.ToString() - _res_0 := encodeString(res_0) - return _res_0 -} - -type proxyjava_S _seq.Ref - -func (p *proxyjava_S) Bind_proxy_refnum__() int32 { return (*_seq.Ref)(p).Bind_IncNum() } - -func (p *proxyjava_S) ToString() string { - res := C.cproxyjava_S_ToString(C.int32_t(p.Bind_proxy_refnum__())) - _res := decodeString(res) - return _res -} diff --git a/bind/testdata/java.java.c.golden b/bind/testdata/java.java.c.golden index 99b5e7c..8bbe285 100644 --- a/bind/testdata/java.java.c.golden +++ b/bind/testdata/java.java.c.golden @@ -11,13 +11,9 @@ static jmethodID m_java_lang_Long_toString; static jclass class_java_lang_Object; static jmethodID m_java_lang_Object_toString; static jclass class_java_lang_Runnable; -static jclass class_java_lang_Character; -static jmethodID m_java_lang_Character_toString; -static jclass class_java_lang_Character_Subset; -static jmethodID m_java_lang_Character_Subset_toString; void init_proxies() { - JNIEnv *env = go_seq_push_local_frame(6); + JNIEnv *env = go_seq_push_local_frame(4); jclass clazz; clazz = go_seq_find_class("java/lang/Float"); if (clazz != NULL) { @@ -38,16 +34,6 @@ void init_proxies() { if (clazz != NULL) { class_java_lang_Runnable = (*env)->NewGlobalRef(env, clazz); } - clazz = go_seq_find_class("java/lang/Character"); - if (clazz != NULL) { - class_java_lang_Character = (*env)->NewGlobalRef(env, clazz); - m_java_lang_Character_toString = go_seq_get_method_id(clazz, "toString", "()Ljava/lang/String;"); - } - clazz = go_seq_find_class("java/lang/Character$Subset"); - if (clazz != NULL) { - class_java_lang_Character_Subset = (*env)->NewGlobalRef(env, clazz); - m_java_lang_Character_Subset_toString = go_seq_get_method_id(clazz, "toString", "()Ljava/lang/String;"); - } go_seq_pop_local_frame(env); } @@ -99,38 +85,6 @@ ret_nstring cproxy_java_lang_Object_toString(jint this) { return __res; } -ret_nstring cproxy_java_lang_Character_toString(jint this) { - JNIEnv *env = go_seq_push_local_frame(1); - // Must be a Java object - jobject _this = go_seq_from_refnum(env, this, NULL, NULL); - jstring res = (*env)->CallObjectMethod(env, _this, m_java_lang_Character_toString); - jobject _exc = go_seq_get_exception(env); - int32_t _exc_ref = go_seq_to_refnum(env, _exc); - if (_exc != NULL) { - res = NULL; - } - nstring _res = go_seq_from_java_string(env, res); - go_seq_pop_local_frame(env); - ret_nstring __res = {_res, _exc_ref}; - return __res; -} - -ret_nstring cproxy_java_lang_Character_Subset_toString(jint this) { - JNIEnv *env = go_seq_push_local_frame(1); - // Must be a Java object - jobject _this = go_seq_from_refnum(env, this, NULL, NULL); - jstring res = (*env)->CallObjectMethod(env, _this, m_java_lang_Character_Subset_toString); - jobject _exc = go_seq_get_exception(env); - int32_t _exc_ref = go_seq_to_refnum(env, _exc); - if (_exc != NULL) { - res = NULL; - } - nstring _res = go_seq_from_java_string(env, res); - go_seq_pop_local_frame(env); - ret_nstring __res = {_res, _exc_ref}; - return __res; -} - // JNI functions for the Go <=> Java bridge. // gobind -lang=java java // @@ -153,9 +107,6 @@ jmethodID proxy_class_java_O_cons; static jmethodID mid_O_ToString; jclass proxy_class_java_R; jmethodID proxy_class_java_R_cons; -jclass proxy_class_java_S; -jmethodID proxy_class_java_S_cons; -static jmethodID mid_S_ToString; JNIEXPORT void JNICALL Java_java_Java__1init(JNIEnv *env, jclass _unused) { @@ -183,12 +134,6 @@ Java_java_Java__1init(JNIEnv *env, jclass _unused) { proxy_class_java_R_cons = (*env)->GetMethodID(env, clazz, "", "(I)V"); clazz = (*env)->FindClass(env, "java/R"); - clazz = (*env)->FindClass(env, "java/Java$proxyS"); - proxy_class_java_S = (*env)->NewGlobalRef(env, clazz); - proxy_class_java_S_cons = (*env)->GetMethodID(env, clazz, "", "(I)V"); - clazz = (*env)->FindClass(env, "java/S"); - mid_S_ToString = (*env)->GetMethodID(env, clazz, "toString", "()Ljava/lang/String;"); - } JNIEXPORT jstring JNICALL @@ -242,20 +187,3 @@ nstring cproxyjava_O_ToString(int32_t refnum) { return _res; } -JNIEXPORT jstring JNICALL -Java_java_Java_00024proxyS_toString(JNIEnv* env, jobject __this__) { - int32_t o = go_seq_to_refnum_go(env, __this__); - nstring r0 = proxyjava_S_ToString(o); - jstring _r0 = go_seq_to_java_string(env, r0); - return _r0; -} - -nstring cproxyjava_S_ToString(int32_t refnum) { - JNIEnv *env = go_seq_push_local_frame(0); - jobject o = go_seq_from_refnum(env, refnum, proxy_class_java_S, proxy_class_java_S_cons); - jstring res = (*env)->CallObjectMethod(env, o, mid_S_ToString); - nstring _res = go_seq_from_java_string(env, res); - go_seq_pop_local_frame(env); - return _res; -} - diff --git a/bind/testdata/java.java.golden b/bind/testdata/java.java.golden index e905d43..bbbef88 100644 --- a/bind/testdata/java.java.golden +++ b/bind/testdata/java.java.golden @@ -49,19 +49,6 @@ public interface R { } -// Java class java.S is a proxy for talking to a Go program. -// gobind -lang=java java -// -// File is generated by gobind. Do not edit. -package java; - -import go.Seq; - -public interface S extends R { - public String toString(); - -} - // Java class java.Java is a proxy for talking to a Go program. // gobind -lang=java java // @@ -130,18 +117,6 @@ public abstract class Java { proxyR(int refnum) { this.refnum = refnum; Seq.trackGoRef(refnum, this); } } - private static final class proxyS implements Seq.Proxy, S { - private final int refnum; - - @Override public final int incRefnum() { - Seq.incGoRef(refnum, this); - return refnum; - } - - proxyS(int refnum) { this.refnum = refnum; Seq.trackGoRef(refnum, this); } - - public native String toString(); - } } diff --git a/bind/testdata/java.java.h.golden b/bind/testdata/java.java.h.golden index 3d9671a..58eaaa5 100644 --- a/bind/testdata/java.java.h.golden +++ b/bind/testdata/java.java.h.golden @@ -49,8 +49,6 @@ typedef struct ret_nbyteslice { extern ret_nstring cproxy_java_lang_Float_toString(jint this); extern ret_nstring cproxy_java_lang_Long_toString(jint this); extern ret_nstring cproxy_java_lang_Object_toString(jint this); -extern ret_nstring cproxy_java_lang_Character_toString(jint this); -extern ret_nstring cproxy_java_lang_Character_Subset_toString(jint this); // JNI function headers for the Go <=> Java bridge. // gobind -lang=java java // @@ -79,9 +77,4 @@ nstring cproxyjava_O_ToString(int32_t refnum); extern jclass proxy_class_java_R; extern jmethodID proxy_class_java_R_cons; -extern jclass proxy_class_java_S; -extern jmethodID proxy_class_java_S_cons; - -nstring cproxyjava_S_ToString(int32_t refnum); - #endif