pub struct ExpressionStoreSourceMap { /* private fields */ }Implementations§
Source§impl ExpressionStoreSourceMap
impl ExpressionStoreSourceMap
pub fn expr_or_pat_syntax( &self, id: ExprOrPatId, ) -> Result<ExprOrPatSource, SyntheticSyntax>
pub fn expr_syntax( &self, expr: ExprId, ) -> Result<ExprOrPatSource, SyntheticSyntax>
pub fn node_expr(&self, node: InFile<&Expr>) -> Option<ExprOrPatId>
pub fn node_macro_file(&self, node: InFile<&MacroCall>) -> Option<MacroCallId>
pub fn macro_calls( &self, ) -> impl Iterator<Item = (InFile<MacroCallPtr>, MacroCallId)> + '_
pub fn pat_syntax(&self, pat: PatId) -> Result<ExprOrPatSource, SyntheticSyntax>
pub fn node_pat(&self, node: InFile<&Pat>) -> Option<ExprOrPatId>
pub fn type_syntax(&self, id: TypeRefId) -> Result<TypeSource, SyntheticSyntax>
pub fn node_type(&self, node: InFile<&Type>) -> Option<TypeRefId>
pub fn label_syntax(&self, label: LabelId) -> LabelSource
pub fn patterns_for_binding(&self, binding: BindingId) -> &[PatId] ⓘ
pub fn node_label(&self, node: InFile<&Label>) -> Option<LabelId>
pub fn field_syntax(&self, expr: ExprId) -> FieldSource
pub fn pat_field_syntax(&self, pat: PatId) -> PatFieldSource
pub fn macro_expansion_expr( &self, node: InFile<&MacroExpr>, ) -> Option<ExprOrPatId>
pub fn expansions( &self, ) -> impl Iterator<Item = (&InFile<MacroCallPtr>, &MacroCallId)>
pub fn expansion(&self, node: InFile<&MacroCall>) -> Option<MacroCallId>
pub fn implicit_format_args( &self, node: InFile<&FormatArgsExpr>, ) -> Option<(HygieneId, &[(TextRange, Name)])>
pub fn format_args_implicit_capture( &self, capture_expr: ExprId, ) -> Option<InFile<(ExprPtr, TextRange)>>
pub fn asm_template_args( &self, node: InFile<&AsmExpr>, ) -> Option<(ExprId, &[Vec<(TextRange, usize)>])>
Sourcepub fn diagnostics(&self) -> &[ExpressionStoreDiagnostics]
pub fn diagnostics(&self) -> &[ExpressionStoreDiagnostics]
Get a reference to the source map’s diagnostics.
Trait Implementations§
Source§impl Debug for ExpressionStoreSourceMap
impl Debug for ExpressionStoreSourceMap
Source§impl Default for ExpressionStoreSourceMap
impl Default for ExpressionStoreSourceMap
Source§fn default() -> ExpressionStoreSourceMap
fn default() -> ExpressionStoreSourceMap
Returns the “default value” for a type. Read more
Source§impl PartialEq for ExpressionStoreSourceMap
impl PartialEq for ExpressionStoreSourceMap
impl Eq for ExpressionStoreSourceMap
Auto Trait Implementations§
impl Freeze for ExpressionStoreSourceMap
impl !RefUnwindSafe for ExpressionStoreSourceMap
impl Send for ExpressionStoreSourceMap
impl Sync for ExpressionStoreSourceMap
impl Unpin for ExpressionStoreSourceMap
impl !UnwindSafe for ExpressionStoreSourceMap
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more