diff --git a/examples/apple/objc_interop/OIPrintStream.h b/examples/apple/objc_interop/OIPrintStream.h index 2873ba84f..481e44ab7 100644 --- a/examples/apple/objc_interop/OIPrintStream.h +++ b/examples/apple/objc_interop/OIPrintStream.h @@ -15,10 +15,12 @@ #import /** A very contrived interface for writing strings to a file handle. */ -@interface OIPrintStream : NSObject +@interface OIPrintStream : NSObject - (nonnull instancetype)initWithFileHandle:(nonnull NSFileHandle *)fileHandle; +- (void)print:(nonnull PrintType)message; + - (void)printString:(nonnull NSString *)message; @end diff --git a/examples/apple/objc_interop/OIPrintStream.m b/examples/apple/objc_interop/OIPrintStream.m index 1e1428509..82f9d4013 100644 --- a/examples/apple/objc_interop/OIPrintStream.m +++ b/examples/apple/objc_interop/OIPrintStream.m @@ -25,6 +25,9 @@ - (instancetype)initWithFileHandle:(nonnull NSFileHandle *)fileHandle { return self; } +- (void)print:(nonnull id)message { +} + - (void)printString:(nonnull NSString *)message { NSData *data = [message dataUsingEncoding:NSUTF8StringEncoding]; [_fileHandle writeData:data]; diff --git a/examples/apple/objc_interop/Printer.swift b/examples/apple/objc_interop/Printer.swift index 3d65eb508..526d70ed3 100644 --- a/examples/apple/objc_interop/Printer.swift +++ b/examples/apple/objc_interop/Printer.swift @@ -15,10 +15,13 @@ import Foundation import examples_apple_objc_interop_PrintStream +@objc public protocol MyStupid { +} + @objc(OIPrinter) public class Printer: NSObject { - private let stream: OIPrintStream + private let stream: OIPrintStream private let prefix: String @objc public init(prefix: NSString) { @@ -26,6 +29,10 @@ public class Printer: NSObject { self.prefix = prefix as String } + @objc public func stream(_ thing: MyStupid) -> OIPrintStream { + return stream + } + @objc public func print(_ message: NSString) { stream.print("\(prefix)\(message)") } diff --git a/examples/apple/objc_interop_modulemap/OIPrintStream.h b/examples/apple/objc_interop_modulemap/OIPrintStream.h index 2873ba84f..481e44ab7 100644 --- a/examples/apple/objc_interop_modulemap/OIPrintStream.h +++ b/examples/apple/objc_interop_modulemap/OIPrintStream.h @@ -15,10 +15,12 @@ #import /** A very contrived interface for writing strings to a file handle. */ -@interface OIPrintStream : NSObject +@interface OIPrintStream : NSObject - (nonnull instancetype)initWithFileHandle:(nonnull NSFileHandle *)fileHandle; +- (void)print:(nonnull PrintType)message; + - (void)printString:(nonnull NSString *)message; @end diff --git a/examples/apple/objc_interop_modulemap/OIPrintStream.m b/examples/apple/objc_interop_modulemap/OIPrintStream.m index 76f8b9278..ccd8ec7b5 100644 --- a/examples/apple/objc_interop_modulemap/OIPrintStream.m +++ b/examples/apple/objc_interop_modulemap/OIPrintStream.m @@ -25,6 +25,9 @@ - (instancetype)initWithFileHandle:(nonnull NSFileHandle *)fileHandle { return self; } +- (void)print:(nonnull id)message { +} + - (void)printString:(nonnull NSString *)message { NSData *data = [message dataUsingEncoding:NSUTF8StringEncoding]; [_fileHandle writeData:data]; diff --git a/examples/apple/objc_interop_modulemap/Printer.swift b/examples/apple/objc_interop_modulemap/Printer.swift index bba520a3b..c1534ac8f 100644 --- a/examples/apple/objc_interop_modulemap/Printer.swift +++ b/examples/apple/objc_interop_modulemap/Printer.swift @@ -15,10 +15,13 @@ import Foundation import examples_apple_objc_interop_modulemap_PrintStream +@objc public protocol MyStupid { +} + @objc(OIPrinter) public class Printer: NSObject { - private let stream: OIPrintStream + private let stream: OIPrintStream private let prefix: String @objc public init(prefix: NSString) { @@ -26,6 +29,10 @@ public class Printer: NSObject { self.prefix = prefix as String } + @objc public func stream(_ thing: MyStupid) -> OIPrintStream { + return stream + } + @objc public func print(_ message: NSString) { stream.print("\(prefix)\(message)") }