blob: c8651741355a1d3b11fe06c49af93a37ff93d744 [file] [log] [blame]
// Objective-C API for talking to structs Go package.
// gobind -lang=objc structs
//
// File is generated by gobind. Do not edit.
#include <Foundation/Foundation.h>
#include "seq.h"
#include "_cgo_export.h"
#include "Structs.objc.h"
@implementation StructsS {
}
- (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_structs_S());
}
return self;
}
- (double)x {
int32_t refnum = go_seq_go_to_refnum(self._ref);
double r0 = proxystructs_S_X_Get(refnum);
double _r0 = (double)r0;
return _r0;
}
- (void)setX:(double)v {
int32_t refnum = go_seq_go_to_refnum(self._ref);
double _v = (double)v;
proxystructs_S_X_Set(refnum, _v);
}
- (double)y {
int32_t refnum = go_seq_go_to_refnum(self._ref);
double r0 = proxystructs_S_Y_Get(refnum);
double _r0 = (double)r0;
return _r0;
}
- (void)setY:(double)v {
int32_t refnum = go_seq_go_to_refnum(self._ref);
double _v = (double)v;
proxystructs_S_Y_Set(refnum, _v);
}
- (StructsS* _Nullable)identity:(NSError* _Nullable* _Nullable)error {
int32_t refnum = go_seq_go_to_refnum(self._ref);
struct proxystructs_S_Identity_return res = proxystructs_S_Identity(refnum);
StructsS* _ret0_ = nil;
GoSeqRef* _ret0__ref = go_seq_from_refnum(res.r0);
if (_ret0__ref != NULL) {
_ret0_ = _ret0__ref.obj;
if (_ret0_ == nil) {
_ret0_ = [[StructsS alloc] initWithRef:_ret0__ref];
}
}
Universeerror* _error = nil;
GoSeqRef* _error_ref = go_seq_from_refnum(res.r1);
if (_error_ref != NULL) {
_error = _error_ref.obj;
if (_error == nil) {
_error = [[Universeerror alloc] initWithRef:_error_ref];
}
}
if (_error != nil && error != nil) {
*error = _error;
}
if (_error != nil) {
return nil;
}
return _ret0_;
}
- (double)sum {
int32_t refnum = go_seq_go_to_refnum(self._ref);
double r0 = proxystructs_S_Sum(refnum);
double _ret0_ = (double)r0;
return _ret0_;
}
@end
@implementation StructsS2 {
}
- (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_structs_S2());
}
return self;
}
- (void)m {
int32_t refnum = go_seq_go_to_refnum(self._ref);
proxystructs_S2_M(refnum);
}
- (NSString* _Nonnull)string {
int32_t refnum = go_seq_go_to_refnum(self._ref);
nstring r0 = proxystructs_S2_String(refnum);
NSString *_ret0_ = go_seq_to_objc_string(r0);
return _ret0_;
}
@end
@implementation StructsStructs {
}
- (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_structs_Structs());
}
return self;
}
- (void)m {
int32_t refnum = go_seq_go_to_refnum(self._ref);
proxystructs_Structs_M(refnum);
}
@end
@implementation StructsI {
}
- (nonnull instancetype)initWithRef:(id)ref {
self = [super init];
if (self) { __ref = ref; }
return self;
}
- (void)m {
int32_t refnum = go_seq_go_to_refnum(self._ref);
proxystructs_I_M(refnum);
}
@end
StructsS* _Nullable StructsIdentity(StructsS* _Nullable s) {
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);
}
int32_t r0 = proxystructs__Identity(_s);
StructsS* _ret0_ = nil;
GoSeqRef* _ret0__ref = go_seq_from_refnum(r0);
if (_ret0__ref != NULL) {
_ret0_ = _ret0__ref.obj;
if (_ret0_ == nil) {
_ret0_ = [[StructsS alloc] initWithRef:_ret0__ref];
}
}
return _ret0_;
}
StructsS* _Nullable StructsIdentityWithError(StructsS* _Nullable s, NSError* _Nullable* _Nullable error) {
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);
}
struct proxystructs__IdentityWithError_return res = proxystructs__IdentityWithError(_s);
StructsS* _ret0_ = nil;
GoSeqRef* _ret0__ref = go_seq_from_refnum(res.r0);
if (_ret0__ref != NULL) {
_ret0_ = _ret0__ref.obj;
if (_ret0_ == nil) {
_ret0_ = [[StructsS alloc] initWithRef:_ret0__ref];
}
}
Universeerror* _error = nil;
GoSeqRef* _error_ref = go_seq_from_refnum(res.r1);
if (_error_ref != NULL) {
_error = _error_ref.obj;
if (_error == nil) {
_error = [[Universeerror alloc] initWithRef:_error_ref];
}
}
if (_error != nil && error != nil) {
*error = _error;
}
if (_error != nil) {
return nil;
}
return _ret0_;
}
void cproxystructs_I_M(int32_t refnum) {
@autoreleasepool {
StructsI* o = go_seq_objc_from_refnum(refnum);
[o m];
}
}
__attribute__((constructor)) static void init() {
init_seq();
}