| // Objective-C API for talking to issue10788 Go package. |
| // gobind -lang=objc issue10788 |
| // |
| // File is generated by gobind. Do not edit. |
| |
| #include <Foundation/Foundation.h> |
| #include "seq.h" |
| #include "_cgo_export.h" |
| #include "Issue10788.objc.h" |
| |
| |
| @implementation Issue10788TestStruct { |
| } |
| |
| - (nonnull instancetype)initWithRef:(_Nonnull id)ref { |
| self = [super init]; |
| if (self) { __ref = ref; } |
| return self; |
| } |
| |
| - (nonnull instancetype)init { |
| self = [super init]; |
| if (self) { |
| __ref = go_seq_from_refnum(new_issue10788_TestStruct()); |
| } |
| return self; |
| } |
| |
| - (NSString* _Nonnull)value { |
| int32_t refnum = go_seq_go_to_refnum(self._ref); |
| nstring r0 = proxyissue10788_TestStruct_Value_Get(refnum); |
| NSString *_r0 = go_seq_to_objc_string(r0); |
| return _r0; |
| } |
| |
| - (void)setValue:(NSString* _Nonnull)v { |
| int32_t refnum = go_seq_go_to_refnum(self._ref); |
| nstring _v = go_seq_from_objc_string(v); |
| proxyissue10788_TestStruct_Value_Set(refnum, _v); |
| } |
| |
| @end |
| |
| |
| @implementation Issue10788TestInterface { |
| } |
| |
| - (nonnull instancetype)initWithRef:(id)ref { |
| self = [super init]; |
| if (self) { __ref = ref; } |
| return self; |
| } |
| |
| - (void)doSomeWork:(Issue10788TestStruct* _Nullable)s { |
| int32_t refnum = go_seq_go_to_refnum(self._ref); |
| int32_t _s; |
| if ([s conformsToProtocol:@protocol(goSeqRefInterface)]) { |
| id<goSeqRefInterface> s_proxy = (id<goSeqRefInterface>)(s); |
| _s = go_seq_go_to_refnum(s_proxy._ref); |
| } else { |
| _s = go_seq_to_refnum(s); |
| } |
| proxyissue10788_TestInterface_DoSomeWork(refnum, _s); |
| } |
| |
| - (void)multipleUnnamedParams:(long)p0 p1:(NSString* _Nullable)p1 日本:(int64_t)日本 { |
| int32_t refnum = go_seq_go_to_refnum(self._ref); |
| nint _p0 = (nint)p0; |
| nstring _p1 = go_seq_from_objc_string(p1); |
| int64_t _日本 = (int64_t)日本; |
| proxyissue10788_TestInterface_MultipleUnnamedParams(refnum, _p0, _p1, _日本); |
| } |
| |
| @end |
| |
| |
| |
| void cproxyissue10788_TestInterface_DoSomeWork(int32_t refnum, int32_t s) { |
| @autoreleasepool { |
| Issue10788TestInterface* o = go_seq_objc_from_refnum(refnum); |
| Issue10788TestStruct* _s = nil; |
| GoSeqRef* _s_ref = go_seq_from_refnum(s); |
| if (_s_ref != NULL) { |
| _s = _s_ref.obj; |
| if (_s == nil) { |
| _s = [[Issue10788TestStruct alloc] initWithRef:_s_ref]; |
| } |
| } |
| [o doSomeWork:_s]; |
| } |
| } |
| |
| void cproxyissue10788_TestInterface_MultipleUnnamedParams(int32_t refnum, nint p0, nstring p1, int64_t 日本) { |
| @autoreleasepool { |
| Issue10788TestInterface* o = go_seq_objc_from_refnum(refnum); |
| long _p0 = (long)p0; |
| NSString *_p1 = go_seq_to_objc_string(p1); |
| int64_t _日本 = (int64_t)日本; |
| [o multipleUnnamedParams:_p0 p1:_p1 日本:_日本]; |
| } |
| } |
| |
| __attribute__((constructor)) static void init() { |
| init_seq(); |
| } |