0001    //
0002    //  ServiceKey.swift
0003    //  Swinject
0004    //
0005    //  Created by Yoichi Tagaya on 7/23/15.
0006    //  Copyright © 2015 Swinject Contributors. All rights reserved.
0007    //
0008    
0009    import Foundation
0010    
0011    internal struct ServiceKey
Container.swift:30
    private var services = [ServiceKey: ServiceEntryType]()
Container.swift:80
        let key = ServiceKey(factoryType: factory.dynamicType, name: name)
Container.swift:146
        let key = ServiceKey(factoryType: Factory.self, name: name)
Container.swift:174
    private func getEntry<Service>(key: ServiceKey) -> (ServiceEntry<Service>, Bool)? {
Container.swift:186
    private func resolveEntry<Service, Factory>(entry: ServiceEntry<Service>, key: ServiceKey, invoker: Factory -> Service) -> Service {
ResolutionPool.swift:14
    private var pool = [ServiceKey: Any]()
ServiceKey.swift:22
extension ServiceKey: Hashable {
ServiceKey.swift:29
func == (lhs: ServiceKey, rhs: ServiceKey) -> Bool {
ServiceKey.swift:29
func == (lhs: ServiceKey, rhs: ServiceKey) -> Bool {
{ 0012 private let factoryType
ServiceKey.swift:16
        self.factoryType = factoryType
ServiceKey.swift:24
        return String(factoryType).hashValue ^ (name?.hashValue ?? 0)
ServiceKey.swift:30
    return lhs.factoryType == rhs.factoryType && lhs.name == rhs.name
ServiceKey.swift:30
    return lhs.factoryType == rhs.factoryType && lhs.name == rhs.name
: FunctionType.Type 0013 private let name
ServiceKey.swift:17
        self.name = name
ServiceKey.swift:24
        return String(factoryType).hashValue ^ (name?.hashValue ?? 0)
ServiceKey.swift:30
    return lhs.factoryType == rhs.factoryType && lhs.name == rhs.name
ServiceKey.swift:30
    return lhs.factoryType == rhs.factoryType && lhs.name == rhs.name
: String? 0014 0015 internal init
Container.swift:80
        let key = ServiceKey(factoryType: factory.dynamicType, name: name)
Container.swift:146
        let key = ServiceKey(factoryType: Factory.self, name: name)
(factoryType: FunctionType.Type, name: String? = nil) { 0016 self.factoryType = factoryType 0017 self.name = name 0018 } 0019 } 0020 0021 // MARK: Hashable 0022 extension ServiceKey: Hashable { 0023 var hashValue: Int { 0024 return String(factoryType).hashValue ^ (name?.hashValue ?? 0) 0025 } 0026 } 0027 0028 // MARK: Equatable 0029 func == (lhs: ServiceKey, rhs: ServiceKey) -> Bool { 0030 return lhs.factoryType == rhs.factoryType && lhs.name == rhs.name 0031 } 0032