DefinitionTree { definitions: [ Interface( InterfaceDefinition { comments: CommentGroup { comments: [], }, attributes: [], interface: Keyword { value: "interface", position: 0, }, name: Identifier { position: 10, value: "enum", }, templates: None, extends: Some( InterfaceDefinitionExtends { extends: Keyword { value: "extends", position: 15, }, parents: CommaSeparated { inner: [ TemplatedIdentifier { name: Identifier { position: 23, value: "enum", }, templates: None, }, TemplatedIdentifier { name: Identifier { position: 29, value: "from", }, templates: None, }, ], commas: [ 27, ], }, }, ), body: InterfaceDefinitionBody { left_brace: 34, members: [], right_brace: 35, }, }, ), Class( ClassDefinition { comments: CommentGroup { comments: [], }, attributes: [], modifiers: ModifierGroupDefinition { position: 38, modifiers: [], }, class: Keyword { value: "class", position: 38, }, name: Identifier { position: 44, value: "enum", }, templates: None, extends: Some( ClassDefinitionExtends { extends: Keyword { value: "extends", position: 49, }, parent: TemplatedIdentifier { name: Identifier { position: 57, value: "enum", }, templates: None, }, }, ), implements: Some( ClassDefinitionImplements { implements: Keyword { value: "implements", position: 62, }, interfaces: CommaSeparated { inner: [ TemplatedIdentifier { name: Identifier { position: 73, value: "enum", }, templates: None, }, TemplatedIdentifier { name: Identifier { position: 79, value: "from", }, templates: None, }, ], commas: [ 77, ], }, }, ), body: ClassDefinitionBody { left_brace: 84, members: [], right_brace: 85, }, }, ), Class( ClassDefinition { comments: CommentGroup { comments: [], }, attributes: [], modifiers: ModifierGroupDefinition { position: 87, modifiers: [], }, class: Keyword { value: "class", position: 87, }, name: Identifier { position: 93, value: "from", }, templates: None, extends: Some( ClassDefinitionExtends { extends: Keyword { value: "extends", position: 98, }, parent: TemplatedIdentifier { name: Identifier { position: 106, value: "from", }, templates: None, }, }, ), implements: Some( ClassDefinitionImplements { implements: Keyword { value: "implements", position: 111, }, interfaces: CommaSeparated { inner: [ TemplatedIdentifier { name: Identifier { position: 122, value: "Foo\enum", }, templates: None, }, TemplatedIdentifier { name: Identifier { position: 132, value: "\Bar\Baz\from", }, templates: None, }, ], commas: [ 130, ], }, }, ), body: ClassDefinitionBody { left_brace: 146, members: [], right_brace: 147, }, }, ), ], eof: 149, }