Struct syntex_syntax::ext::base::SyntaxEnv [] [src]

pub struct SyntaxEnv {
    pub names: HashSet<Name>,
    // some fields omitted
}

In order to have some notion of scoping for macros, we want to implement the notion of a transformation environment.

This environment maps Names to SyntaxExtensions.

Fields

names

All bang-style macro/extension names encountered so far; to be used for diagnostics in resolve

Methods

impl SyntaxEnv

fn push_frame(&mut self)

fn pop_frame(&mut self)

fn find(&self, k: Name) -> Option<Rc<SyntaxExtension>>

fn insert(&mut self, k: Name, v: SyntaxExtension)

fn info(&mut self) -> &mut BlockInfo