[ FullOpeningTag( FullOpeningTagStatement { span: Span { line: 1, column: 1, position: 0, }, }, ), Class( ClassStatement { attributes: [], modifiers: ClassModifierGroup { modifiers: [], }, class: Span { line: 3, column: 1, position: 7, }, name: SimpleIdentifier { span: Span { line: 3, column: 7, position: 13, }, value: "Foo2", }, extends: None, implements: None, body: ClassBody { left_brace: Span { line: 3, column: 12, position: 18, }, members: [ TraitUsage( TraitUsage { use: Span { line: 4, column: 5, position: 24, }, traits: [ SimpleIdentifier { span: Span { line: 4, column: 9, position: 28, }, value: "B", }, ], adaptations: [ Alias { trait: None, method: SimpleIdentifier { span: Span { line: 5, column: 9, position: 40, }, value: "foo", }, alias: SimpleIdentifier { span: Span { line: 5, column: 26, position: 57, }, value: "bar", }, visibility: Some( Protected( Span { line: 5, column: 16, position: 47, }, ), ), }, ], }, ), ], right_brace: Span { line: 7, column: 1, position: 68, }, }, }, ), Class( ClassStatement { attributes: [], modifiers: ClassModifierGroup { modifiers: [], }, class: Span { line: 9, column: 1, position: 71, }, name: SimpleIdentifier { span: Span { line: 9, column: 7, position: 77, }, value: "Bar2", }, extends: None, implements: None, body: ClassBody { left_brace: Span { line: 9, column: 12, position: 82, }, members: [ TraitUsage( TraitUsage { use: Span { line: 10, column: 5, position: 89, }, traits: [ SimpleIdentifier { span: Span { line: 10, column: 9, position: 93, }, value: "B", }, SimpleIdentifier { span: Span { line: 11, column: 9, position: 104, }, value: "C", }, ], adaptations: [ Precedence { trait: Some( SimpleIdentifier { span: Span { line: 12, column: 13, position: 121, }, value: "B", }, ), method: SimpleIdentifier { span: Span { line: 12, column: 16, position: 124, }, value: "foo", }, insteadof: [ SimpleIdentifier { span: Span { line: 12, column: 30, position: 138, }, value: "C", }, ], }, ], }, ), ], right_brace: Span { line: 14, column: 1, position: 151, }, }, }, ), Class( ClassStatement { attributes: [], modifiers: ClassModifierGroup { modifiers: [], }, class: Span { line: 16, column: 1, position: 154, }, name: SimpleIdentifier { span: Span { line: 16, column: 7, position: 160, }, value: "Bar3", }, extends: None, implements: None, body: ClassBody { left_brace: Span { line: 16, column: 12, position: 165, }, members: [ TraitUsage( TraitUsage { use: Span { line: 17, column: 5, position: 171, }, traits: [ SimpleIdentifier { span: Span { line: 17, column: 9, position: 175, }, value: "B", }, ], adaptations: [ Alias { trait: Some( SimpleIdentifier { span: Span { line: 17, column: 13, position: 179, }, value: "B", }, ), method: SimpleIdentifier { span: Span { line: 17, column: 16, position: 182, }, value: "foo", }, alias: SimpleIdentifier { span: Span { line: 17, column: 23, position: 189, }, value: "bar", }, visibility: None, }, ], }, ), ], right_brace: Span { line: 18, column: 1, position: 196, }, }, }, ), Class( ClassStatement { attributes: [], modifiers: ClassModifierGroup { modifiers: [], }, class: Span { line: 20, column: 1, position: 199, }, name: SimpleIdentifier { span: Span { line: 20, column: 7, position: 205, }, value: "Bar4", }, extends: None, implements: None, body: ClassBody { left_brace: Span { line: 20, column: 12, position: 210, }, members: [ TraitUsage( TraitUsage { use: Span { line: 21, column: 5, position: 216, }, traits: [ SimpleIdentifier { span: Span { line: 21, column: 9, position: 220, }, value: "B", }, ], adaptations: [ Alias { trait: None, method: SimpleIdentifier { span: Span { line: 21, column: 13, position: 224, }, value: "foo", }, alias: SimpleIdentifier { span: Span { line: 21, column: 20, position: 231, }, value: "bar", }, visibility: None, }, ], }, ), ], right_brace: Span { line: 22, column: 1, position: 238, }, }, }, ), ]