@@ -19,23 +19,22 @@ struct SymbolGraphLoader {
19
19
private( set) var symbolGraphs : [ URL : SymbolKit . SymbolGraph ] = [ : ]
20
20
private( set) var unifiedGraphs : [ String : SymbolKit . UnifiedSymbolGraph ] = [ : ]
21
21
private( set) var graphLocations : [ String : [ SymbolKit . GraphCollector . GraphKind ] ] = [ : ]
22
- // FIXME: After 6.2, when we no longer have `DocumentationContextDataProvider` we can simply this code to not use a closure to read data.
23
- private var dataLoader : ( URL , DocumentationBundle ) throws -> Data
24
- private var bundle : DocumentationBundle
25
- private var symbolGraphTransformer : ( ( inout SymbolGraph ) -> ( ) ) ? = nil
22
+ private let dataProvider : any DataProvider
23
+ private let bundle : DocumentationBundle
24
+ private let symbolGraphTransformer : ( ( inout SymbolGraph ) -> ( ) ) ?
26
25
27
26
/// Creates a new symbol graph loader
28
27
/// - Parameters:
29
28
/// - bundle: The documentation bundle from which to load symbol graphs.
30
- /// - dataLoader : A closure that the loader uses to read symbol graph data.
29
+ /// - dataProvider : A provider that the loader uses to read symbol graph data.
31
30
/// - symbolGraphTransformer: An optional closure that transforms the symbol graph after the loader decodes it.
32
31
init (
33
32
bundle: DocumentationBundle ,
34
- dataLoader : @escaping ( URL , DocumentationBundle ) throws -> Data ,
33
+ dataProvider : any DataProvider ,
35
34
symbolGraphTransformer: ( ( inout SymbolGraph ) -> ( ) ) ? = nil
36
35
) {
37
36
self . bundle = bundle
38
- self . dataLoader = dataLoader
37
+ self . dataProvider = dataProvider
39
38
self . symbolGraphTransformer = symbolGraphTransformer
40
39
}
41
40
@@ -61,13 +60,13 @@ struct SymbolGraphLoader {
61
60
var loadedGraphs = [ URL: ( usesExtensionSymbolFormat: Bool? , graph: SymbolKit . SymbolGraph) ] ( )
62
61
var loadError : ( any Error ) ?
63
62
64
- let loadGraphAtURL : ( URL ) -> Void = { [ dataLoader , bundle ] symbolGraphURL in
63
+ let loadGraphAtURL : ( URL ) -> Void = { [ dataProvider ] symbolGraphURL in
65
64
// Bail out in case a symbol graph has already errored
66
65
guard loadingLock. sync ( { loadError == nil } ) else { return }
67
66
68
67
do {
69
68
// Load and decode a single symbol graph file
70
- let data = try dataLoader ( symbolGraphURL , bundle )
69
+ let data = try dataProvider . contents ( of : symbolGraphURL )
71
70
72
71
var symbolGraph : SymbolGraph
73
72
0 commit comments