Trait Context

Source
pub trait Context {
    // Required methods
    fn add_simple_extension_uri(
        &mut self,
        simple_extension_uri: &SimpleExtensionUri,
    ) -> Result<&SimpleExtensions, ContextError>;
    fn simple_extensions(
        &self,
        anchor: &Anchor<SimpleExtensionUri>,
    ) -> Result<&SimpleExtensions, ContextError>;

    // Provided method
    fn parse<T: Parse<Self>>(&mut self, item: T) -> Result<T::Parsed, T::Error>
       where Self: Sized { ... }
}
Available on crate feature parse only.
Expand description

A parse context.

Parsing Substrait data is context-sensitive. This trait provides methods that can be used by parser implementations to parse Substrait data.

Required Methods§

Source

fn add_simple_extension_uri( &mut self, simple_extension_uri: &SimpleExtensionUri, ) -> Result<&SimpleExtensions, ContextError>

Add a SimpleExtensionUri to this context. Must return an error for duplicate anchors or when the URI is not supported.

This function must eagerly resolve and parse the simple extension, returning an error if either fails.

Source

fn simple_extensions( &self, anchor: &Anchor<SimpleExtensionUri>, ) -> Result<&SimpleExtensions, ContextError>

Returns the simple extensions for the given simple extension anchor.

Provided Methods§

Source

fn parse<T: Parse<Self>>(&mut self, item: T) -> Result<T::Parsed, T::Error>
where Self: Sized,

Parse an item with this context.

See Parse::parse.

Implementors§