Use non-Optional pointers wherever possible

This commit is contained in:
Matt Rubin 2016-12-07 05:06:22 -05:00
parent 003464dde8
commit 755dfe08f6
8 changed files with 32 additions and 32 deletions

View File

@ -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<Wrapper<Credentials>>.fromOpaque(UnsafeRawPointer(pointer)!).takeRetainedValue().value
internal static func fromPointer(_ pointer: UnsafeMutableRawPointer) -> Credentials {
return Unmanaged<Wrapper<Credentials>>.fromOpaque(UnsafeRawPointer(pointer)).takeRetainedValue().value
}
internal func toPointer() -> UnsafeMutableRawPointer {
@ -36,7 +36,7 @@ internal func credentialsCallback(cred: UnsafeMutablePointer<UnsafeMutablePointe
payload: UnsafeMutableRawPointer?) -> 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):

View File

@ -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 == <O: ObjectType>(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..<git_tree_entrycount(pointer) {
let entry = Entry(git_tree_entry_byindex(pointer, idx))
let entry = Entry(git_tree_entry_byindex(pointer, idx)!)
entries[entry.name] = entry
}
self.entries = entries
@ -186,7 +186,7 @@ public struct Blob: ObjectType {
public let data: Data
/// Create an instance with a libgit2 `git_blob`.
public init(_ pointer: OpaquePointer?) {
public init(_ pointer: OpaquePointer) {
oid = OID(git_object_id(pointer).pointee)
let length = Int(git_blob_rawsize(pointer))
@ -220,7 +220,7 @@ public struct Tag: ObjectType {
public let message: String
/// Create an instance with a libgit2 `git_tag`.
public init(_ pointer: OpaquePointer?) {
public init(_ pointer: OpaquePointer) {
oid = OID(git_object_id(pointer).pointee)
let targetOID = OID(git_tag_target_id(pointer).pointee)
target = Pointer(oid: targetOID, type: git_tag_target_type(pointer))!

View File

@ -26,7 +26,7 @@ public func ==<T: ReferenceType>(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<UnsafePointer<Int8>?>.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))
}

View File

@ -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))!
}

View File

@ -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<T>(_ oid: OID, type: git_otype, transform: (OpaquePointer?) -> Result<T, NSError>) -> Result<T, NSError> {
func withLibgit2Object<T>(_ oid: OID, type: git_otype, transform: (OpaquePointer) -> Result<T, NSError>) -> Result<T, NSError> {
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<T>(_ oid: OID, type: git_otype, transform: (OpaquePointer?) -> T) -> Result<T, NSError> {
func withLibgit2Object<T>(_ oid: OID, type: git_otype, transform: (OpaquePointer) -> T) -> Result<T, NSError> {
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)
}

View File

@ -12,13 +12,13 @@ import Nimble
import Quick
import libgit2
func from_git_object<T>(_ repository: Repository, oid: OID, f: (OpaquePointer?) -> T) -> T {
func from_git_object<T>(_ 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

View File

@ -12,12 +12,12 @@ import Nimble
import Quick
import libgit2
func from_git_reference<T>(_ repository: Repository, name: String, f: (OpaquePointer?) -> T) -> T {
func from_git_reference<T>(_ 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

View File

@ -12,12 +12,12 @@ import Nimble
import Quick
import libgit2
func with_git_remote<T>(_ repository: Repository, name: String, f: (OpaquePointer?) -> T) -> T {
func with_git_remote<T>(_ 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