Open DJBen opened 11 months ago
I wonder if there's a specific reason that @objc protocols are not supported?
@objc
/// @mockable(history: performRequest = true) @objc public protocol SCCrashLoggerNetworkExecuting: NSObjectProtocol { @objc func performRequest( request: URLRequest, reportId: String, includeLogs: Bool, onSuccess: @escaping () -> Void, onPermanentFailure: @escaping (Error, String) -> Void ) -> String }
Generated source:
import Foundation public class SCCrashLoggerNetworkExecutingMock: SCCrashLoggerNetworkExecuting { public init() { } public private(set) var performRequestCallCount = 0 public var performRequestArgValues = [(URLRequest, String, Bool)]() public var performRequestHandler: ((URLRequest, String, Bool, @escaping () -> Void, @escaping (Error, String) -> Void) -> (String))? public func performRequest(request: URLRequest, reportId: String, includeLogs: Bool, onSuccess: @escaping () -> Void, onPermanentFailure: @escaping (Error, String) -> Void) -> String { performRequestCallCount += 1 performRequestArgValues.append((request, reportId, includeLogs)) if let performRequestHandler = performRequestHandler { return performRequestHandler(request, reportId, includeLogs, onSuccess, onPermanentFailure) } return "" } }
Expected source:
NSObject
I wonder if there's a specific reason that
@objc
protocols are not supported?Generated source:
Expected source:
NSObject
as super type.NSObject
has a default initializer.