Struct rustc_expand::proc_macro_server::Rustc[−][src]

pub(crate) struct Rustc<'a> {
    sess: &'a ParseSess,
    def_site: Span,
    call_site: Span,
    mixed_site: Span,
    span_debug: bool,
}

Fields

sess: &'a ParseSessdef_site: Spancall_site: Spanmixed_site: Spanspan_debug: bool

Implementations

impl<'a> Rustc<'a>[src]

pub fn new(cx: &'a ExtCtxt<'_>) -> Self[src]

fn lit(
    &mut self,
    kind: LitKind,
    symbol: Symbol,
    suffix: Option<Symbol>
) -> Literal
[src]

Trait Implementations

impl Diagnostic for Rustc<'_>[src]

fn new(
    &mut self,
    level: Level,
    msg: &str,
    spans: Self::MultiSpan
) -> Self::Diagnostic
[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

fn sub(
    &mut self,
    diag: &mut Self::Diagnostic,
    level: Level,
    msg: &str,
    spans: Self::MultiSpan
)
[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

fn emit(&mut self, diag: Self::Diagnostic)[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

fn drop(&mut self, self_: Self::Diagnostic)[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

impl FreeFunctions for Rustc<'_>[src]

fn track_env_var(&mut self, var: &str, value: Option<&str>)[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

fn drop(&mut self, self_: Self::FreeFunctions)[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

impl Group for Rustc<'_>[src]

fn new(
    &mut self,
    delimiter: Delimiter,
    stream: Self::TokenStream
) -> Self::Group
[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

fn delimiter(&mut self, group: &Self::Group) -> Delimiter[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

fn stream(&mut self, group: &Self::Group) -> Self::TokenStream[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

fn span(&mut self, group: &Self::Group) -> Self::Span[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

fn span_open(&mut self, group: &Self::Group) -> Self::Span[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

fn span_close(&mut self, group: &Self::Group) -> Self::Span[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

fn set_span(&mut self, group: &mut Self::Group, span: Self::Span)[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

fn drop(&mut self, self_: Self::Group)[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

fn clone(&mut self, self_: &Self::Group) -> Self::Group[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

impl Ident for Rustc<'_>[src]

fn new(&mut self, string: &str, span: Self::Span, is_raw: bool) -> Self::Ident[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

fn span(&mut self, ident: Self::Ident) -> Self::Span[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

fn with_span(&mut self, ident: Self::Ident, span: Self::Span) -> Self::Ident[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

impl Literal for Rustc<'_>[src]

fn debug_kind(&mut self, literal: &Self::Literal) -> String[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

fn symbol(&mut self, literal: &Self::Literal) -> String[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

fn suffix(&mut self, literal: &Self::Literal) -> Option<String>[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

fn integer(&mut self, n: &str) -> Self::Literal[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

fn typed_integer(&mut self, n: &str, kind: &str) -> Self::Literal[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

fn float(&mut self, n: &str) -> Self::Literal[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

fn f32(&mut self, n: &str) -> Self::Literal[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

fn f64(&mut self, n: &str) -> Self::Literal[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

fn string(&mut self, string: &str) -> Self::Literal[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

fn character(&mut self, ch: char) -> Self::Literal[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

fn byte_string(&mut self, bytes: &[u8]) -> Self::Literal[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

fn span(&mut self, literal: &Self::Literal) -> Self::Span[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

fn set_span(&mut self, literal: &mut Self::Literal, span: Self::Span)[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

fn subspan(
    &mut self,
    literal: &Self::Literal,
    start: Bound<usize>,
    end: Bound<usize>
) -> Option<Self::Span>
[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

fn drop(&mut self, self_: Self::Literal)[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

fn clone(&mut self, self_: &Self::Literal) -> Self::Literal[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

impl MultiSpan for Rustc<'_>[src]

fn new(&mut self) -> Self::MultiSpan[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

fn push(&mut self, spans: &mut Self::MultiSpan, span: Self::Span)[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

fn drop(&mut self, self_: Self::MultiSpan)[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

impl Punct for Rustc<'_>[src]

fn new(&mut self, ch: char, spacing: Spacing) -> Self::Punct[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

fn as_char(&mut self, punct: Self::Punct) -> char[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

fn spacing(&mut self, punct: Self::Punct) -> Spacing[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

fn span(&mut self, punct: Self::Punct) -> Self::Span[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

fn with_span(&mut self, punct: Self::Punct, span: Self::Span) -> Self::Punct[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

impl SourceFile for Rustc<'_>[src]

fn eq(&mut self, file1: &Self::SourceFile, file2: &Self::SourceFile) -> bool[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

fn path(&mut self, file: &Self::SourceFile) -> String[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

fn is_real(&mut self, file: &Self::SourceFile) -> bool[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

fn drop(&mut self, self_: Self::SourceFile)[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

fn clone(&mut self, self_: &Self::SourceFile) -> Self::SourceFile[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

impl Span for Rustc<'_>[src]

fn debug(&mut self, span: Self::Span) -> String[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

fn def_site(&mut self) -> Self::Span[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

fn call_site(&mut self) -> Self::Span[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

fn mixed_site(&mut self) -> Self::Span[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

fn source_file(&mut self, span: Self::Span) -> Self::SourceFile[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

fn parent(&mut self, span: Self::Span) -> Option<Self::Span>[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

fn source(&mut self, span: Self::Span) -> Self::Span[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

fn start(&mut self, span: Self::Span) -> LineColumn[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

fn end(&mut self, span: Self::Span) -> LineColumn[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

fn join(&mut self, first: Self::Span, second: Self::Span) -> Option<Self::Span>[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

fn resolved_at(&mut self, span: Self::Span, at: Self::Span) -> Self::Span[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

fn source_text(&mut self, span: Self::Span) -> Option<String>[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

impl TokenStream for Rustc<'_>[src]

fn new(&mut self) -> Self::TokenStream[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

fn is_empty(&mut self, stream: &Self::TokenStream) -> bool[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

fn from_str(&mut self, src: &str) -> Self::TokenStream[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

fn to_string(&mut self, stream: &Self::TokenStream) -> String[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

fn from_token_tree(
    &mut self,
    tree: TokenTree<Self::Group, Self::Punct, Self::Ident, Self::Literal>
) -> Self::TokenStream
[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

fn into_iter(&mut self, stream: Self::TokenStream) -> Self::TokenStreamIter[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

fn drop(&mut self, self_: Self::TokenStream)[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

fn clone(&mut self, self_: &Self::TokenStream) -> Self::TokenStream[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

impl TokenStreamBuilder for Rustc<'_>[src]

fn new(&mut self) -> Self::TokenStreamBuilder[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

fn push(
    &mut self,
    builder: &mut Self::TokenStreamBuilder,
    stream: Self::TokenStream
)
[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

fn build(&mut self, builder: Self::TokenStreamBuilder) -> Self::TokenStream[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

fn drop(&mut self, self_: Self::TokenStreamBuilder)[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

impl TokenStreamIter for Rustc<'_>[src]

fn next(
    &mut self,
    iter: &mut Self::TokenStreamIter
) -> Option<TokenTree<Self::Group, Self::Punct, Self::Ident, Self::Literal>>
[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

fn drop(&mut self, self_: Self::TokenStreamIter)[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

fn clone(&mut self, self_: &Self::TokenStreamIter) -> Self::TokenStreamIter[src]

🔬 This is a nightly-only experimental API. (proc_macro_internals)

impl Types for Rustc<'_>[src]

type FreeFunctions = FreeFunctions

🔬 This is a nightly-only experimental API. (proc_macro_internals)

type TokenStream = TokenStream

🔬 This is a nightly-only experimental API. (proc_macro_internals)

type TokenStreamBuilder = TokenStreamBuilder

🔬 This is a nightly-only experimental API. (proc_macro_internals)

type TokenStreamIter = TokenStreamIter

🔬 This is a nightly-only experimental API. (proc_macro_internals)

type Group = Group

🔬 This is a nightly-only experimental API. (proc_macro_internals)

type Punct = Punct

🔬 This is a nightly-only experimental API. (proc_macro_internals)

type Ident = Ident

🔬 This is a nightly-only experimental API. (proc_macro_internals)

type Literal = Literal

🔬 This is a nightly-only experimental API. (proc_macro_internals)

type SourceFile = Lrc<SourceFile>

🔬 This is a nightly-only experimental API. (proc_macro_internals)

type MultiSpan = Vec<Span>

🔬 This is a nightly-only experimental API. (proc_macro_internals)

type Diagnostic = Diagnostic

🔬 This is a nightly-only experimental API. (proc_macro_internals)

type Span = Span

🔬 This is a nightly-only experimental API. (proc_macro_internals)

Auto Trait Implementations

impl<'a> !RefUnwindSafe for Rustc<'a>

impl<'a> !Send for Rustc<'a>

impl<'a> !Sync for Rustc<'a>

impl<'a> Unpin for Rustc<'a>

impl<'a> !UnwindSafe for Rustc<'a>

Blanket Implementations

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

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

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

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

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

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

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

pub fn from(t: T) -> T[src]

Performs the conversion.

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

pub fn into(self) -> U[src]

Performs the conversion.

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.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

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.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.