2
0
mirror of synced 2025-02-23 14:58:12 +00:00
mobile/bind/testdata/interfaces.objc.h.golden
Juan Pablo Civile b826ec11c3 bind: annotate ObjC types with nullability annotations
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>
2019-03-05 23:50:31 +00:00

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