DefinitionTree { definitions: [ Namespace( NamespaceDefinition { namespace: Keyword { value: "namespace", position: 0, }, name: Identifier { position: 10, value: "Foo\Bar", }, semicolon: 17, definitions: [ Class( ClassDefinition { comments: CommentGroup { comments: [], }, attributes: [], modifiers: ModifierGroupDefinition { position: 26, modifiers: [ Final( Keyword { value: "final", position: 20, }, ), ], }, class: Keyword { value: "class", position: 26, }, name: Identifier { position: 32, value: "Baz", }, templates: None, extends: None, implements: None, body: ClassDefinitionBody { left_brace: 36, members: [ Property( PropertyDefinition { attributes: [], modifiers: ModifierGroupDefinition { position: 59, modifiers: [ Public( Keyword { value: "public", position: 43, }, ), Readonly( Keyword { value: "readonly", position: 50, }, ), ], }, type_definition: String( Keyword { value: "string", position: 59, }, ), entry: Uninitialized { variable: Variable { position: 66, name: "$foo", }, }, semicolon: 70, }, ), ], right_brace: 72, }, }, ), ], }, ), ], eof: 74, }