Skip to content

Commit e4fe0c3

Browse files
committed
코드 정리
1 parent 0142bb4 commit e4fe0c3

File tree

6 files changed

+57
-17
lines changed

6 files changed

+57
-17
lines changed

Sources/DIContainer/Module/AutoModule.swift

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,17 @@ public protocol AutoModulable: AnyObject {
1212
associatedtype ModuleKeyType: InjectionKeyType
1313
}
1414

15-
public typealias AutoModule = AutoModuleBase & AutoModulable
15+
public typealias AutoModule = AutoModulable & AutoModuleBase
1616

1717
#if DEBUG
18+
extension AutoModulable where Self: AutoModuleBase {
19+
static var module: Module? {
20+
Self().module
21+
}
22+
}
23+
1824
extension AutoModulable {
19-
var module: Module? {
25+
private var module: Module? {
2026
guard
2127
let instance = self as? ModuleKeyType.Value,
2228
let autoModuleBase = instance as? AutoModuleBase

Sources/DIContainer/Module/Module.swift

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,22 +9,29 @@ public struct Module: Hashable {
99
_ keyType: T.Type,
1010
_ resolve: @escaping () -> U
1111
) where T.Value == U {
12-
name = KeyName(keyType).name
13-
self.resolve = resolve
12+
let name = KeyName(keyType).name
13+
self.init(name: name, resolve: resolve)
1414
}
1515

1616
public init<T: AutoModule>(_ moduleType: T.Type) {
17-
name = KeyName(moduleType.ModuleKeyType.self).name
18-
resolve = {
17+
let name = KeyName(moduleType.ModuleKeyType.self).name
18+
self.init(name: name, resolve: {
1919
moduleType.init()
20-
}
20+
})
21+
}
22+
23+
init(name: String, resolve: @escaping () -> Any) {
24+
self.name = name
25+
self.resolve = resolve
2126
}
27+
}
2228

23-
public static func == (lhs: Module, rhs: Module) -> Bool {
29+
public extension Module {
30+
static func == (lhs: Module, rhs: Module) -> Bool {
2431
lhs.name == rhs.name
2532
}
26-
27-
public func hash(into hasher: inout Hasher) {
33+
34+
func hash(into hasher: inout Hasher) {
2835
hasher.combine(name)
2936
}
3037
}

Sources/DIContainer/Internals/MachOLoader/MachOLoader+SystemImagePath.swift renamed to Sources/DIContainer/Scanner/MachOLoader/MachOLoader+SystemImagePath.swift

File renamed without changes.

Sources/DIContainer/Internals/MachOLoader/MachOLoader.swift renamed to Sources/DIContainer/Scanner/MachOLoader/MachOLoader.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
//
2-
// machOLoader.swift
2+
// MachOLoader.swift
33
// DIContainer
44
//
55
// Created by minsOne on 12/10/24.
@@ -60,7 +60,7 @@ public extension MachOLoader {
6060

6161
var scanModuleList: [Module] {
6262
scanModuleTypeList
63-
.compactMap { ($0 as? any AutoModule.Type)?.init().module }
63+
.compactMap { ($0 as? any AutoModule.Type)?.module }
6464
}
6565
}
6666

Sources/DIContainer/Scan/ModuleScanner.swift renamed to Sources/DIContainer/Scanner/ObjcRuntime/ModuleScanner.swift

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ public struct ModuleScanner {
8181

8282
let start = Date()
8383
let (firstIndex, lastIndex) = (0, numberOfClasses)
84-
var (keys, ptrIndex) = ([any AutoModulable.Type](), [Int]())
84+
var (modules, ptrIndex) = ([any AutoModulable.Type](), [Int]())
8585
let superCls = AutoModuleBase.self
8686

8787
// MARK: Case 1 - class_getSuperclass
@@ -90,7 +90,7 @@ public struct ModuleScanner {
9090
if class_getSuperclass(cls) == superCls,
9191
case let kcls as any AutoModulable.Type = cls {
9292
ptrIndex.append(i)
93-
keys.append(kcls)
93+
modules.append(kcls)
9494
}
9595
}
9696

@@ -119,16 +119,16 @@ public struct ModuleScanner {
119119
│ numberOfClasses : \(numberOfClasses)
120120
│ InjectionKey classPtr Index List : \(ptrIndex)
121121
│ AutoModule List :
122-
│ - \(keys)
122+
│ - \(modules)
123123
└────────────────────────────────────────────────
124124
""")
125125

126-
return keys
126+
return modules
127127
}
128128

129129
public var scanModuleList: [Module] {
130130
scanModuleTypeList
131-
.compactMap { ($0 as? any AutoModule.Type)?.init().module }
131+
.compactMap { ($0 as? any AutoModule.Type)?.module }
132132
}
133133
}
134134
#endif
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
//
2+
// KeyNameTests.swift
3+
// DIContainer
4+
//
5+
// Created by minsOne on 1/26/25.
6+
//
7+
8+
import Testing
9+
10+
@testable import DIContainer
11+
12+
@Suite(.serialized)
13+
struct KeyNameTests {
14+
@Test
15+
func compare() {
16+
let lhs = KeyName(NestedType.NestedTypeServiceKey.self)
17+
let rhs = KeyName(NestedTypeServiceKey.self)
18+
19+
#expect(lhs.name != rhs.name)
20+
}
21+
}
22+
23+
enum NestedType {
24+
class NestedTypeServiceKey {}
25+
}
26+
27+
class NestedTypeServiceKey {}

0 commit comments

Comments
 (0)