init()

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
        }

    }