pub struct CharonCallbacks<'a> {
options: &'a CliOpts,
transform_ctx: Option<TransformCtx>,
}
Expand description
The callbacks for Charon
Fields§
§options: &'a CliOpts
§transform_ctx: Option<TransformCtx>
This is to be filled during the extraction; it contains the translated crate.
Trait Implementations§
Source§impl<'a> Callbacks for CharonCallbacks<'a>
impl<'a> Callbacks for CharonCallbacks<'a>
Source§fn after_expansion<'tcx>(
&mut self,
compiler: &Compiler,
tcx: TyCtxt<'tcx>,
) -> Compilation
fn after_expansion<'tcx>( &mut self, compiler: &Compiler, tcx: TyCtxt<'tcx>, ) -> Compilation
The MIR is modified in place: borrow-checking requires the “promoted” MIR, which causes the “built” MIR (which results from the conversion to HIR to MIR) to become unaccessible. Because we require built MIR at the moment, we hook ourselves before MIR-based analysis passes.
Source§fn after_analysis<'tcx>(&mut self, _: &Compiler, _: TyCtxt<'tcx>) -> Compilation
fn after_analysis<'tcx>(&mut self, _: &Compiler, _: TyCtxt<'tcx>) -> Compilation
Called after analysis. Return value instructs the compiler whether to
continue the compilation afterwards (defaults to
Compilation::Continue
)Source§fn after_crate_root_parsing(
&mut self,
_compiler: &Compiler,
_krate: &mut Crate,
) -> Compilation
fn after_crate_root_parsing( &mut self, _compiler: &Compiler, _krate: &mut Crate, ) -> Compilation
Called after parsing the crate root. Submodules are not yet parsed when
this callback is called. Return value instructs the compiler whether to
continue the compilation afterwards (defaults to
Compilation::Continue
)Auto Trait Implementations§
impl<'a> !Freeze for CharonCallbacks<'a>
impl<'a> !RefUnwindSafe for CharonCallbacks<'a>
impl<'a> Send for CharonCallbacks<'a>
impl<'a> !Sync for CharonCallbacks<'a>
impl<'a> Unpin for CharonCallbacks<'a>
impl<'a> UnwindSafe for CharonCallbacks<'a>
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<I, T> ExtractContext<I, ()> for T
impl<I, T> ExtractContext<I, ()> for T
§fn extract_context(self, _original_input: I)
fn extract_context(self, _original_input: I)
Given the context attached to a nom error, and given the original
input to the nom parser, extract more the useful context information. 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§impl<I> RecreateContext<I> for I
impl<I> RecreateContext<I> for I
§fn recreate_context(_original_input: I, tail: I) -> I
fn recreate_context(_original_input: I, tail: I) -> I
Given the original input, as well as the context reported by nom,
recreate a context in the original string where the error occurred. Read more