0001
0009
0017
0018 extension SynchronizedResolver {
0020 internal func resolve<Service, Arg1>(
0021 serviceType: Service.Type,
0022 argument: Arg1) -> Service?
0023 {
0024 return container.lock.sync {
0025 return self.container.resolve(serviceType, argument: argument)
0026 }
0027 }
0028
0029 internal func resolve<Service, Arg1>(
0030 serviceType: Service.Type,
0031 name: String?,
0032 argument: Arg1) -> Service?
0033 {
0034 return container.lock.sync {
0035 return self.container.resolve(serviceType, name: name, argument: argument)
0036 }
0037 }
0038
0039 internal func resolve<Service, Arg1, Arg2>(
0040 serviceType: Service.Type,
0041 arguments: (Arg1, Arg2)) -> Service?
0042 {
0043 return container.lock.sync {
0044 return self.container.resolve(serviceType, arguments: arguments)
0045 }
0046 }
0047
0048 internal func resolve<Service, Arg1, Arg2>(
0049 serviceType: Service.Type,
0050 name: String?,
0051 arguments: (Arg1, Arg2)) -> Service?
0052 {
0053 return container.lock.sync {
0054 return self.container.resolve(serviceType, name: name, arguments: arguments)
0055 }
0056 }
0057
0058 internal func resolve<Service, Arg1, Arg2, Arg3>(
0059 serviceType: Service.Type,
0060 arguments: (Arg1, Arg2, Arg3)) -> Service?
0061 {
0062 return container.lock.sync {
0063 return self.container.resolve(serviceType, arguments: arguments)
0064 }
0065 }
0066
0067 internal func resolve<Service, Arg1, Arg2, Arg3>(
0068 serviceType: Service.Type,
0069 name: String?,
0070 arguments: (Arg1, Arg2, Arg3)) -> Service?
0071 {
0072 return container.lock.sync {
0073 return self.container.resolve(serviceType, name: name, arguments: arguments)
0074 }
0075 }
0076
0077 internal func resolve<Service, Arg1, Arg2, Arg3, Arg4>(
0078 serviceType: Service.Type,
0079 arguments: (Arg1, Arg2, Arg3, Arg4)) -> Service?
0080 {
0081 return container.lock.sync {
0082 return self.container.resolve(serviceType, arguments: arguments)
0083 }
0084 }
0085
0086 internal func resolve<Service, Arg1, Arg2, Arg3, Arg4>(
0087 serviceType: Service.Type,
0088 name: String?,
0089 arguments: (Arg1, Arg2, Arg3, Arg4)) -> Service?
0090 {
0091 return container.lock.sync {
0092 return self.container.resolve(serviceType, name: name, arguments: arguments)
0093 }
0094 }
0095
0096 internal func resolve<Service, Arg1, Arg2, Arg3, Arg4, Arg5>(
0097 serviceType: Service.Type,
0098 arguments: (Arg1, Arg2, Arg3, Arg4, Arg5)) -> Service?
0099 {
0100 return container.lock.sync {
0101 return self.container.resolve(serviceType, arguments: arguments)
0102 }
0103 }
0104
0105 internal func resolve<Service, Arg1, Arg2, Arg3, Arg4, Arg5>(
0106 serviceType: Service.Type,
0107 name: String?,
0108 arguments: (Arg1, Arg2, Arg3, Arg4, Arg5)) -> Service?
0109 {
0110 return container.lock.sync {
0111 return self.container.resolve(serviceType, name: name, arguments: arguments)
0112 }
0113 }
0114
0115 internal func resolve<Service, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6>(
0116 serviceType: Service.Type,
0117 arguments: (Arg1, Arg2, Arg3, Arg4, Arg5, Arg6)) -> Service?
0118 {
0119 return container.lock.sync {
0120 return self.container.resolve(serviceType, arguments: arguments)
0121 }
0122 }
0123
0124 internal func resolve<Service, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6>(
0125 serviceType: Service.Type,
0126 name: String?,
0127 arguments: (Arg1, Arg2, Arg3, Arg4, Arg5, Arg6)) -> Service?
0128 {
0129 return container.lock.sync {
0130 return self.container.resolve(serviceType, name: name, arguments: arguments)
0131 }
0132 }
0133
0134 internal func resolve<Service, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7>(
0135 serviceType: Service.Type,
0136 arguments: (Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7)) -> Service?
0137 {
0138 return container.lock.sync {
0139 return self.container.resolve(serviceType, arguments: arguments)
0140 }
0141 }
0142
0143 internal func resolve<Service, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7>(
0144 serviceType: Service.Type,
0145 name: String?,
0146 arguments: (Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7)) -> Service?
0147 {
0148 return container.lock.sync {
0149 return self.container.resolve(serviceType, name: name, arguments: arguments)
0150 }
0151 }
0152
0153 internal func resolve<Service, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8>(
0154 serviceType: Service.Type,
0155 arguments: (Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8)) -> Service?
0156 {
0157 return container.lock.sync {
0158 return self.container.resolve(serviceType, arguments: arguments)
0159 }
0160 }
0161
0162 internal func resolve<Service, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8>(
0163 serviceType: Service.Type,
0164 name: String?,
0165 arguments: (Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8)) -> Service?
0166 {
0167 return container.lock.sync {
0168 return self.container.resolve(serviceType, name: name, arguments: arguments)
0169 }
0170 }
0171
0172 internal func resolve<Service, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9>(
0173 serviceType: Service.Type,
0174 arguments: (Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9)) -> Service?
0175 {
0176 return container.lock.sync {
0177 return self.container.resolve(serviceType, arguments: arguments)
0178 }
0179 }
0180
0181 internal func resolve<Service, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9>(
0182 serviceType: Service.Type,
0183 name: String?,
0184 arguments: (Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9)) -> Service?
0185 {
0186 return container.lock.sync {
0187 return self.container.resolve(serviceType, name: name, arguments: arguments)
0188 }
0189 }
0190
0191 }
0192