bind: add nil and bool to ObjC keyword list
While we're here, sort the keyword list.
Fixes golang/go#22875
Change-Id: I31844c3d66f959bb0dc47eb3062e41f75d7b765e
Reviewed-on: https://go-review.googlesource.com/100795
Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
diff --git a/bind/genobjc.go b/bind/genobjc.go
index 92c39ab..8c8ff85 100644
--- a/bind/genobjc.go
+++ b/bind/genobjc.go
@@ -1392,9 +1392,10 @@
}
var objcNameReplacer = newNameSanitizer([]string{
- "void", "char", "short", "int", "long", "float", "double", "signed",
- "unsigned", "id", "const", "volatile", "in", "out", "inout", "bycopy",
- "byref", "oneway", "self", "super", "init"})
+ "bool", "bycopy", "byref", "char", "const", "double", "float",
+ "id", "in", "init", "inout", "int", "long", "nil", "oneway",
+ "out", "self", "short", "signed", "super", "unsigned", "void",
+ "volatile"})
const (
objcPreamble = `// Objective-C API for talking to %[1]s Go package.
diff --git a/bind/testdata/keywords.go b/bind/testdata/keywords.go
index d5a7733..6a04f0b 100644
--- a/bind/testdata/keywords.go
+++ b/bind/testdata/keywords.go
@@ -58,6 +58,8 @@
False()
Null()
True()
+ Bool()
+ Nil()
}
func Const(id string) {}
diff --git a/bind/testdata/keywords.go.golden b/bind/testdata/keywords.go.golden
index 4ad33bc..9d80a51 100644
--- a/bind/testdata/keywords.go.golden
+++ b/bind/testdata/keywords.go.golden
@@ -35,6 +35,13 @@
v.Assert()
}
+//export proxykeywords_KeywordCaller_Bool
+func proxykeywords_KeywordCaller_Bool(refnum C.int32_t) {
+ ref := _seq.FromRefNum(int32(refnum))
+ v := ref.Get().(keywords.KeywordCaller)
+ v.Bool()
+}
+
//export proxykeywords_KeywordCaller_Boolean
func proxykeywords_KeywordCaller_Boolean(refnum C.int32_t) {
ref := _seq.FromRefNum(int32(refnum))
@@ -245,6 +252,13 @@
v.New()
}
+//export proxykeywords_KeywordCaller_Nil
+func proxykeywords_KeywordCaller_Nil(refnum C.int32_t) {
+ ref := _seq.FromRefNum(int32(refnum))
+ v := ref.Get().(keywords.KeywordCaller)
+ v.Nil()
+}
+
//export proxykeywords_KeywordCaller_Null
func proxykeywords_KeywordCaller_Null(refnum C.int32_t) {
ref := _seq.FromRefNum(int32(refnum))
@@ -404,6 +418,10 @@
C.cproxykeywords_KeywordCaller_Assert(C.int32_t(p.Bind_proxy_refnum__()))
}
+func (p *proxykeywords_KeywordCaller) Bool() {
+ C.cproxykeywords_KeywordCaller_Bool(C.int32_t(p.Bind_proxy_refnum__()))
+}
+
func (p *proxykeywords_KeywordCaller) Boolean() {
C.cproxykeywords_KeywordCaller_Boolean(C.int32_t(p.Bind_proxy_refnum__()))
}
@@ -524,6 +542,10 @@
C.cproxykeywords_KeywordCaller_New(C.int32_t(p.Bind_proxy_refnum__()))
}
+func (p *proxykeywords_KeywordCaller) Nil() {
+ C.cproxykeywords_KeywordCaller_Nil(C.int32_t(p.Bind_proxy_refnum__()))
+}
+
func (p *proxykeywords_KeywordCaller) Null() {
C.cproxykeywords_KeywordCaller_Null(C.int32_t(p.Bind_proxy_refnum__()))
}
diff --git a/bind/testdata/keywords.java.c.golden b/bind/testdata/keywords.java.c.golden
index 5e1fa46..933410b 100644
--- a/bind/testdata/keywords.java.c.golden
+++ b/bind/testdata/keywords.java.c.golden
@@ -13,6 +13,7 @@
jmethodID proxy_class_keywords_KeywordCaller_cons;
static jmethodID mid_KeywordCaller_Abstract;
static jmethodID mid_KeywordCaller_Assert;
+static jmethodID mid_KeywordCaller_Bool;
static jmethodID mid_KeywordCaller_Boolean;
static jmethodID mid_KeywordCaller_Break;
static jmethodID mid_KeywordCaller_Byte;
@@ -43,6 +44,7 @@
static jmethodID mid_KeywordCaller_Long;
static jmethodID mid_KeywordCaller_Native;
static jmethodID mid_KeywordCaller_New;
+static jmethodID mid_KeywordCaller_Nil;
static jmethodID mid_KeywordCaller_Null;
static jmethodID mid_KeywordCaller_Package;
static jmethodID mid_KeywordCaller_Private;
@@ -74,6 +76,7 @@
clazz = (*env)->FindClass(env, "keywords/KeywordCaller");
mid_KeywordCaller_Abstract = (*env)->GetMethodID(env, clazz, "abstract_", "()V");
mid_KeywordCaller_Assert = (*env)->GetMethodID(env, clazz, "assert_", "()V");
+ mid_KeywordCaller_Bool = (*env)->GetMethodID(env, clazz, "bool", "()V");
mid_KeywordCaller_Boolean = (*env)->GetMethodID(env, clazz, "boolean_", "()V");
mid_KeywordCaller_Break = (*env)->GetMethodID(env, clazz, "break_", "()V");
mid_KeywordCaller_Byte = (*env)->GetMethodID(env, clazz, "byte_", "()V");
@@ -104,6 +107,7 @@
mid_KeywordCaller_Long = (*env)->GetMethodID(env, clazz, "long_", "()V");
mid_KeywordCaller_Native = (*env)->GetMethodID(env, clazz, "native_", "()V");
mid_KeywordCaller_New = (*env)->GetMethodID(env, clazz, "new_", "()V");
+ mid_KeywordCaller_Nil = (*env)->GetMethodID(env, clazz, "nil", "()V");
mid_KeywordCaller_Null = (*env)->GetMethodID(env, clazz, "null_", "()V");
mid_KeywordCaller_Package = (*env)->GetMethodID(env, clazz, "package_", "()V");
mid_KeywordCaller_Private = (*env)->GetMethodID(env, clazz, "private_", "()V");
@@ -167,6 +171,19 @@
}
JNIEXPORT void JNICALL
+Java_keywords_Keywords_00024proxyKeywordCaller_bool(JNIEnv* env, jobject __this__) {
+ int32_t o = go_seq_to_refnum_go(env, __this__);
+ proxykeywords_KeywordCaller_Bool(o);
+}
+
+void cproxykeywords_KeywordCaller_Bool(int32_t refnum) {
+ JNIEnv *env = go_seq_push_local_frame(0);
+ jobject o = go_seq_from_refnum(env, refnum, proxy_class_keywords_KeywordCaller, proxy_class_keywords_KeywordCaller_cons);
+ (*env)->CallVoidMethod(env, o, mid_KeywordCaller_Bool);
+ go_seq_pop_local_frame(env);
+}
+
+JNIEXPORT void JNICALL
Java_keywords_Keywords_00024proxyKeywordCaller_boolean_1(JNIEnv* env, jobject __this__) {
int32_t o = go_seq_to_refnum_go(env, __this__);
proxykeywords_KeywordCaller_Boolean(o);
@@ -557,6 +574,19 @@
}
JNIEXPORT void JNICALL
+Java_keywords_Keywords_00024proxyKeywordCaller_nil(JNIEnv* env, jobject __this__) {
+ int32_t o = go_seq_to_refnum_go(env, __this__);
+ proxykeywords_KeywordCaller_Nil(o);
+}
+
+void cproxykeywords_KeywordCaller_Nil(int32_t refnum) {
+ JNIEnv *env = go_seq_push_local_frame(0);
+ jobject o = go_seq_from_refnum(env, refnum, proxy_class_keywords_KeywordCaller, proxy_class_keywords_KeywordCaller_cons);
+ (*env)->CallVoidMethod(env, o, mid_KeywordCaller_Nil);
+ go_seq_pop_local_frame(env);
+}
+
+JNIEXPORT void JNICALL
Java_keywords_Keywords_00024proxyKeywordCaller_null_1(JNIEnv* env, jobject __this__) {
int32_t o = go_seq_to_refnum_go(env, __this__);
proxykeywords_KeywordCaller_Null(o);
diff --git a/bind/testdata/keywords.java.golden b/bind/testdata/keywords.java.golden
index 23d2d6c..9839bfe 100644
--- a/bind/testdata/keywords.java.golden
+++ b/bind/testdata/keywords.java.golden
@@ -9,6 +9,7 @@
public interface KeywordCaller {
public void abstract_();
public void assert_();
+ public void bool();
public void boolean_();
public void break_();
public void byte_();
@@ -39,6 +40,7 @@
public void long_();
public void native_();
public void new_();
+ public void nil();
public void null_();
public void package_();
public void private_();
@@ -97,6 +99,7 @@
public native void abstract_();
public native void assert_();
+ public native void bool();
public native void boolean_();
public native void break_();
public native void byte_();
@@ -127,6 +130,7 @@
public native void long_();
public native void native_();
public native void new_();
+ public native void nil();
public native void null_();
public native void package_();
public native void private_();
diff --git a/bind/testdata/keywords.java.h.golden b/bind/testdata/keywords.java.h.golden
index 23886d7..4af5e9f 100644
--- a/bind/testdata/keywords.java.h.golden
+++ b/bind/testdata/keywords.java.h.golden
@@ -15,6 +15,8 @@
void cproxykeywords_KeywordCaller_Assert(int32_t refnum);
+void cproxykeywords_KeywordCaller_Bool(int32_t refnum);
+
void cproxykeywords_KeywordCaller_Boolean(int32_t refnum);
void cproxykeywords_KeywordCaller_Break(int32_t refnum);
@@ -75,6 +77,8 @@
void cproxykeywords_KeywordCaller_New(int32_t refnum);
+void cproxykeywords_KeywordCaller_Nil(int32_t refnum);
+
void cproxykeywords_KeywordCaller_Null(int32_t refnum);
void cproxykeywords_KeywordCaller_Package(int32_t refnum);
diff --git a/bind/testdata/keywords.objc.go.h.golden b/bind/testdata/keywords.objc.go.h.golden
index ed1f241..0e16f5a 100644
--- a/bind/testdata/keywords.objc.go.h.golden
+++ b/bind/testdata/keywords.objc.go.h.golden
@@ -12,6 +12,8 @@
void cproxykeywords_KeywordCaller_Assert(int32_t refnum);
+void cproxykeywords_KeywordCaller_Bool(int32_t refnum);
+
void cproxykeywords_KeywordCaller_Boolean(int32_t refnum);
void cproxykeywords_KeywordCaller_Break(int32_t refnum);
@@ -72,6 +74,8 @@
void cproxykeywords_KeywordCaller_New(int32_t refnum);
+void cproxykeywords_KeywordCaller_Nil(int32_t refnum);
+
void cproxykeywords_KeywordCaller_Null(int32_t refnum);
void cproxykeywords_KeywordCaller_Package(int32_t refnum);
diff --git a/bind/testdata/keywords.objc.h.golden b/bind/testdata/keywords.objc.h.golden
index f406b48..1ca7325 100644
--- a/bind/testdata/keywords.objc.h.golden
+++ b/bind/testdata/keywords.objc.h.golden
@@ -16,6 +16,7 @@
@protocol KeywordsKeywordCaller <NSObject>
- (void)abstract;
- (void)assert;
+- (void)bool_;
- (void)boolean;
- (void)break;
- (void)byte;
@@ -46,6 +47,7 @@
- (void)long_;
- (void)native;
- (void)new;
+- (void)nil_;
- (void)null;
- (void)package;
- (void)private;
@@ -82,6 +84,7 @@
- (instancetype)initWithRef:(id)ref;
- (void)abstract;
- (void)assert;
+- (void)bool_;
- (void)boolean;
- (void)break;
- (void)byte;
@@ -112,6 +115,7 @@
- (void)long_;
- (void)native;
- (void)new;
+- (void)nil_;
- (void)null;
- (void)package;
- (void)private;
diff --git a/bind/testdata/keywords.objc.m.golden b/bind/testdata/keywords.objc.m.golden
index 984f050..1ccbdb3 100644
--- a/bind/testdata/keywords.objc.m.golden
+++ b/bind/testdata/keywords.objc.m.golden
@@ -27,6 +27,11 @@
proxykeywords_KeywordCaller_Assert(refnum);
}
+- (void)bool_ {
+ int32_t refnum = go_seq_go_to_refnum(self._ref);
+ proxykeywords_KeywordCaller_Bool(refnum);
+}
+
- (void)boolean {
int32_t refnum = go_seq_go_to_refnum(self._ref);
proxykeywords_KeywordCaller_Boolean(refnum);
@@ -177,6 +182,11 @@
proxykeywords_KeywordCaller_New(refnum);
}
+- (void)nil_ {
+ int32_t refnum = go_seq_go_to_refnum(self._ref);
+ proxykeywords_KeywordCaller_Nil(refnum);
+}
+
- (void)null {
int32_t refnum = go_seq_go_to_refnum(self._ref);
proxykeywords_KeywordCaller_Null(refnum);
@@ -310,6 +320,13 @@
}
}
+void cproxykeywords_KeywordCaller_Bool(int32_t refnum) {
+ @autoreleasepool {
+ KeywordsKeywordCaller* o = go_seq_objc_from_refnum(refnum);
+ [o bool_];
+ }
+}
+
void cproxykeywords_KeywordCaller_Boolean(int32_t refnum) {
@autoreleasepool {
KeywordsKeywordCaller* o = go_seq_objc_from_refnum(refnum);
@@ -520,6 +537,13 @@
}
}
+void cproxykeywords_KeywordCaller_Nil(int32_t refnum) {
+ @autoreleasepool {
+ KeywordsKeywordCaller* o = go_seq_objc_from_refnum(refnum);
+ [o nil_];
+ }
+}
+
void cproxykeywords_KeywordCaller_Null(int32_t refnum) {
@autoreleasepool {
KeywordsKeywordCaller* o = go_seq_objc_from_refnum(refnum);