[][src]Struct garando_pos::hygiene::SyntaxContext

pub struct SyntaxContext(_);

A SyntaxContext represents a chain of macro expansions (represented by marks).

Implementations

impl SyntaxContext[src]

pub fn empty() -> Self[src]

pub fn apply_mark(self, mark: Mark) -> SyntaxContext[src]

Extend a syntax context with a given mark

pub fn remove_mark(&mut self) -> Mark[src]

pub fn adjust(&mut self, expansion: Mark) -> Option<Mark>[src]

Adjust this context for resolution in a scope created by the given expansion. This returns the expansion whose definition scope we use to privacy check the resolution, or None if we privacy check as usual (i.e. not w.r.t. a macro definition scope).

pub fn glob_adjust(
    &mut self,
    expansion: Mark,
    glob_ctxt: SyntaxContext
) -> Option<Option<Mark>>
[src]

Adjust this context for resolution in a scope created by the given expansion via a glob import with the given SyntaxContext. This returns None if the context cannot be glob-adjusted. Otherwise, it returns the scope to use when privacy checking (see adjust for details).

pub fn reverse_glob_adjust(
    &mut self,
    expansion: Mark,
    glob_ctxt: SyntaxContext
) -> Option<Option<Mark>>
[src]

Undo glob_adjust if possible:

pub fn modern(self) -> SyntaxContext[src]

pub fn outer(self) -> Mark[src]

Trait Implementations

impl Clone for SyntaxContext[src]

impl Copy for SyntaxContext[src]

impl Debug for SyntaxContext[src]

impl Default for SyntaxContext[src]

impl<'de> Deserialize<'de> for SyntaxContext[src]

impl Eq for SyntaxContext[src]

impl Hash for SyntaxContext[src]

impl Ord for SyntaxContext[src]

impl PartialEq<SyntaxContext> for SyntaxContext[src]

impl PartialOrd<SyntaxContext> for SyntaxContext[src]

impl Serialize for SyntaxContext[src]

impl StructuralEq for SyntaxContext[src]

impl StructuralPartialEq for SyntaxContext[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.