From 755dfe08f623bedd4ee814b98ac3a9b3785ded37 Mon Sep 17 00:00:00 2001 From: Matt Rubin Date: Wed, 7 Dec 2016 05:06:22 -0500 Subject: [PATCH] Use non-Optional pointers wherever possible --- SwiftGit2/Credentials.swift | 6 +++--- SwiftGit2/Objects.swift | 14 +++++++------- SwiftGit2/References.swift | 10 +++++----- SwiftGit2/Remotes.swift | 2 +- SwiftGit2/Repository.swift | 20 ++++++++++---------- SwiftGit2Tests/ObjectsSpec.swift | 4 ++-- SwiftGit2Tests/ReferencesSpec.swift | 4 ++-- SwiftGit2Tests/RemotesSpec.swift | 4 ++-- 8 files changed, 32 insertions(+), 32 deletions(-) diff --git a/SwiftGit2/Credentials.swift b/SwiftGit2/Credentials.swift index 60e6e09..9fc832d 100644 --- a/SwiftGit2/Credentials.swift +++ b/SwiftGit2/Credentials.swift @@ -21,8 +21,8 @@ public enum Credentials { case Plaintext(username: String, password: String) case SSHMemory(username: String, publicKey: String, privateKey: String, passphrase: String) - internal static func fromPointer(_ pointer: UnsafeMutableRawPointer?) -> Credentials { - return Unmanaged>.fromOpaque(UnsafeRawPointer(pointer)!).takeRetainedValue().value + internal static func fromPointer(_ pointer: UnsafeMutableRawPointer) -> Credentials { + return Unmanaged>.fromOpaque(UnsafeRawPointer(pointer)).takeRetainedValue().value } internal func toPointer() -> UnsafeMutableRawPointer { @@ -36,7 +36,7 @@ internal func credentialsCallback(cred: UnsafeMutablePointer Int32 { let result: Int32 - switch Credentials.fromPointer(payload) { + switch Credentials.fromPointer(payload!) { case .Default(): result = git_cred_default_new(cred) case .Plaintext(let username, let password): diff --git a/SwiftGit2/Objects.swift b/SwiftGit2/Objects.swift index e9d6bed..c4215d7 100644 --- a/SwiftGit2/Objects.swift +++ b/SwiftGit2/Objects.swift @@ -17,7 +17,7 @@ public protocol ObjectType { var oid: OID { get } /// Create an instance with the underlying libgit2 type. - init(_ pointer: OpaquePointer?) + init(_ pointer: OpaquePointer) } public func == (lhs: O, rhs: O) -> Bool { @@ -82,7 +82,7 @@ public struct Commit: ObjectType { public let message: String /// Create an instance with a libgit2 `git_commit` object. - public init(_ pointer: OpaquePointer?) { + public init(_ pointer: OpaquePointer) { oid = OID(git_object_id(pointer).pointee) message = String(validatingUTF8: git_commit_message(pointer))! author = Signature(git_commit_author(pointer).pointee) @@ -117,7 +117,7 @@ public struct Tree: ObjectType { public let name: String /// Create an instance with a libgit2 `git_tree_entry`. - public init(_ pointer: OpaquePointer?) { + public init(_ pointer: OpaquePointer) { let oid = OID(git_tree_entry_id(pointer).pointee) attributes = Int32(git_tree_entry_filemode(pointer).rawValue) object = Pointer(oid: oid, type: git_tree_entry_type(pointer))! @@ -139,12 +139,12 @@ public struct Tree: ObjectType { public let entries: [String: Entry] /// Create an instance with a libgit2 `git_tree`. - public init(_ pointer: OpaquePointer?) { + public init(_ pointer: OpaquePointer) { oid = OID(git_object_id(pointer).pointee) var entries: [String: Entry] = [:] for idx in 0..(lhs: T, rhs: T) -> Bool { } /// Create a Reference, Branch, or TagReference from a libgit2 `git_reference`. -internal func referenceWithLibGit2Reference(_ pointer: OpaquePointer?) -> ReferenceType { +internal func referenceWithLibGit2Reference(_ pointer: OpaquePointer) -> ReferenceType { if git_reference_is_branch(pointer) != 0 || git_reference_is_remote(pointer) != 0 { return Branch(pointer)! } else if git_reference_is_tag(pointer) != 0 { @@ -48,7 +48,7 @@ public struct Reference: ReferenceType { public let oid: OID /// Create an instance with a libgit2 `git_reference` object. - public init(_ pointer: OpaquePointer?) { + public init(_ pointer: OpaquePointer) { let shorthand = String(validatingUTF8: git_reference_shorthand(pointer))! longName = String(validatingUTF8: git_reference_name(pointer))! shortName = (shorthand == longName ? nil : shorthand) @@ -95,7 +95,7 @@ public struct Branch: ReferenceType { /// Create an instance with a libgit2 `git_reference` object. /// /// Returns `nil` if the pointer isn't a branch. - public init?(_ pointer: OpaquePointer?) { + public init?(_ pointer: OpaquePointer) { let namePointer = UnsafeMutablePointer?>.allocate(capacity: 1) let success = git_branch_name(namePointer, pointer) if success != GIT_OK.rawValue { @@ -175,7 +175,7 @@ public enum TagReference: ReferenceType { /// Create an instance with a libgit2 `git_reference` object. /// /// Returns `nil` if the pointer isn't a branch. - public init?(_ pointer: OpaquePointer?) { + public init?(_ pointer: OpaquePointer) { if git_reference_is_tag(pointer) == 0 { return nil; } @@ -187,7 +187,7 @@ public enum TagReference: ReferenceType { var pointer: OpaquePointer? = nil let result = git_object_lookup(&pointer, repo, &oid, GIT_OBJ_TAG) if result == GIT_OK.rawValue { - self = .Annotated(name, Tag(pointer)) + self = .Annotated(name, Tag(pointer!)) } else { self = .Lightweight(name, OID(oid)) } diff --git a/SwiftGit2/Remotes.swift b/SwiftGit2/Remotes.swift index b3664ea..4d3f9f8 100644 --- a/SwiftGit2/Remotes.swift +++ b/SwiftGit2/Remotes.swift @@ -19,7 +19,7 @@ public struct Remote { public let URL: String /// Create an instance with a libgit2 `git_remote`. - public init(_ pointer: OpaquePointer?) { + public init(_ pointer: OpaquePointer) { name = String(validatingUTF8: git_remote_name(pointer))! URL = String(validatingUTF8: git_remote_url(pointer))! } diff --git a/SwiftGit2/Repository.swift b/SwiftGit2/Repository.swift index e36b2f6..6449d14 100644 --- a/SwiftGit2/Repository.swift +++ b/SwiftGit2/Repository.swift @@ -111,7 +111,7 @@ final public class Repository { return Result.failure(libGit2Error(result, libGit2PointOfFailure: "git_repository_open")) } - let repository = Repository(pointer) + let repository = Repository(pointer!) return Result.success(repository) } @@ -141,7 +141,7 @@ final public class Repository { return Result.failure(libGit2Error(result, libGit2PointOfFailure: "git_clone")) } - let repository = Repository(pointer) + let repository = Repository(pointer!) return Result.success(repository) } @@ -150,7 +150,7 @@ final public class Repository { /// Create an instance with a libgit2 `git_repository` object. /// /// The Repository assumes ownership of the `git_repository` object. - public init(_ pointer: OpaquePointer?) { + public init(_ pointer: OpaquePointer) { self.pointer = pointer let path = git_repository_workdir(pointer) @@ -164,7 +164,7 @@ final public class Repository { // MARK: - Properties /// The underlying libgit2 `git_repository` object. - public let pointer: OpaquePointer? + public let pointer: OpaquePointer /// The URL of the repository's working directory, or `nil` if the /// repository is bare. @@ -181,7 +181,7 @@ final public class Repository { /// /// Returns the result of calling `transform` or an error if the object /// cannot be loaded. - func withLibgit2Object(_ oid: OID, type: git_otype, transform: (OpaquePointer?) -> Result) -> Result { + func withLibgit2Object(_ oid: OID, type: git_otype, transform: (OpaquePointer) -> Result) -> Result { var pointer: OpaquePointer? = nil var oid = oid.oid let result = git_object_lookup(&pointer, self.pointer, &oid, type) @@ -190,12 +190,12 @@ final public class Repository { return Result.failure(libGit2Error(result, libGit2PointOfFailure: "git_object_lookup")) } - let value = transform(pointer) + let value = transform(pointer!) git_object_free(pointer) return value } - func withLibgit2Object(_ oid: OID, type: git_otype, transform: (OpaquePointer?) -> T) -> Result { + func withLibgit2Object(_ oid: OID, type: git_otype, transform: (OpaquePointer) -> T) -> Result { return withLibgit2Object(oid, type: type) { Result.success(transform($0)) } } @@ -332,7 +332,7 @@ final public class Repository { return Result.failure(libGit2Error(result, libGit2PointOfFailure: "git_remote_lookup")) } - let value = Remote(pointer) + let value = Remote(pointer!) git_remote_free(pointer) return Result.success(value) } @@ -380,7 +380,7 @@ final public class Repository { return Result.failure(libGit2Error(result, libGit2PointOfFailure: "git_reference_lookup")) } - let value = referenceWithLibGit2Reference(pointer) + let value = referenceWithLibGit2Reference(pointer!) git_reference_free(pointer) return Result.success(value) } @@ -435,7 +435,7 @@ final public class Repository { if result != GIT_OK.rawValue { return Result.failure(libGit2Error(result, libGit2PointOfFailure: "git_repository_head")) } - let value = referenceWithLibGit2Reference(pointer) + let value = referenceWithLibGit2Reference(pointer!) git_reference_free(pointer) return Result.success(value) } diff --git a/SwiftGit2Tests/ObjectsSpec.swift b/SwiftGit2Tests/ObjectsSpec.swift index 1a84a84..d954dd5 100644 --- a/SwiftGit2Tests/ObjectsSpec.swift +++ b/SwiftGit2Tests/ObjectsSpec.swift @@ -12,13 +12,13 @@ import Nimble import Quick import libgit2 -func from_git_object(_ repository: Repository, oid: OID, f: (OpaquePointer?) -> T) -> T { +func from_git_object(_ repository: Repository, oid: OID, f: (OpaquePointer) -> T) -> T { let repository = repository.pointer var oid = oid.oid var pointer: OpaquePointer? = nil git_object_lookup(&pointer, repository, &oid, GIT_OBJ_ANY) - let result = f(pointer) + let result = f(pointer!) git_object_free(pointer) return result diff --git a/SwiftGit2Tests/ReferencesSpec.swift b/SwiftGit2Tests/ReferencesSpec.swift index 923694a..1a41146 100644 --- a/SwiftGit2Tests/ReferencesSpec.swift +++ b/SwiftGit2Tests/ReferencesSpec.swift @@ -12,12 +12,12 @@ import Nimble import Quick import libgit2 -func from_git_reference(_ repository: Repository, name: String, f: (OpaquePointer?) -> T) -> T { +func from_git_reference(_ repository: Repository, name: String, f: (OpaquePointer) -> T) -> T { let repository = repository.pointer var pointer: OpaquePointer? = nil git_reference_lookup(&pointer, repository, name) - let result = f(pointer) + let result = f(pointer!) git_object_free(pointer) return result diff --git a/SwiftGit2Tests/RemotesSpec.swift b/SwiftGit2Tests/RemotesSpec.swift index 5b37d8d..b9270e3 100644 --- a/SwiftGit2Tests/RemotesSpec.swift +++ b/SwiftGit2Tests/RemotesSpec.swift @@ -12,12 +12,12 @@ import Nimble import Quick import libgit2 -func with_git_remote(_ repository: Repository, name: String, f: (OpaquePointer?) -> T) -> T { +func with_git_remote(_ repository: Repository, name: String, f: (OpaquePointer) -> T) -> T { let repository = repository.pointer var pointer: OpaquePointer? = nil git_remote_lookup(&pointer, repository, name) - let result = f(pointer) + let result = f(pointer!) git_object_free(pointer) return result