This highly improves interop with Swift. It would map all pointers as implicitly unwrapped optionals, which skip all null safety checks. Adding `_Nullable` to pointer types makes swift map them as optionals. Also constructors are now nullable since it's valid to return nil from Go code. Change-Id: If0506bb80f31bf36f11522c16a1e66d77be935f8 GitHub-Last-Rev: bd6c30f7f50ef5ea5797b07073f0a4a70d545025 GitHub-Pull-Request: golang/mobile#26 Reviewed-on: https://go-review.googlesource.com/c/mobile/+/159477 Run-TryBot: Elias Naur <mail@eliasnaur.com> Reviewed-by: Elias Naur <mail@eliasnaur.com>
167 lines
3.3 KiB
Plaintext
167 lines
3.3 KiB
Plaintext
// Objective-C API for talking to interfaces Go package.
|
|
// gobind -lang=objc interfaces
|
|
//
|
|
// File is generated by gobind. Do not edit.
|
|
|
|
#ifndef __Interfaces_H__
|
|
#define __Interfaces_H__
|
|
|
|
@import Foundation;
|
|
#include "ref.h"
|
|
#include "Universe.objc.h"
|
|
|
|
|
|
@protocol InterfacesError;
|
|
@class InterfacesError;
|
|
@protocol InterfacesI;
|
|
@class InterfacesI;
|
|
@protocol InterfacesI1;
|
|
@protocol InterfacesI2;
|
|
@protocol InterfacesI3;
|
|
@class InterfacesI3;
|
|
@protocol InterfacesInterfaces;
|
|
@class InterfacesInterfaces;
|
|
@protocol InterfacesLargerI;
|
|
@class InterfacesLargerI;
|
|
@protocol InterfacesSameI;
|
|
@class InterfacesSameI;
|
|
@protocol InterfacesWithParam;
|
|
@class InterfacesWithParam;
|
|
|
|
@protocol InterfacesError <NSObject>
|
|
- (BOOL)err:(NSError* _Nullable*)error;
|
|
@end
|
|
|
|
@protocol InterfacesI <NSObject>
|
|
- (int32_t)rand;
|
|
@end
|
|
|
|
/**
|
|
* not implementable
|
|
*/
|
|
@interface InterfacesI1 : NSObject <goSeqRefInterface> {
|
|
}
|
|
@property(strong, readonly) id _ref;
|
|
|
|
- (instancetype)initWithRef:(id)ref;
|
|
- (void)j;
|
|
@end
|
|
|
|
/**
|
|
* not implementable
|
|
*/
|
|
@interface InterfacesI2 : NSObject <goSeqRefInterface> {
|
|
}
|
|
@property(strong, readonly) id _ref;
|
|
|
|
- (instancetype)initWithRef:(id)ref;
|
|
- (void)g;
|
|
@end
|
|
|
|
@protocol InterfacesI3 <NSObject>
|
|
- (InterfacesI1* _Nullable)f;
|
|
@end
|
|
|
|
@protocol InterfacesInterfaces <NSObject>
|
|
- (void)someMethod;
|
|
@end
|
|
|
|
@protocol InterfacesLargerI <NSObject>
|
|
- (void)anotherFunc;
|
|
- (int32_t)rand;
|
|
@end
|
|
|
|
@protocol InterfacesSameI <NSObject>
|
|
- (int32_t)rand;
|
|
@end
|
|
|
|
@protocol InterfacesWithParam <NSObject>
|
|
- (void)hasParam:(BOOL)p0;
|
|
@end
|
|
|
|
FOUNDATION_EXPORT int32_t InterfacesAdd3(id<InterfacesI> _Nullable r);
|
|
|
|
FOUNDATION_EXPORT BOOL InterfacesCallErr(id<InterfacesError> _Nullable e, NSError* _Nullable* error);
|
|
|
|
FOUNDATION_EXPORT id<InterfacesI> _Nullable InterfacesSeven(void);
|
|
|
|
@class InterfacesError;
|
|
|
|
@class InterfacesI;
|
|
|
|
@class InterfacesI3;
|
|
|
|
@class InterfacesInterfaces;
|
|
|
|
@class InterfacesLargerI;
|
|
|
|
@class InterfacesSameI;
|
|
|
|
@class InterfacesWithParam;
|
|
|
|
@interface InterfacesError : NSObject <goSeqRefInterface, InterfacesError> {
|
|
}
|
|
@property(strong, readonly) id _ref;
|
|
|
|
- (instancetype)initWithRef:(id)ref;
|
|
- (BOOL)err:(NSError* _Nullable*)error;
|
|
@end
|
|
|
|
@interface InterfacesI : NSObject <goSeqRefInterface, InterfacesI> {
|
|
}
|
|
@property(strong, readonly) id _ref;
|
|
|
|
- (instancetype)initWithRef:(id)ref;
|
|
- (int32_t)rand;
|
|
@end
|
|
|
|
/**
|
|
* implementable
|
|
(the implementor has to find a source of I1s)
|
|
*/
|
|
@interface InterfacesI3 : NSObject <goSeqRefInterface, InterfacesI3> {
|
|
}
|
|
@property(strong, readonly) id _ref;
|
|
|
|
- (instancetype)initWithRef:(id)ref;
|
|
- (InterfacesI1* _Nullable)f;
|
|
@end
|
|
|
|
/**
|
|
* Interfaces is an interface with the same name as its package.
|
|
*/
|
|
@interface InterfacesInterfaces : NSObject <goSeqRefInterface, InterfacesInterfaces> {
|
|
}
|
|
@property(strong, readonly) id _ref;
|
|
|
|
- (instancetype)initWithRef:(id)ref;
|
|
- (void)someMethod;
|
|
@end
|
|
|
|
@interface InterfacesLargerI : NSObject <goSeqRefInterface, InterfacesLargerI> {
|
|
}
|
|
@property(strong, readonly) id _ref;
|
|
|
|
- (instancetype)initWithRef:(id)ref;
|
|
- (void)anotherFunc;
|
|
- (int32_t)rand;
|
|
@end
|
|
|
|
@interface InterfacesSameI : NSObject <goSeqRefInterface, InterfacesSameI> {
|
|
}
|
|
@property(strong, readonly) id _ref;
|
|
|
|
- (instancetype)initWithRef:(id)ref;
|
|
- (int32_t)rand;
|
|
@end
|
|
|
|
@interface InterfacesWithParam : NSObject <goSeqRefInterface, InterfacesWithParam> {
|
|
}
|
|
@property(strong, readonly) id _ref;
|
|
|
|
- (instancetype)initWithRef:(id)ref;
|
|
- (void)hasParam:(BOOL)p0;
|
|
@end
|
|
|
|
#endif
|