You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

186 lines
6.9 KiB

2 years ago
  1. //
  2. // Copyright © 2019 Swinject Contributors. All rights reserved.
  3. //
  4. //
  5. // NOTICE:
  6. //
  7. // SynchronizedResolver.Arguments.swift is generated from SynchronizedResolver.Arguments.erb by ERB.
  8. // Do NOT modify SynchronizedResolver.Arguments.swift directly.
  9. // Instead, modify SynchronizedResolver.Arguments.erb and run `script/gencode` at the project root directory to generate the code.
  10. //
  11. // MARK: - Resolver with Arguments
  12. extension SynchronizedResolver {
  13. internal func resolve<Service, Arg1>(
  14. _ serviceType: Service.Type,
  15. argument: Arg1
  16. ) -> Service? {
  17. return container.lock.sync {
  18. self.container.resolve(serviceType, argument: argument)
  19. }
  20. }
  21. internal func resolve<Service, Arg1>(
  22. _ serviceType: Service.Type,
  23. name: String?,
  24. argument: Arg1
  25. ) -> Service? {
  26. return container.lock.sync {
  27. self.container.resolve(serviceType, name: name, argument: argument)
  28. }
  29. }
  30. internal func resolve<Service, Arg1, Arg2>(
  31. _ serviceType: Service.Type,
  32. arguments arg1: Arg1, _ arg2: Arg2
  33. ) -> Service? {
  34. return container.lock.sync {
  35. self.container.resolve(serviceType, arguments: arg1, arg2)
  36. }
  37. }
  38. internal func resolve<Service, Arg1, Arg2>(
  39. _ serviceType: Service.Type,
  40. name: String?,
  41. arguments arg1: Arg1, _ arg2: Arg2
  42. ) -> Service? {
  43. return container.lock.sync {
  44. self.container.resolve(serviceType, name: name, arguments: arg1, arg2)
  45. }
  46. }
  47. internal func resolve<Service, Arg1, Arg2, Arg3>(
  48. _ serviceType: Service.Type,
  49. arguments arg1: Arg1, _ arg2: Arg2, _ arg3: Arg3
  50. ) -> Service? {
  51. return container.lock.sync {
  52. self.container.resolve(serviceType, arguments: arg1, arg2, arg3)
  53. }
  54. }
  55. internal func resolve<Service, Arg1, Arg2, Arg3>(
  56. _ serviceType: Service.Type,
  57. name: String?,
  58. arguments arg1: Arg1, _ arg2: Arg2, _ arg3: Arg3
  59. ) -> Service? {
  60. return container.lock.sync {
  61. self.container.resolve(serviceType, name: name, arguments: arg1, arg2, arg3)
  62. }
  63. }
  64. internal func resolve<Service, Arg1, Arg2, Arg3, Arg4>(
  65. _ serviceType: Service.Type,
  66. arguments arg1: Arg1, _ arg2: Arg2, _ arg3: Arg3, _ arg4: Arg4
  67. ) -> Service? {
  68. return container.lock.sync {
  69. self.container.resolve(serviceType, arguments: arg1, arg2, arg3, arg4)
  70. }
  71. }
  72. internal func resolve<Service, Arg1, Arg2, Arg3, Arg4>(
  73. _ serviceType: Service.Type,
  74. name: String?,
  75. arguments arg1: Arg1, _ arg2: Arg2, _ arg3: Arg3, _ arg4: Arg4
  76. ) -> Service? {
  77. return container.lock.sync {
  78. self.container.resolve(serviceType, name: name, arguments: arg1, arg2, arg3, arg4)
  79. }
  80. }
  81. internal func resolve<Service, Arg1, Arg2, Arg3, Arg4, Arg5>(
  82. _ serviceType: Service.Type,
  83. arguments arg1: Arg1, _ arg2: Arg2, _ arg3: Arg3, _ arg4: Arg4, _ arg5: Arg5
  84. ) -> Service? {
  85. return container.lock.sync {
  86. self.container.resolve(serviceType, arguments: arg1, arg2, arg3, arg4, arg5)
  87. }
  88. }
  89. internal func resolve<Service, Arg1, Arg2, Arg3, Arg4, Arg5>(
  90. _ serviceType: Service.Type,
  91. name: String?,
  92. arguments arg1: Arg1, _ arg2: Arg2, _ arg3: Arg3, _ arg4: Arg4, _ arg5: Arg5
  93. ) -> Service? {
  94. return container.lock.sync {
  95. self.container.resolve(serviceType, name: name, arguments: arg1, arg2, arg3, arg4, arg5)
  96. }
  97. }
  98. internal func resolve<Service, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6>(
  99. _ serviceType: Service.Type,
  100. arguments arg1: Arg1, _ arg2: Arg2, _ arg3: Arg3, _ arg4: Arg4, _ arg5: Arg5, _ arg6: Arg6
  101. ) -> Service? {
  102. return container.lock.sync {
  103. self.container.resolve(serviceType, arguments: arg1, arg2, arg3, arg4, arg5, arg6)
  104. }
  105. }
  106. internal func resolve<Service, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6>(
  107. _ serviceType: Service.Type,
  108. name: String?,
  109. arguments arg1: Arg1, _ arg2: Arg2, _ arg3: Arg3, _ arg4: Arg4, _ arg5: Arg5, _ arg6: Arg6
  110. ) -> Service? {
  111. return container.lock.sync {
  112. self.container.resolve(serviceType, name: name, arguments: arg1, arg2, arg3, arg4, arg5, arg6)
  113. }
  114. }
  115. internal func resolve<Service, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7>(
  116. _ serviceType: Service.Type,
  117. arguments arg1: Arg1, _ arg2: Arg2, _ arg3: Arg3, _ arg4: Arg4, _ arg5: Arg5, _ arg6: Arg6, _ arg7: Arg7
  118. ) -> Service? {
  119. return container.lock.sync {
  120. self.container.resolve(serviceType, arguments: arg1, arg2, arg3, arg4, arg5, arg6, arg7)
  121. }
  122. }
  123. internal func resolve<Service, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7>(
  124. _ serviceType: Service.Type,
  125. name: String?,
  126. arguments arg1: Arg1, _ arg2: Arg2, _ arg3: Arg3, _ arg4: Arg4, _ arg5: Arg5, _ arg6: Arg6, _ arg7: Arg7
  127. ) -> Service? {
  128. return container.lock.sync {
  129. self.container.resolve(serviceType, name: name, arguments: arg1, arg2, arg3, arg4, arg5, arg6, arg7)
  130. }
  131. }
  132. internal func resolve<Service, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8>(
  133. _ serviceType: Service.Type,
  134. arguments arg1: Arg1, _ arg2: Arg2, _ arg3: Arg3, _ arg4: Arg4, _ arg5: Arg5, _ arg6: Arg6, _ arg7: Arg7, _ arg8: Arg8
  135. ) -> Service? {
  136. return container.lock.sync {
  137. self.container.resolve(serviceType, arguments: arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8)
  138. }
  139. }
  140. internal func resolve<Service, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8>(
  141. _ serviceType: Service.Type,
  142. name: String?,
  143. arguments arg1: Arg1, _ arg2: Arg2, _ arg3: Arg3, _ arg4: Arg4, _ arg5: Arg5, _ arg6: Arg6, _ arg7: Arg7, _ arg8: Arg8
  144. ) -> Service? {
  145. return container.lock.sync {
  146. self.container.resolve(serviceType, name: name, arguments: arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8)
  147. }
  148. }
  149. internal func resolve<Service, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9>(
  150. _ serviceType: Service.Type,
  151. arguments arg1: Arg1, _ arg2: Arg2, _ arg3: Arg3, _ arg4: Arg4, _ arg5: Arg5, _ arg6: Arg6, _ arg7: Arg7, _ arg8: Arg8, _ arg9: Arg9
  152. ) -> Service? {
  153. return container.lock.sync {
  154. self.container.resolve(serviceType, arguments: arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9)
  155. }
  156. }
  157. internal func resolve<Service, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9>(
  158. _ serviceType: Service.Type,
  159. name: String?,
  160. arguments arg1: Arg1, _ arg2: Arg2, _ arg3: Arg3, _ arg4: Arg4, _ arg5: Arg5, _ arg6: Arg6, _ arg7: Arg7, _ arg8: Arg8, _ arg9: Arg9
  161. ) -> Service? {
  162. return container.lock.sync {
  163. self.container.resolve(serviceType, name: name, arguments: arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9)
  164. }
  165. }
  166. }