Bladeren bron

Read for XCode 8 Beta 4 .

Damian Kołakowski 10 jaren geleden
bovenliggende
commit
a492ec412b

+ 1 - 1
Sources/Swifter/File.swift

@@ -11,7 +11,7 @@
     import Foundation
 #endif
 
-public enum FileError: ErrorProtocol {
+public enum FileError: Error {
     case openFailed(String)
     case writeFailed(String)
     case readFailed(String)

+ 1 - 1
Sources/Swifter/HttpParser.swift

@@ -11,7 +11,7 @@
     import Foundation
 #endif
 
-enum HttpParserError: ErrorProtocol {
+enum HttpParserError: Error {
     case invalidStatusLine(String)
 }
 

+ 1 - 1
Sources/Swifter/HttpRequest.swift

@@ -61,7 +61,7 @@ public class HttpRequest {
                     return combined
                 }
                 let headerValueParams = header.value.split(";").map { $0.trim() }
-                return headerValueParams.reduce(combined, combine: { (results, token) -> [String] in
+                return headerValueParams.reduce(combined, { (results, token) -> [String] in
                     let parameterTokens = token.split(1, separator: "=")
                     if parameterTokens.first == parameter, let value = parameterTokens.last {
                         return results + [value]

+ 2 - 2
Sources/Swifter/HttpResponse.swift

@@ -7,7 +7,7 @@
 
 import Foundation
 
-public enum SerializationError: ErrorProtocol {
+public enum SerializationError: Error {
     case invalidObject
     case notSupported
 }
@@ -158,7 +158,7 @@ public enum HttpResponse {
     
     func socketSession() -> ((Socket) -> Void)?  {
         switch self {
-        case switchProtocols(_, let handler) : return handler
+        case .switchProtocols(_, let handler) : return handler
         default: return nil
         }
     }

+ 5 - 5
Sources/Swifter/HttpServerIO.swift

@@ -16,18 +16,18 @@ public class HttpServerIO {
     
     private var listenSocket: Socket = Socket(socketFileDescriptor: -1)
     private var clientSockets: Set<Socket> = []
-    private let clientSocketsLock = Lock()
+    private let clientSocketsLock = NSLock()
     
     @available(OSX 10.10, *)
     public func start(_ listenPort: in_port_t = 8080, forceIPv4: Bool = false) throws {
         stop()
         listenSocket = try Socket.tcpSocketForListen(listenPort, forceIPv4: forceIPv4)
-        DispatchQueue.global(attributes: DispatchQueue.GlobalAttributes.qosBackground).async {
+        DispatchQueue.global(qos: DispatchQoS.QoSClass.background).async {
             while let socket = try? self.listenSocket.acceptClientSocket() {
                 self.lock(self.clientSocketsLock) {
                     self.clientSockets.insert(socket)
                 }
-                DispatchQueue.global(attributes: DispatchQueue.GlobalAttributes.qosBackground).async {
+                DispatchQueue.global(qos: DispatchQoS.QoSClass.background).async {
                     self.handleConnection(socket)
                     self.lock(self.clientSocketsLock) {
                         self.clientSockets.remove(socket)
@@ -77,7 +77,7 @@ public class HttpServerIO {
         socket.release()
     }
     
-    private func lock(_ handle: Lock, closure: () -> ()) {
+    private func lock(_ handle: NSLock, closure: () -> ()) {
         handle.lock()
         closure()
         handle.unlock();
@@ -162,7 +162,7 @@ func sendfile(_ source: Int32, _ target: Int32, _: off_t, _: UnsafeMutablePointe
     }
 }
 
-public class Lock {
+public class NSLock {
 
     private var mutex = pthread_mutex_t()
     

+ 1 - 1
Sources/Swifter/SQLite.swift

@@ -8,7 +8,7 @@
 import Foundation
 import CSQLite
 
-public enum SQLiteError: ErrorProtocol {
+public enum SQLiteError: Error {
     case openFailed(String?)
     case execFailed(String?)
     case bindFailed(String?)

+ 1 - 1
Sources/Swifter/Socket.swift

@@ -13,7 +13,7 @@
 
 /* Low level routines for POSIX sockets */
 
-public enum SocketError: ErrorProtocol {
+public enum SocketError: Error {
     case socketCreationFailed(String)
     case socketSettingReUseAddrFailed(String)
     case bindFailed(String)

+ 1 - 1
Sources/Swifter/String+Misc.swift

@@ -46,7 +46,7 @@ extension String {
     
     public static func fromUInt8(_ array: [UInt8]) -> String {
         // Apple changes the definition of String(data: .... ) every release so let's stay with 'fromUInt8(...)' wrapper.
-        return array.reduce("", combine: { $0.0 + String(UnicodeScalar($0.1)) })
+        return array.reduce("", { $0.0 + String(UnicodeScalar($0.1)) })
     }
     
     public func removePercentEncoding() -> String {

+ 1 - 1
Sources/Swifter/String+SHA1.swift

@@ -67,7 +67,7 @@ extension String {
             // Extend the sixteen 32-bit words into eighty 32-bit words:
             
             for i in 16...79 {
-                let value = words[i-3] ^ words[i-8] ^ words[i-14] ^ words[i-16]
+                let value: UInt32 = ((words[i-3]) ^ (words[i-8]) ^ (words[i-14]) ^ (words[i-16]))
                 words.append(rotateLeft(value, 1))
             }
             

+ 3 - 3
Sources/Swifter/WebSockets.swift

@@ -45,7 +45,7 @@ public func websocket(
 
 public class WebSocketSession {
     
-    public enum Error: ErrorProtocol { case unknownOpCode(String), unMaskedFrame }
+    public enum WebSocketError: Error { case unknownOpCode(String), unMaskedFrame }
     public enum OpCode: UInt8 { case `continue` = 0x00, close = 0x08, ping = 0x09, pong = 0x0A, text = 0x01, binary = 0x02 }
     
     public class Frame {
@@ -116,7 +116,7 @@ public class WebSocketSession {
         guard let opcode = OpCode(rawValue: opc) else {
             // "If an unknown opcode is received, the receiving endpoint MUST _Fail the WebSocket Connection_."
             // http://tools.ietf.org/html/rfc6455#section-5.2 ( Page 29 )
-            throw Error.unknownOpCode("\(opc)")
+            throw WebSocketError.unknownOpCode("\(opc)")
         }
         frm.opcode = opcode
         let sec = try socket.read()
@@ -124,7 +124,7 @@ public class WebSocketSession {
         guard msk else {
             // "...a client MUST mask all frames that it sends to the serve.."
             // http://tools.ietf.org/html/rfc6455#section-5.1
-            throw Error.unMaskedFrame
+            throw WebSocketError.unMaskedFrame
         }
         var len = UInt64(sec & 0x7F)
         if len == 0x7E {

+ 4 - 0
XCode/Swifter.xcodeproj/project.pbxproj

@@ -1098,8 +1098,10 @@
 				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
 				CLANG_WARN_EMPTY_BODY = YES;
 				CLANG_WARN_ENUM_CONVERSION = YES;
+				CLANG_WARN_INFINITE_RECURSION = YES;
 				CLANG_WARN_INT_CONVERSION = YES;
 				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+				CLANG_WARN_SUSPICIOUS_MOVE = YES;
 				CLANG_WARN_UNREACHABLE_CODE = YES;
 				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
@@ -1149,8 +1151,10 @@
 				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
 				CLANG_WARN_EMPTY_BODY = YES;
 				CLANG_WARN_ENUM_CONVERSION = YES;
+				CLANG_WARN_INFINITE_RECURSION = YES;
 				CLANG_WARN_INT_CONVERSION = YES;
 				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+				CLANG_WARN_SUSPICIOUS_MOVE = YES;
 				CLANG_WARN_UNREACHABLE_CODE = YES;
 				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";

+ 2 - 2
XCode/SwifterTestsCommon/SwifterTestsWebSocketSession.swift

@@ -43,7 +43,7 @@ class SwifterTestsWebSocketSession: XCTestCase {
             let session = WebSocketSession(TestSocket([0b0000_0001, 0b0000_0000, 0, 0, 0, 0]))
             let _ = try session.readFrame()
             XCTAssert(false, "Parser should not accept unmasked frames.")
-        } catch WebSocketSession.Error.unMaskedFrame {
+        } catch WebSocketSession.WebSocketError.unMaskedFrame {
             XCTAssert(true, "Parse should throw UnMaskedFrame error for unmasked message.")
         } catch {
             XCTAssert(false, "Parse should throw UnMaskedFrame error for unmasked message.")
@@ -110,7 +110,7 @@ class SwifterTestsWebSocketSession: XCTestCase {
             let session = WebSocketSession(TestSocket([UInt8(opcode), 0b1000_0000, 0, 0, 0, 0]))
                 let _ = try session.readFrame()
                 XCTAssert(false, "Parse should throw an error for unknown opcode: \(opcode)")
-            } catch WebSocketSession.Error.unknownOpCode(_) {
+            } catch WebSocketSession.WebSocketError.unknownOpCode(_) {
                 XCTAssert(true, "Parse should throw UnknownOpCode error for unknown opcode.")
             } catch {
                 XCTAssert(false, "Parse should throw UnknownOpCode error for unknown opcode (was \(error)).")