Struct rustc_interface::Queries
source · pub struct Queries<'tcx> {Show 14 fields
compiler: &'tcx Compiler,
gcx: OnceCell<GlobalCtxt<'tcx>>,
queries: OnceCell<TcxQueries<'tcx>>,
arena: WorkerLocal<Arena<'tcx>>,
hir_arena: WorkerLocal<Arena<'tcx>>,
dep_graph_future: Query<Option<DepGraphFuture>>,
parse: Query<Crate>,
crate_name: Query<Symbol>,
register_plugins: Query<(Crate, Lrc<LintStore>)>,
expansion: Query<(Lrc<Crate>, Rc<RefCell<BoxedResolver>>, Lrc<LintStore>)>,
dep_graph: Query<DepGraph>,
prepare_outputs: Query<OutputFilenames>,
global_ctxt: Query<QueryContext<'tcx>>,
ongoing_codegen: Query<Box<dyn Any>>,
}
Fields§
§compiler: &'tcx Compiler
§gcx: OnceCell<GlobalCtxt<'tcx>>
§queries: OnceCell<TcxQueries<'tcx>>
§arena: WorkerLocal<Arena<'tcx>>
§hir_arena: WorkerLocal<Arena<'tcx>>
§dep_graph_future: Query<Option<DepGraphFuture>>
§parse: Query<Crate>
§crate_name: Query<Symbol>
§register_plugins: Query<(Crate, Lrc<LintStore>)>
§expansion: Query<(Lrc<Crate>, Rc<RefCell<BoxedResolver>>, Lrc<LintStore>)>
§dep_graph: Query<DepGraph>
§prepare_outputs: Query<OutputFilenames>
§global_ctxt: Query<QueryContext<'tcx>>
§ongoing_codegen: Query<Box<dyn Any>>
Implementations§
source§impl<'tcx> Queries<'tcx>
impl<'tcx> Queries<'tcx>
pub fn new(compiler: &'tcx Compiler) -> Queries<'tcx>
fn session(&self) -> &Lrc<Session>
fn codegen_backend(&self) -> &Lrc<Box<dyn CodegenBackend>>
fn dep_graph_future(&self) -> Result<&Query<Option<DepGraphFuture>>>
pub fn parse(&self) -> Result<&Query<Crate>>
pub fn register_plugins(&self) -> Result<&Query<(Crate, Lrc<LintStore>)>>
pub fn crate_name(&self) -> Result<&Query<Symbol>>
pub fn expansion(
&self
) -> Result<&Query<(Lrc<Crate>, Rc<RefCell<BoxedResolver>>, Lrc<LintStore>)>>
fn dep_graph(&self) -> Result<&Query<DepGraph>>
pub fn prepare_outputs(&self) -> Result<&Query<OutputFilenames>>
pub fn global_ctxt(&'tcx self) -> Result<&Query<QueryContext<'tcx>>>
pub fn ongoing_codegen(&'tcx self) -> Result<&Query<Box<dyn Any>>>
sourcefn check_for_rustc_errors_attr(tcx: TyCtxt<'_>)
fn check_for_rustc_errors_attr(tcx: TyCtxt<'_>)
Check for the #[rustc_error]
annotation, which forces an error in codegen. This is used
to write UI tests that actually test that compilation succeeds without reporting
an error.
pub fn linker(&'tcx self) -> Result<Linker>
Auto Trait Implementations§
impl<'tcx> !RefUnwindSafe for Queries<'tcx>
impl<'tcx> !Send for Queries<'tcx>
impl<'tcx> !Sync for Queries<'tcx>
impl<'tcx> Unpin for Queries<'tcx>
impl<'tcx> !UnwindSafe for Queries<'tcx>
Blanket Implementations§
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference’s “Type Layout” chapter for details on type layout guarantees.
Size: 32032 bytes