fn parse_schema_extension(&mut self) -> ParseResult<SchemaExtension> {
        // `extend schema` was already parsed
        let directives = self.parse_constant_directives()?;
        let operation_types = self.parse_optional_delimited_nonempty_list(
            TokenKind::OpenBrace,
            TokenKind::CloseBrace,
            Self::parse_operation_type_definition,
        )?;
        Ok(SchemaExtension {
            directives,
            operation_types,
        })
    }
/**
     * SchemaExtension :
     *  - extend schema Directives? { OperationTypeDefinition+ }
     *  - extend schema Directives
     */
SchemaExtension :
- extend schema Directives. { OperationTypeDefinition+ }
- extend schema Directives
SchemaExtension : - extend schema Directives . { OperationTypeDefinition + } - extend schema Directives
fn parse_schema_extension(&mut self) -> ParseResult<SchemaExtension> {
        // `extend schema` was already parsed
        let directives = self.parse_constant_directives()?;
        let operation_types = self.parse_optional_delimited_nonempty_list(
            TokenKind::OpenBrace,
            TokenKind::CloseBrace,
            Self::parse_operation_type_definition,
        )?;
        Ok(SchemaExtension {
            directives,
            operation_types,
        })
    }
fn parse_schema_extension ( & mut self ) -> ParseResult < SchemaExtension > { // `extend schema` was already parsed let directives = self . parse_constant_directives ( ) ? ; let operation_types = self . parse_optional_delimited_nonempty_list ( TokenKind :: OpenBrace , TokenKind :: CloseBrace , Self :: parse_operation_type_definition , ) ? ; Ok ( SchemaExtension { directives , operation_types , } ) }
SchemaExtension :
  - extend schema Directives?
SchemaExtension : - extend schema Directives?
&mut self
&mut self