[−][src]Struct rustc_expand::proc_macro_server::Rustc
Fields
sess: &'a ParseSessdef_site: Spancall_site: Spanmixed_site: Spanspan_debug: boolImplementations
impl<'a> Rustc<'a>[src]
pub fn new(cx: &'a ExtCtxt<'_>) -> Self[src]
pub(in proc_macro_server) fn lit(
&mut self,
kind: LitKind,
symbol: Symbol,
suffix: Option<Symbol>
) -> Literal[src]
&mut self,
kind: LitKind,
symbol: Symbol,
suffix: Option<Symbol>
) -> Literal
Trait Implementations
impl<'_> Diagnostic for Rustc<'_>[src]
pub fn new(
&mut self,
level: Level,
msg: &str,
spans: Self::MultiSpan
) -> Self::Diagnostic[src]
&mut self,
level: Level,
msg: &str,
spans: Self::MultiSpan
) -> Self::Diagnostic
pub fn sub(
&mut self,
diag: &mut Self::Diagnostic,
level: Level,
msg: &str,
spans: Self::MultiSpan
)[src]
&mut self,
diag: &mut Self::Diagnostic,
level: Level,
msg: &str,
spans: Self::MultiSpan
)
pub fn emit(&mut self, diag: Self::Diagnostic)[src]
pub fn drop(&mut self, self_: Self::Diagnostic)[src]
impl<'_> FreeFunctions for Rustc<'_>[src]
pub fn track_env_var(&mut self, var: &str, value: Option<&str>)[src]
pub fn drop(&mut self, self_: Self::FreeFunctions)[src]
impl<'_> Group for Rustc<'_>[src]
pub fn new(
&mut self,
delimiter: Delimiter,
stream: Self::TokenStream
) -> Self::Group[src]
&mut self,
delimiter: Delimiter,
stream: Self::TokenStream
) -> Self::Group
pub fn delimiter(&mut self, group: &Self::Group) -> Delimiter[src]
pub fn stream(&mut self, group: &Self::Group) -> Self::TokenStream[src]
pub fn span(&mut self, group: &Self::Group) -> Self::Span[src]
pub fn span_open(&mut self, group: &Self::Group) -> Self::Span[src]
pub fn span_close(&mut self, group: &Self::Group) -> Self::Span[src]
pub fn set_span(&mut self, group: &mut Self::Group, span: Self::Span)[src]
pub fn drop(&mut self, self_: Self::Group)[src]
pub fn clone(&mut self, self_: &Self::Group) -> Self::Group[src]
impl<'_> Ident for Rustc<'_>[src]
pub fn new(
&mut self,
string: &str,
span: Self::Span,
is_raw: bool
) -> Self::Ident[src]
&mut self,
string: &str,
span: Self::Span,
is_raw: bool
) -> Self::Ident
pub fn span(&mut self, ident: Self::Ident) -> Self::Span[src]
pub fn with_span(&mut self, ident: Self::Ident, span: Self::Span) -> Self::Ident[src]
impl<'_> Literal for Rustc<'_>[src]
pub fn debug_kind(&mut self, literal: &Self::Literal) -> String[src]
pub fn symbol(&mut self, literal: &Self::Literal) -> String[src]
pub fn suffix(&mut self, literal: &Self::Literal) -> Option<String>[src]
pub fn integer(&mut self, n: &str) -> Self::Literal[src]
pub fn typed_integer(&mut self, n: &str, kind: &str) -> Self::Literal[src]
pub fn float(&mut self, n: &str) -> Self::Literal[src]
pub fn f32(&mut self, n: &str) -> Self::Literal[src]
pub fn f64(&mut self, n: &str) -> Self::Literal[src]
pub fn string(&mut self, string: &str) -> Self::Literal[src]
pub fn character(&mut self, ch: char) -> Self::Literal[src]
pub fn byte_string(&mut self, bytes: &[u8]) -> Self::Literal[src]
pub fn span(&mut self, literal: &Self::Literal) -> Self::Span[src]
pub fn set_span(&mut self, literal: &mut Self::Literal, span: Self::Span)[src]
pub fn subspan(
&mut self,
literal: &Self::Literal,
start: Bound<usize>,
end: Bound<usize>
) -> Option<Self::Span>[src]
&mut self,
literal: &Self::Literal,
start: Bound<usize>,
end: Bound<usize>
) -> Option<Self::Span>
pub fn drop(&mut self, self_: Self::Literal)[src]
pub fn clone(&mut self, self_: &Self::Literal) -> Self::Literal[src]
impl<'_> MultiSpan for Rustc<'_>[src]
pub fn new(&mut self) -> Self::MultiSpan[src]
pub fn push(&mut self, spans: &mut Self::MultiSpan, span: Self::Span)[src]
pub fn drop(&mut self, self_: Self::MultiSpan)[src]
impl<'_> Punct for Rustc<'_>[src]
pub fn new(&mut self, ch: char, spacing: Spacing) -> Self::Punct[src]
pub fn as_char(&mut self, punct: Self::Punct) -> char[src]
pub fn spacing(&mut self, punct: Self::Punct) -> Spacing[src]
pub fn span(&mut self, punct: Self::Punct) -> Self::Span[src]
pub fn with_span(&mut self, punct: Self::Punct, span: Self::Span) -> Self::Punct[src]
impl<'_> SourceFile for Rustc<'_>[src]
pub fn eq(&mut self, file1: &Self::SourceFile, file2: &Self::SourceFile) -> bool[src]
pub fn path(&mut self, file: &Self::SourceFile) -> String[src]
pub fn is_real(&mut self, file: &Self::SourceFile) -> bool[src]
pub fn drop(&mut self, self_: Self::SourceFile)[src]
pub fn clone(&mut self, self_: &Self::SourceFile) -> Self::SourceFile[src]
impl<'_> Span for Rustc<'_>[src]
pub fn debug(&mut self, span: Self::Span) -> String[src]
pub fn def_site(&mut self) -> Self::Span[src]
pub fn call_site(&mut self) -> Self::Span[src]
pub fn mixed_site(&mut self) -> Self::Span[src]
pub fn source_file(&mut self, span: Self::Span) -> Self::SourceFile[src]
pub fn parent(&mut self, span: Self::Span) -> Option<Self::Span>[src]
pub fn source(&mut self, span: Self::Span) -> Self::Span[src]
pub fn start(&mut self, span: Self::Span) -> LineColumn[src]
pub fn end(&mut self, span: Self::Span) -> LineColumn[src]
pub fn join(
&mut self,
first: Self::Span,
second: Self::Span
) -> Option<Self::Span>[src]
&mut self,
first: Self::Span,
second: Self::Span
) -> Option<Self::Span>
pub fn resolved_at(&mut self, span: Self::Span, at: Self::Span) -> Self::Span[src]
pub fn source_text(&mut self, span: Self::Span) -> Option<String>[src]
impl<'_> TokenStream for Rustc<'_>[src]
pub fn new(&mut self) -> Self::TokenStream[src]
pub fn is_empty(&mut self, stream: &Self::TokenStream) -> bool[src]
pub fn from_str(&mut self, src: &str) -> Self::TokenStream[src]
pub fn to_string(&mut self, stream: &Self::TokenStream) -> String[src]
pub fn from_token_tree(
&mut self,
tree: TokenTree<Self::Group, Self::Punct, Self::Ident, Self::Literal>
) -> Self::TokenStream[src]
&mut self,
tree: TokenTree<Self::Group, Self::Punct, Self::Ident, Self::Literal>
) -> Self::TokenStream
pub fn into_iter(&mut self, stream: Self::TokenStream) -> Self::TokenStreamIter[src]
pub fn drop(&mut self, self_: Self::TokenStream)[src]
pub fn clone(&mut self, self_: &Self::TokenStream) -> Self::TokenStream[src]
impl<'_> TokenStreamBuilder for Rustc<'_>[src]
pub fn new(&mut self) -> Self::TokenStreamBuilder[src]
pub fn push(
&mut self,
builder: &mut Self::TokenStreamBuilder,
stream: Self::TokenStream
)[src]
&mut self,
builder: &mut Self::TokenStreamBuilder,
stream: Self::TokenStream
)
pub fn build(&mut self, builder: Self::TokenStreamBuilder) -> Self::TokenStream[src]
pub fn drop(&mut self, self_: Self::TokenStreamBuilder)[src]
impl<'_> TokenStreamIter for Rustc<'_>[src]
pub fn next(
&mut self,
iter: &mut Self::TokenStreamIter
) -> Option<TokenTree<Self::Group, Self::Punct, Self::Ident, Self::Literal>>[src]
&mut self,
iter: &mut Self::TokenStreamIter
) -> Option<TokenTree<Self::Group, Self::Punct, Self::Ident, Self::Literal>>
pub fn drop(&mut self, self_: Self::TokenStreamIter)[src]
pub fn clone(&mut self, self_: &Self::TokenStreamIter) -> Self::TokenStreamIter[src]
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]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T[src]
impl<T> From<T> for T[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
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]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,