[][src]Struct rustc_ap_rustc_session::parse::ParseSess

pub struct ParseSess {
    pub span_diagnostic: Handler,
    pub unstable_features: UnstableFeatures,
    pub config: CrateConfig,
    pub edition: Edition,
    pub raw_identifier_spans: Lock<Vec<Span>>,
    pub included_mod_stack: Lock<Vec<PathBuf>>,
    pub buffered_lints: Lock<Vec<BufferedEarlyLint>>,
    pub ambiguous_block_expr_parse: Lock<FxHashMap<Span, Span>>,
    pub injected_crate_name: OnceCell<Symbol>,
    pub gated_spans: GatedSpans,
    pub symbol_gallery: SymbolGallery,
    pub reached_eof: Lock<bool>,
    pub env_depinfo: Lock<FxHashSet<(Symbol, Option<Symbol>)>>,
    pub type_ascription_path_suggestions: Lock<FxHashSet<Span>>,
    // some fields omitted
}

Info about a parsing session.

Fields

span_diagnostic: Handlerunstable_features: UnstableFeaturesconfig: CrateConfigedition: Editionraw_identifier_spans: Lock<Vec<Span>>

Places where raw identifiers were used. This is used for feature-gating raw identifiers.

included_mod_stack: Lock<Vec<PathBuf>>

Used to determine and report recursive module inclusions.

buffered_lints: Lock<Vec<BufferedEarlyLint>>ambiguous_block_expr_parse: Lock<FxHashMap<Span, Span>>

Contains the spans of block expressions that could have been incomplete based on the operation token that followed it, but that the parser cannot identify without further analysis.

injected_crate_name: OnceCell<Symbol>gated_spans: GatedSpanssymbol_gallery: SymbolGalleryreached_eof: Lock<bool>

The parser has reached Eof due to an unclosed brace. Used to silence unnecessary errors.

env_depinfo: Lock<FxHashSet<(Symbol, Option<Symbol>)>>

Environment variables accessed during the build and their values when they exist.

type_ascription_path_suggestions: Lock<FxHashSet<Span>>

All the type ascriptions expressions that have had a suggestion for likely path typo.

Implementations

impl ParseSess[src]

pub fn new(file_path_mapping: FilePathMapping) -> Self[src]

pub fn with_span_handler(handler: Handler, source_map: Lrc<SourceMap>) -> Self[src]

pub fn with_silent_emitter() -> Self[src]

pub fn source_map(&self) -> &SourceMap[src]

pub fn clone_source_map(&self) -> Lrc<SourceMap>[src]

pub fn buffer_lint(
    &self,
    lint: &'static Lint,
    span: impl Into<MultiSpan>,
    node_id: NodeId,
    msg: &str
)
[src]

pub fn buffer_lint_with_diagnostic(
    &self,
    lint: &'static Lint,
    span: impl Into<MultiSpan>,
    node_id: NodeId,
    msg: &str,
    diagnostic: BuiltinLintDiagnostics
)
[src]

pub fn expr_parentheses_needed(
    &self,
    err: &mut DiagnosticBuilder<'_>,
    span: Span,
    alt_snippet: Option<String>
)
[src]

Extend an error with a suggestion to wrap an expression with parentheses to allow the parser to continue parsing the following operation as part of the same expression.

Auto Trait Implementations

impl !RefUnwindSafe for ParseSess

impl !Send for ParseSess

impl !Sync for ParseSess

impl Unpin for ParseSess

impl !UnwindSafe for ParseSess

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<'a, T> Captures<'a> for T where
    T: ?Sized
[src]

impl<T> Erased for T[src]

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

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

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

type Error = !

impl<T> Same<T> for T

type Output = T

Should always be Self

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.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,