Method
@objc(SwiftMethod)
@objcMembers
public final class Method : NSObject, SourceryModel, Annotated, Documented, Definition, Diffable
extension Method: NSCoding
Describes method
-
Full method name, including generic constraints, i.e.
foo<T>(bar: T)Declaration
Swift
public let name: String -
Method name including arguments names, i.e.
foo(bar:)Declaration
Swift
public var selectorName: String -
Method name without arguments names and parentheses, i.e.
foo<T>Declaration
Swift
public var shortName: String { get } -
Method name without arguments names, parentheses and generic types, i.e.
foo(can be used to generate code for method call)Declaration
Swift
public var callName: String { get } -
Method parameters
Declaration
Swift
public var parameters: [MethodParameter] -
Return value type name used in declaration, including generic constraints, i.e.
where T: EquatableDeclaration
Swift
public var returnTypeName: TypeName -
Actual return value type name if declaration uses typealias, otherwise just a
returnTypeNameDeclaration
Swift
public var actualReturnTypeName: TypeName { get } -
Actual return value type, if known
Declaration
Swift
public var returnType: Type? -
Whether return value type is optional
Declaration
Swift
public var isOptionalReturnType: Bool { get } -
Whether return value type is implicitly unwrapped optional
Declaration
Swift
public var isImplicitlyUnwrappedOptionalReturnType: Bool { get } -
Return value type name without attributes and optional type information
Declaration
Swift
public var unwrappedReturnTypeName: String { get } -
Whether method is async method
Declaration
Swift
public let isAsync: Bool -
Whether method is distributed
Declaration
Swift
public var isDistributed: Bool { get } -
Whether method throws
Declaration
Swift
public let `throws`: Bool -
Type of thrown error if specified
Declaration
Swift
public let throwsTypeName: TypeName? -
Return if the throwsType is generic
Declaration
Swift
public var isThrowsTypeGeneric: Bool { get } -
Whether method rethrows
Declaration
Swift
public let `rethrows`: Bool -
Method access level, i.e.
internal,private,fileprivate,public,openDeclaration
Swift
public let accessLevel: String -
Whether method is a static method
Declaration
Swift
public let isStatic: Bool -
Whether method is a class method
Declaration
Swift
public let isClass: Bool -
Whether method is an initializer
Declaration
Swift
public var isInitializer: Bool { get } -
Whether method is an deinitializer
Declaration
Swift
public var isDeinitializer: Bool { get } -
Whether method is a failable initializer
Declaration
Swift
public let isFailableInitializer: Bool -
Whether method is a convenience initializer
Declaration
Swift
public var isConvenienceInitializer: Bool { get } -
Whether method is required
Declaration
Swift
public var isRequired: Bool { get } -
Whether method is final
Declaration
Swift
public var isFinal: Bool { get } -
Whether method is mutating
Declaration
Swift
public var isMutating: Bool { get } -
Whether method is generic
Declaration
Swift
public var isGeneric: Bool { get } -
Whether method is optional (in an Objective-C protocol)
Declaration
Swift
public var isOptional: Bool { get } -
Whether method is nonisolated (this modifier only applies to actor methods)
Declaration
Swift
public var isNonisolated: Bool { get } -
Whether method is dynamic
Declaration
Swift
public var isDynamic: Bool { get } -
Annotations, that were created with // sourcery: annotation1, other = “annotation value”, alterantive = 2
Declaration
Swift
public let annotations: Annotations -
Declaration
Swift
public let documentation: Documentation -
Reference to type name where the method is defined, nil if defined outside of any
enum,struct,classetcDeclaration
Swift
public let definedInTypeName: TypeName? -
Reference to actual type name where the method is defined if declaration uses typealias, otherwise just a
definedInTypeNameDeclaration
Swift
public var actualDefinedInTypeName: TypeName? { get } -
Reference to actual type where the object is defined, nil if defined outside of any
enum,struct,classetc or type is unknownDeclaration
Swift
public var definedInType: Type? -
Method attributes, i.e.
@discardableResultDeclaration
Swift
public let attributes: AttributeList -
Method modifiers, i.e.
privateDeclaration
Swift
public let modifiers: [SourceryModifier] -
list of generic requirements
Declaration
Swift
public var genericRequirements: [GenericRequirement] -
List of generic parameters
- Example:
func method<GenericParameter>(foo: GenericParameter) ^ ~ a generic parameterDeclaration
Swift
public var genericParameters: [GenericParameter] -
Declaration
Swift
public func diffAgainst(_ object: Any?) -> DiffableResult
View on GitHub
Method Class Reference