[
    Class(
        Class {
            span: (
                3,
                1,
            ),
            name: SimpleIdentifier {
                span: (
                    3,
                    7,
                ),
                value: "Foo2",
            },
            modifiers: ClassModifierGroup {
                modifiers: [],
            },
            extends: None,
            implements: None,
            attributes: [],
            body: ClassBody {
                start: (
                    3,
                    12,
                ),
                end: (
                    7,
                    1,
                ),
                members: [
                    TraitUsage(
                        TraitUsage {
                            span: (
                                4,
                                5,
                            ),
                            traits: [
                                SimpleIdentifier {
                                    span: (
                                        4,
                                        9,
                                    ),
                                    value: "B",
                                },
                            ],
                            adaptations: [
                                Alias {
                                    trait: None,
                                    method: SimpleIdentifier {
                                        span: (
                                            5,
                                            9,
                                        ),
                                        value: "foo",
                                    },
                                    alias: SimpleIdentifier {
                                        span: (
                                            5,
                                            26,
                                        ),
                                        value: "bar",
                                    },
                                    visibility: Some(
                                        Protected {
                                            start: (
                                                5,
                                                16,
                                            ),
                                            end: (
                                                5,
                                                26,
                                            ),
                                        },
                                    ),
                                },
                            ],
                        },
                    ),
                ],
            },
        },
    ),
    Class(
        Class {
            span: (
                9,
                1,
            ),
            name: SimpleIdentifier {
                span: (
                    9,
                    7,
                ),
                value: "Bar2",
            },
            modifiers: ClassModifierGroup {
                modifiers: [],
            },
            extends: None,
            implements: None,
            attributes: [],
            body: ClassBody {
                start: (
                    9,
                    12,
                ),
                end: (
                    14,
                    1,
                ),
                members: [
                    TraitUsage(
                        TraitUsage {
                            span: (
                                10,
                                5,
                            ),
                            traits: [
                                SimpleIdentifier {
                                    span: (
                                        10,
                                        9,
                                    ),
                                    value: "B",
                                },
                                SimpleIdentifier {
                                    span: (
                                        11,
                                        9,
                                    ),
                                    value: "C",
                                },
                            ],
                            adaptations: [
                                Precedence {
                                    trait: Some(
                                        SimpleIdentifier {
                                            span: (
                                                12,
                                                13,
                                            ),
                                            value: "B",
                                        },
                                    ),
                                    method: SimpleIdentifier {
                                        span: (
                                            12,
                                            16,
                                        ),
                                        value: "foo",
                                    },
                                    insteadof: [
                                        SimpleIdentifier {
                                            span: (
                                                12,
                                                30,
                                            ),
                                            value: "C",
                                        },
                                    ],
                                },
                            ],
                        },
                    ),
                ],
            },
        },
    ),
    Class(
        Class {
            span: (
                16,
                1,
            ),
            name: SimpleIdentifier {
                span: (
                    16,
                    7,
                ),
                value: "Bar3",
            },
            modifiers: ClassModifierGroup {
                modifiers: [],
            },
            extends: None,
            implements: None,
            attributes: [],
            body: ClassBody {
                start: (
                    16,
                    12,
                ),
                end: (
                    18,
                    1,
                ),
                members: [
                    TraitUsage(
                        TraitUsage {
                            span: (
                                17,
                                5,
                            ),
                            traits: [
                                SimpleIdentifier {
                                    span: (
                                        17,
                                        9,
                                    ),
                                    value: "B",
                                },
                            ],
                            adaptations: [
                                Alias {
                                    trait: Some(
                                        SimpleIdentifier {
                                            span: (
                                                17,
                                                13,
                                            ),
                                            value: "B",
                                        },
                                    ),
                                    method: SimpleIdentifier {
                                        span: (
                                            17,
                                            16,
                                        ),
                                        value: "foo",
                                    },
                                    alias: SimpleIdentifier {
                                        span: (
                                            17,
                                            23,
                                        ),
                                        value: "bar",
                                    },
                                    visibility: None,
                                },
                            ],
                        },
                    ),
                ],
            },
        },
    ),
    Class(
        Class {
            span: (
                20,
                1,
            ),
            name: SimpleIdentifier {
                span: (
                    20,
                    7,
                ),
                value: "Bar4",
            },
            modifiers: ClassModifierGroup {
                modifiers: [],
            },
            extends: None,
            implements: None,
            attributes: [],
            body: ClassBody {
                start: (
                    20,
                    12,
                ),
                end: (
                    22,
                    1,
                ),
                members: [
                    TraitUsage(
                        TraitUsage {
                            span: (
                                21,
                                5,
                            ),
                            traits: [
                                SimpleIdentifier {
                                    span: (
                                        21,
                                        9,
                                    ),
                                    value: "B",
                                },
                            ],
                            adaptations: [
                                Alias {
                                    trait: None,
                                    method: SimpleIdentifier {
                                        span: (
                                            21,
                                            13,
                                        ),
                                        value: "foo",
                                    },
                                    alias: SimpleIdentifier {
                                        span: (
                                            21,
                                            20,
                                        ),
                                        value: "bar",
                                    },
                                    visibility: None,
                                },
                            ],
                        },
                    ),
                ],
            },
        },
    ),
]
