Skip to main content

ProgrammaticAnalysisContext

Struct ProgrammaticAnalysisContext 

Source
pub struct ProgrammaticAnalysisContext { /* private fields */ }
Expand description

Resolved common programmatic analysis context.

This owns validation, root/config/diff resolution, production overrides, workspace scope, and the per-call thread pool shared by programmatic analysis families. API runtimes and engine-backed runners use it directly.

Implementations§

Source§

impl ProgrammaticAnalysisContext

Source

pub fn install<R: Send>(&self, f: impl FnOnce() -> R + Send) -> R

Run work inside the per-call Rayon pool.

Source

pub fn root(&self) -> &Path

Resolved analysis root.

Source

pub fn config_path(&self) -> &Option<PathBuf>

Config path supplied by the caller, if any.

Source

pub const fn allow_remote_extends(&self) -> bool

Whether this call permits remote config inheritance.

Source

pub const fn no_cache(&self) -> bool

Whether parser cache use is disabled for this call.

Source

pub const fn threads(&self) -> usize

Effective parser thread count for this call.

Source

pub const fn diff_index(&self) -> Option<&DiffIndex>

Parsed diff for this call, explicit or ambient, if one applied.

Source

pub fn request_outcomes(&self) -> Option<RequestOutcomes>

The call’s request_outcomes, or None when it was asked for nothing.

Carries the diff-filter entry, which is the one request this context resolves and can stand down. Same object as the CLI publishes for the same diff.

Source

pub const fn production_override(&self) -> Option<bool>

Explicit production override supplied by the caller.

Source

pub fn changed_since(&self) -> Option<&str>

Git ref used to scope changed files.

Source

pub fn workspace(&self) -> Option<&[String]>

Workspace filter patterns supplied by the caller.

Source

pub fn changed_workspaces(&self) -> Option<&str>

Git ref used to scope changed workspaces.

Source

pub const fn explain_enabled(&self) -> bool

Whether API JSON should include explanatory metadata.

Source

pub fn cancellation(&self) -> Option<&Arc<AtomicBool>>

The caller’s cancellation token for this analysis, if it supplied one.

Source

pub fn is_cancelled(&self) -> bool

Whether the caller has asked this analysis to stop.

Source

pub fn ensure_not_cancelled(&self, stage: &str) -> Result<(), ProgrammaticError>

Stop the analysis at a stage boundary once the caller has cancelled it.

stage names the work that has not been started, so the error says how far the run got rather than only that it was stopped.

§Errors

Returns a FALLOW_CANCELLED programmatic error when the caller’s token is set. Cancellation is always an error, never an empty success: an empty report reads downstream as a clean project.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<'a, T> FromIn<'a, T> for T

Source§

fn from_in(t: T, _: &'a Allocator) -> T

Converts to this type from the input type within the given allocator.
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
where F: FnOnce(&Self) -> bool,

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
Source§

impl<'a, T, U> IntoIn<'a, U> for T
where U: FromIn<'a, T>,

Source§

fn into_in(self, allocator: &'a Allocator) -> U

Converts this type into the (usually inferred) input type within the given allocator.
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more