in Sources/SwiftDocC/Infrastructure/CoverageDataEntry.swift [595:635]
init(from decoder: Decoder) throws {
let container = try decoder.container(keyedBy: CodingKeys.self)
let discriminant = try container.decode(
Discriminant.self,
forKey: .discriminant
)
switch discriminant {
case .initializer,
.instanceMethod,
.enumerationCase,
.function,
.operator:
let associatedValue = try container.decode(
RatioStatistic.self,
forKey: .associatedValue
)
self = try discriminant.associatedRatioStatisticInitializer()(associatedValue)
case .class,
.`structure`,
.enumeration,
.protocol:
let associatedValue = try container.decode(
[InstanceMemberType: RatioStatistic].self,
forKey: .associatedValue
)
self = try discriminant.associatedMemberStatisticsInitializer()(associatedValue)
case .typeAlias:
self = .typeAlias
case .instanceProperty:
self = .instanceProperty
case .variable:
self = .variable
case .framework:
self = .framework
case .article:
self = .article
}
}