pub struct PluginRegistry { /* private fields */ }Implementations§
Source§impl PluginRegistry
impl PluginRegistry
Sourcepub fn set_external_analyzer(&mut self, analyzer: Arc<ExternalAnalyzerHandle>)
pub fn set_external_analyzer(&mut self, analyzer: Arc<ExternalAnalyzerHandle>)
Attaches worker-backed analyzer plugins to this registry.
Sourcepub fn prepare_external_analyzer(&self) -> PluginResult<()>
pub fn prepare_external_analyzer(&self) -> PluginResult<()>
Completes concurrent external analyzer initialization before file analysis.
§Errors
Returns an error when a worker fails to initialize or advertises invalid capabilities.
Sourcepub fn external_initialization_files(&self) -> PluginResult<Vec<File>>
pub fn external_initialization_files(&self) -> PluginResult<Vec<File>>
Completes external initialization and returns its in-memory source stubs.
§Errors
Returns an error when a worker fails to initialize or returns invalid initialization data.
Sourcepub fn external_codebase_scan_plan(
&self,
) -> PluginResult<Option<CodebaseScanPlan>>
pub fn external_codebase_scan_plan( &self, ) -> PluginResult<Option<CodebaseScanPlan>>
Returns compiled host-file selectors for enabled external codebase-scan hooks.
§Errors
Returns an error when the external analyzer cannot initialize or a hook advertises an invalid path pattern.
Sourcepub fn run_external_codebase_scan(
&self,
files: Vec<CodebaseScanFile>,
) -> PluginResult<()>
pub fn run_external_codebase_scan( &self, files: Vec<CodebaseScanFile>, ) -> PluginResult<()>
Replaces each external worker’s selected codebase-scan source state.
§Errors
Returns an error when a worker cannot accept or validate the snapshot sequence.
Sourcepub fn create_external_analysis_session(
&self,
files: impl IntoIterator<Item = Arc<File>>,
) -> Option<ExternalAnalysisSession>
pub fn create_external_analysis_session( &self, files: impl IntoIterator<Item = Arc<File>>, ) -> Option<ExternalAnalysisSession>
Creates the immutable external-plugin context for one frozen codebase generation.
Sourcepub fn has_external_after_file_analysis_hooks(&self) -> PluginResult<bool>
pub fn has_external_after_file_analysis_hooks(&self) -> PluginResult<bool>
Returns whether any enabled external plugin subscribed to per-file completion.
§Errors
Returns an error when the external analyzer cannot be initialized.
Sourcepub fn external_node_analysis_requirements(
&self,
) -> PluginResult<Option<NodeAnalysisRequirements>>
pub fn external_node_analysis_requirements( &self, ) -> PluginResult<Option<NodeAnalysisRequirements>>
Returns the syntax targets and embedded data requested by enabled external analyzer hooks.
§Errors
Returns an error when the external analyzer cannot be initialized.
Sourcepub fn has_external_after_analysis_hooks(&self) -> PluginResult<bool>
pub fn has_external_after_analysis_hooks(&self) -> PluginResult<bool>
Returns whether any enabled external plugin subscribed to whole-project completion.
§Errors
Returns an error when the external analyzer cannot be initialized.
Sourcepub fn run_external_before_analysis_hooks(
&self,
codebase: &CodebaseMetadata,
session: Option<&ExternalAnalysisSession>,
) -> PluginResult<BeforeAnalysisResult>
pub fn run_external_before_analysis_hooks( &self, codebase: &CodebaseMetadata, session: Option<&ExternalAnalysisSession>, ) -> PluginResult<BeforeAnalysisResult>
Runs enabled external hooks after the codebase is frozen and before file analysis starts.
§Errors
Returns an error when an external hook cannot be dispatched or returns an invalid response.
Sourcepub fn run_external_after_file_analysis_hooks(
&self,
file: &File,
program: &Program<'_>,
resolved_names: &ResolvedNames<'_>,
artifacts: &AnalysisArtifacts,
codebase: &CodebaseMetadata,
session: Option<&ExternalAnalysisSession>,
) -> PluginResult<AfterFileAnalysisResult>
pub fn run_external_after_file_analysis_hooks( &self, file: &File, program: &Program<'_>, resolved_names: &ResolvedNames<'_>, artifacts: &AnalysisArtifacts, codebase: &CodebaseMetadata, session: Option<&ExternalAnalysisSession>, ) -> PluginResult<AfterFileAnalysisResult>
Runs enabled external hooks for one completed file analysis.
§Errors
Returns an error when an external hook cannot be dispatched or returns an invalid response.
Sourcepub fn run_external_after_file_analysis_batch_hooks(
&self,
files: &[Arc<FileAnalysisSnapshot>],
codebase: &CodebaseMetadata,
session: Option<&ExternalAnalysisSession>,
) -> PluginResult<AfterFileAnalysisResult>
pub fn run_external_after_file_analysis_batch_hooks( &self, files: &[Arc<FileAnalysisSnapshot>], codebase: &CodebaseMetadata, session: Option<&ExternalAnalysisSession>, ) -> PluginResult<AfterFileAnalysisResult>
Runs enabled external after-file hooks for a batch of completed analyses.
§Errors
Returns an error when an external hook cannot be dispatched or returns an invalid response.
Sourcepub fn run_external_after_analysis_hooks(
&self,
result: &AnalysisResult,
files: &[Arc<FileAnalysisSnapshot>],
codebase: &CodebaseMetadata,
session: Option<&ExternalAnalysisSession>,
) -> PluginResult<IssueCollection>
pub fn run_external_after_analysis_hooks( &self, result: &AnalysisResult, files: &[Arc<FileAnalysisSnapshot>], codebase: &CodebaseMetadata, session: Option<&ExternalAnalysisSession>, ) -> PluginResult<IssueCollection>
Runs enabled external hooks for the final merged analysis result.
§Errors
Returns an error when an external hook cannot be dispatched or returns an invalid response.
pub fn new() -> Self
pub fn with_library_providers() -> Self
pub fn register_function_provider<P>(&mut self, provider: P)where
P: FunctionReturnTypeProvider + 'static,
pub fn register_method_provider<P>(&mut self, provider: P)where
P: MethodReturnTypeProvider + 'static,
pub fn register_program_hook<H>(&mut self, hook: H)where
H: ProgramHook + 'static,
pub fn register_statement_hook<H>(&mut self, hook: H)where
H: StatementHook + 'static,
pub fn register_expression_hook<H>(&mut self, hook: H)where
H: ExpressionHook + 'static,
pub fn register_function_call_hook<H>(&mut self, hook: H)where
H: FunctionCallHook + 'static,
pub fn register_method_call_hook<H>(&mut self, hook: H)where
H: MethodCallHook + 'static,
pub fn register_static_method_call_hook<H>(&mut self, hook: H)where
H: StaticMethodCallHook + 'static,
pub fn register_nullsafe_method_call_hook<H>(&mut self, hook: H)where
H: NullSafeMethodCallHook + 'static,
pub fn register_class_hook<H>(&mut self, hook: H)where
H: ClassDeclarationHook + 'static,
pub fn register_interface_hook<H>(&mut self, hook: H)where
H: InterfaceDeclarationHook + 'static,
pub fn register_trait_hook<H>(&mut self, hook: H)where
H: TraitDeclarationHook + 'static,
pub fn register_enum_hook<H>(&mut self, hook: H)where
H: EnumDeclarationHook + 'static,
pub fn register_function_decl_hook<H>(&mut self, hook: H)where
H: FunctionDeclarationHook + 'static,
pub fn register_property_initialization_provider<P>(&mut self, provider: P)where
P: PropertyInitializationProvider + 'static,
pub fn register_issue_filter_hook<H>(&mut self, hook: H)where
H: IssueFilterHook + 'static,
pub fn register_function_assertion_provider<P>(&mut self, provider: P)where
P: FunctionAssertionProvider + 'static,
pub fn register_method_assertion_provider<P>(&mut self, provider: P)where
P: MethodAssertionProvider + 'static,
pub fn register_expression_throw_provider<P>(&mut self, provider: P)where
P: ExpressionThrowTypeProvider + 'static,
pub fn register_function_throw_provider<P>(&mut self, provider: P)where
P: FunctionThrowTypeProvider + 'static,
pub fn register_method_throw_provider<P>(&mut self, provider: P)where
P: MethodThrowTypeProvider + 'static,
pub fn has_program_hooks(&self) -> bool
pub fn has_statement_hooks(&self) -> bool
pub fn has_expression_hooks(&self) -> bool
pub fn has_function_call_hooks(&self) -> bool
pub fn has_method_call_hooks(&self) -> bool
pub fn has_static_method_call_hooks(&self) -> bool
pub fn has_nullsafe_method_call_hooks(&self) -> bool
pub fn has_class_hooks(&self) -> bool
pub fn has_interface_hooks(&self) -> bool
pub fn has_trait_hooks(&self) -> bool
pub fn has_enum_hooks(&self) -> bool
pub fn has_function_decl_hooks(&self) -> bool
pub fn has_property_initialization_providers(&self) -> bool
pub fn has_issue_filter_hooks(&self) -> bool
pub fn has_function_assertion_providers(&self) -> bool
pub fn has_method_assertion_providers(&self) -> bool
pub fn has_expression_throw_providers(&self) -> bool
pub fn has_function_throw_providers(&self) -> bool
pub fn has_method_throw_providers(&self) -> bool
Sourcepub fn before_program(
&self,
file: &File,
program: &Program<'_>,
context: &mut HookContext<'_, '_>,
) -> PluginResult<HookAction>
pub fn before_program( &self, file: &File, program: &Program<'_>, context: &mut HookContext<'_, '_>, ) -> PluginResult<HookAction>
Run all registered program hooks before analysis.
§Errors
Returns PluginError if any registered hook propagates one.
Sourcepub fn after_program(
&self,
file: &File,
program: &Program<'_>,
context: &mut HookContext<'_, '_>,
) -> PluginResult<()>
pub fn after_program( &self, file: &File, program: &Program<'_>, context: &mut HookContext<'_, '_>, ) -> PluginResult<()>
Run all registered program hooks after analysis.
§Errors
Returns PluginError if any registered hook propagates one.
Sourcepub fn before_statement(
&self,
stmt: &Statement<'_>,
context: &mut HookContext<'_, '_>,
) -> PluginResult<HookAction>
pub fn before_statement( &self, stmt: &Statement<'_>, context: &mut HookContext<'_, '_>, ) -> PluginResult<HookAction>
Run all registered statement hooks before analysis.
§Errors
Returns PluginError if any registered hook propagates one.
Sourcepub fn after_statement(
&self,
stmt: &Statement<'_>,
context: &mut HookContext<'_, '_>,
) -> PluginResult<()>
pub fn after_statement( &self, stmt: &Statement<'_>, context: &mut HookContext<'_, '_>, ) -> PluginResult<()>
Run all registered statement hooks after analysis.
§Errors
Returns PluginError if any registered hook propagates one.
Sourcepub fn before_expression(
&self,
expr: &Expression<'_>,
context: &mut HookContext<'_, '_>,
) -> PluginResult<ExpressionHookResult>
pub fn before_expression( &self, expr: &Expression<'_>, context: &mut HookContext<'_, '_>, ) -> PluginResult<ExpressionHookResult>
Run all registered expression hooks before analysis.
§Errors
Returns PluginError if any registered hook propagates one.
Sourcepub fn after_expression(
&self,
expr: &Expression<'_>,
context: &mut HookContext<'_, '_>,
) -> PluginResult<()>
pub fn after_expression( &self, expr: &Expression<'_>, context: &mut HookContext<'_, '_>, ) -> PluginResult<()>
Run all registered expression hooks after analysis.
§Errors
Returns PluginError if any registered hook propagates one.
Sourcepub fn before_function_call(
&self,
call: &FunctionCall<'_>,
context: &mut HookContext<'_, '_>,
) -> PluginResult<ExpressionHookResult>
pub fn before_function_call( &self, call: &FunctionCall<'_>, context: &mut HookContext<'_, '_>, ) -> PluginResult<ExpressionHookResult>
Run all registered function call hooks before analysis.
§Errors
Returns PluginError if any registered hook propagates one.
Sourcepub fn after_function_call(
&self,
call: &FunctionCall<'_>,
context: &mut HookContext<'_, '_>,
) -> PluginResult<()>
pub fn after_function_call( &self, call: &FunctionCall<'_>, context: &mut HookContext<'_, '_>, ) -> PluginResult<()>
Run all registered function call hooks after analysis.
§Errors
Returns PluginError if any registered hook propagates one.
Sourcepub fn before_method_call(
&self,
call: &MethodCall<'_>,
context: &mut HookContext<'_, '_>,
) -> PluginResult<ExpressionHookResult>
pub fn before_method_call( &self, call: &MethodCall<'_>, context: &mut HookContext<'_, '_>, ) -> PluginResult<ExpressionHookResult>
Run all registered method call hooks before analysis.
§Errors
Returns PluginError if any registered hook propagates one.
Sourcepub fn after_method_call(
&self,
call: &MethodCall<'_>,
context: &mut HookContext<'_, '_>,
) -> PluginResult<()>
pub fn after_method_call( &self, call: &MethodCall<'_>, context: &mut HookContext<'_, '_>, ) -> PluginResult<()>
Run all registered method call hooks after analysis.
§Errors
Returns PluginError if any registered hook propagates one.
Sourcepub fn before_static_method_call(
&self,
call: &StaticMethodCall<'_>,
context: &mut HookContext<'_, '_>,
) -> PluginResult<ExpressionHookResult>
pub fn before_static_method_call( &self, call: &StaticMethodCall<'_>, context: &mut HookContext<'_, '_>, ) -> PluginResult<ExpressionHookResult>
Run all registered static method call hooks before analysis.
§Errors
Returns PluginError if any registered hook propagates one.
Sourcepub fn after_static_method_call(
&self,
call: &StaticMethodCall<'_>,
context: &mut HookContext<'_, '_>,
) -> PluginResult<()>
pub fn after_static_method_call( &self, call: &StaticMethodCall<'_>, context: &mut HookContext<'_, '_>, ) -> PluginResult<()>
Run all registered static method call hooks after analysis.
§Errors
Returns PluginError if any registered hook propagates one.
Sourcepub fn before_nullsafe_method_call(
&self,
call: &NullSafeMethodCall<'_>,
context: &mut HookContext<'_, '_>,
) -> PluginResult<ExpressionHookResult>
pub fn before_nullsafe_method_call( &self, call: &NullSafeMethodCall<'_>, context: &mut HookContext<'_, '_>, ) -> PluginResult<ExpressionHookResult>
Run all registered nullsafe method call hooks before analysis.
§Errors
Returns PluginError if any registered hook propagates one.
Sourcepub fn after_nullsafe_method_call(
&self,
call: &NullSafeMethodCall<'_>,
context: &mut HookContext<'_, '_>,
) -> PluginResult<()>
pub fn after_nullsafe_method_call( &self, call: &NullSafeMethodCall<'_>, context: &mut HookContext<'_, '_>, ) -> PluginResult<()>
Run all registered nullsafe method call hooks after analysis.
§Errors
Returns PluginError if any registered hook propagates one.
Sourcepub fn on_enter_class(
&self,
class: &Class<'_>,
metadata: &ClassLikeMetadata,
context: &mut HookContext<'_, '_>,
) -> PluginResult<()>
pub fn on_enter_class( &self, class: &Class<'_>, metadata: &ClassLikeMetadata, context: &mut HookContext<'_, '_>, ) -> PluginResult<()>
Run all registered class declaration hooks on entry.
§Errors
Returns PluginError if any registered hook propagates one.
Sourcepub fn on_leave_class(
&self,
class: &Class<'_>,
metadata: &ClassLikeMetadata,
context: &mut HookContext<'_, '_>,
) -> PluginResult<()>
pub fn on_leave_class( &self, class: &Class<'_>, metadata: &ClassLikeMetadata, context: &mut HookContext<'_, '_>, ) -> PluginResult<()>
Run all registered class declaration hooks on exit.
§Errors
Returns PluginError if any registered hook propagates one.
Sourcepub fn on_enter_interface(
&self,
interface: &Interface<'_>,
metadata: &ClassLikeMetadata,
context: &mut HookContext<'_, '_>,
) -> PluginResult<()>
pub fn on_enter_interface( &self, interface: &Interface<'_>, metadata: &ClassLikeMetadata, context: &mut HookContext<'_, '_>, ) -> PluginResult<()>
Run all registered interface declaration hooks on entry.
§Errors
Returns PluginError if any registered hook propagates one.
Sourcepub fn on_leave_interface(
&self,
interface: &Interface<'_>,
metadata: &ClassLikeMetadata,
context: &mut HookContext<'_, '_>,
) -> PluginResult<()>
pub fn on_leave_interface( &self, interface: &Interface<'_>, metadata: &ClassLikeMetadata, context: &mut HookContext<'_, '_>, ) -> PluginResult<()>
Run all registered interface declaration hooks on exit.
§Errors
Returns PluginError if any registered hook propagates one.
Sourcepub fn on_enter_trait(
&self,
trait_: &Trait<'_>,
metadata: &ClassLikeMetadata,
context: &mut HookContext<'_, '_>,
) -> PluginResult<()>
pub fn on_enter_trait( &self, trait_: &Trait<'_>, metadata: &ClassLikeMetadata, context: &mut HookContext<'_, '_>, ) -> PluginResult<()>
Run all registered trait declaration hooks on entry.
§Errors
Returns PluginError if any registered hook propagates one.
Sourcepub fn on_leave_trait(
&self,
trait_: &Trait<'_>,
metadata: &ClassLikeMetadata,
context: &mut HookContext<'_, '_>,
) -> PluginResult<()>
pub fn on_leave_trait( &self, trait_: &Trait<'_>, metadata: &ClassLikeMetadata, context: &mut HookContext<'_, '_>, ) -> PluginResult<()>
Run all registered trait declaration hooks on exit.
§Errors
Returns PluginError if any registered hook propagates one.
Sourcepub fn on_enter_enum(
&self,
enum_: &Enum<'_>,
metadata: &ClassLikeMetadata,
context: &mut HookContext<'_, '_>,
) -> PluginResult<()>
pub fn on_enter_enum( &self, enum_: &Enum<'_>, metadata: &ClassLikeMetadata, context: &mut HookContext<'_, '_>, ) -> PluginResult<()>
Run all registered enum declaration hooks on entry.
§Errors
Returns PluginError if any registered hook propagates one.
Sourcepub fn on_leave_enum(
&self,
enum_: &Enum<'_>,
metadata: &ClassLikeMetadata,
context: &mut HookContext<'_, '_>,
) -> PluginResult<()>
pub fn on_leave_enum( &self, enum_: &Enum<'_>, metadata: &ClassLikeMetadata, context: &mut HookContext<'_, '_>, ) -> PluginResult<()>
Run all registered enum declaration hooks on exit.
§Errors
Returns PluginError if any registered hook propagates one.
Sourcepub fn on_enter_function(
&self,
function: &Function<'_>,
metadata: &FunctionLikeMetadata,
context: &mut HookContext<'_, '_>,
) -> PluginResult<()>
pub fn on_enter_function( &self, function: &Function<'_>, metadata: &FunctionLikeMetadata, context: &mut HookContext<'_, '_>, ) -> PluginResult<()>
Run all registered function declaration hooks on entry.
§Errors
Returns PluginError if any registered hook propagates one.
Sourcepub fn on_leave_function(
&self,
function: &Function<'_>,
metadata: &FunctionLikeMetadata,
context: &mut HookContext<'_, '_>,
) -> PluginResult<()>
pub fn on_leave_function( &self, function: &Function<'_>, metadata: &FunctionLikeMetadata, context: &mut HookContext<'_, '_>, ) -> PluginResult<()>
Run all registered function declaration hooks on exit.
§Errors
Returns PluginError if any registered hook propagates one.
Sourcepub fn get_function_like_callable_signature<'ctx>(
&self,
codebase: &'ctx CodebaseMetadata,
source_file: &'ctx File,
artifacts: &AnalysisArtifacts,
function_like: &FunctionLikeIdentifier,
invocation: &Invocation<'ctx, '_, '_>,
external_session: Option<&ExternalAnalysisSession>,
) -> Option<EffectiveCallableSignature>
pub fn get_function_like_callable_signature<'ctx>( &self, codebase: &'ctx CodebaseMetadata, source_file: &'ctx File, artifacts: &AnalysisArtifacts, function_like: &FunctionLikeIdentifier, invocation: &Invocation<'ctx, '_, '_>, external_session: Option<&ExternalAnalysisSession>, ) -> Option<EffectiveCallableSignature>
Requests an external provider’s effective callable signature before argument analysis.
Provider failures are logged and preserve the native callable signature.
Sourcepub fn get_function_like_return_type<'ctx>(
&self,
codebase: &'ctx CodebaseMetadata,
source_file: &'ctx File,
block_context: &BlockContext<'ctx>,
artifacts: &AnalysisArtifacts,
function_like: &FunctionLikeIdentifier,
invocation: &Invocation<'ctx, '_, '_>,
external_session: Option<&ExternalAnalysisSession>,
) -> Option<ProviderResult>
pub fn get_function_like_return_type<'ctx>( &self, codebase: &'ctx CodebaseMetadata, source_file: &'ctx File, block_context: &BlockContext<'ctx>, artifacts: &AnalysisArtifacts, function_like: &FunctionLikeIdentifier, invocation: &Invocation<'ctx, '_, '_>, external_session: Option<&ExternalAnalysisSession>, ) -> Option<ProviderResult>
Returns a provider result for a function or method invocation.
External provider failures are logged and preserve the native return type.
Sourcepub fn get_function_return_type<'ctx>(
&self,
codebase: &'ctx CodebaseMetadata,
source_file: &'ctx File,
block_context: &BlockContext<'ctx>,
artifacts: &AnalysisArtifacts,
function_name: &[u8],
invocation: &Invocation<'ctx, '_, '_>,
external_session: Option<&ExternalAnalysisSession>,
) -> ProviderResult
pub fn get_function_return_type<'ctx>( &self, codebase: &'ctx CodebaseMetadata, source_file: &'ctx File, block_context: &BlockContext<'ctx>, artifacts: &AnalysisArtifacts, function_name: &[u8], invocation: &Invocation<'ctx, '_, '_>, external_session: Option<&ExternalAnalysisSession>, ) -> ProviderResult
Returns the first applicable function return-type provider result.
External provider failures are logged and preserve the native return type.
Sourcepub fn get_method_return_type<'ctx>(
&self,
codebase: &'ctx CodebaseMetadata,
source_file: &'ctx File,
block_context: &BlockContext<'ctx>,
artifacts: &AnalysisArtifacts,
class_name: &[u8],
method_name: &[u8],
invocation: &Invocation<'ctx, '_, '_>,
external_session: Option<&ExternalAnalysisSession>,
) -> ProviderResult
pub fn get_method_return_type<'ctx>( &self, codebase: &'ctx CodebaseMetadata, source_file: &'ctx File, block_context: &BlockContext<'ctx>, artifacts: &AnalysisArtifacts, class_name: &[u8], method_name: &[u8], invocation: &Invocation<'ctx, '_, '_>, external_session: Option<&ExternalAnalysisSession>, ) -> ProviderResult
Returns the first applicable method return-type provider result.
External provider failures are logged and preserve the native return type.
pub fn function_provider_count(&self) -> usize
pub fn method_provider_count(&self) -> usize
Sourcepub fn is_property_initialized(
&self,
codebase: &CodebaseMetadata,
class_metadata: &ClassLikeMetadata,
property_metadata: &PropertyMetadata,
external_session: Option<&ExternalAnalysisSession>,
) -> bool
pub fn is_property_initialized( &self, codebase: &CodebaseMetadata, class_metadata: &ClassLikeMetadata, property_metadata: &PropertyMetadata, external_session: Option<&ExternalAnalysisSession>, ) -> bool
Checks whether any registered provider considers a property initialized.
External provider failures are logged and preserve native initialization analysis.
Sourcepub fn get_class_initializers(
&self,
codebase: &CodebaseMetadata,
class_metadata: &ClassLikeMetadata,
external_session: Option<&ExternalAnalysisSession>,
) -> WordSet
pub fn get_class_initializers( &self, codebase: &CodebaseMetadata, class_metadata: &ClassLikeMetadata, external_session: Option<&ExternalAnalysisSession>, ) -> WordSet
Returns framework lifecycle methods that initialize properties on class_metadata.
External provider failures are logged and preserve native initialization analysis.
Sourcepub fn get_function_like_assertions<'ctx>(
&self,
codebase: &'ctx CodebaseMetadata,
source_file: &'ctx File,
block_context: &BlockContext<'ctx>,
artifacts: &AnalysisArtifacts,
function_like: &FunctionLikeIdentifier,
invocation: &Invocation<'ctx, '_, '_>,
external_session: Option<&ExternalAnalysisSession>,
) -> Option<InvocationAssertions>
pub fn get_function_like_assertions<'ctx>( &self, codebase: &'ctx CodebaseMetadata, source_file: &'ctx File, block_context: &BlockContext<'ctx>, artifacts: &AnalysisArtifacts, function_like: &FunctionLikeIdentifier, invocation: &Invocation<'ctx, '_, '_>, external_session: Option<&ExternalAnalysisSession>, ) -> Option<InvocationAssertions>
Returns assertions for a function or method invocation.
External provider failures are logged and preserve native assertion analysis.
Sourcepub fn get_function_assertions<'ctx>(
&self,
codebase: &'ctx CodebaseMetadata,
source_file: &'ctx File,
block_context: &BlockContext<'ctx>,
artifacts: &AnalysisArtifacts,
function_name: &[u8],
invocation: &Invocation<'ctx, '_, '_>,
external_session: Option<&ExternalAnalysisSession>,
) -> Option<InvocationAssertions>
pub fn get_function_assertions<'ctx>( &self, codebase: &'ctx CodebaseMetadata, source_file: &'ctx File, block_context: &BlockContext<'ctx>, artifacts: &AnalysisArtifacts, function_name: &[u8], invocation: &Invocation<'ctx, '_, '_>, external_session: Option<&ExternalAnalysisSession>, ) -> Option<InvocationAssertions>
Get assertions for a function invocation from registered providers.
External provider failures are logged and preserve native assertion analysis.
Sourcepub fn get_method_assertions<'ctx>(
&self,
codebase: &'ctx CodebaseMetadata,
source_file: &'ctx File,
block_context: &BlockContext<'ctx>,
artifacts: &AnalysisArtifacts,
class_name: &[u8],
method_name: &[u8],
invocation: &Invocation<'ctx, '_, '_>,
external_session: Option<&ExternalAnalysisSession>,
) -> Option<InvocationAssertions>
pub fn get_method_assertions<'ctx>( &self, codebase: &'ctx CodebaseMetadata, source_file: &'ctx File, block_context: &BlockContext<'ctx>, artifacts: &AnalysisArtifacts, class_name: &[u8], method_name: &[u8], invocation: &Invocation<'ctx, '_, '_>, external_session: Option<&ExternalAnalysisSession>, ) -> Option<InvocationAssertions>
Get assertions for a method invocation from registered providers.
External provider failures are logged and preserve native assertion analysis.
Sourcepub fn get_expression_thrown_exceptions<'ctx>(
&self,
codebase: &'ctx CodebaseMetadata,
source_file: &'ctx File,
block_context: &BlockContext<'ctx>,
artifacts: &AnalysisArtifacts,
expression: &Expression<'_>,
) -> WordSet
pub fn get_expression_thrown_exceptions<'ctx>( &self, codebase: &'ctx CodebaseMetadata, source_file: &'ctx File, block_context: &BlockContext<'ctx>, artifacts: &AnalysisArtifacts, expression: &Expression<'_>, ) -> WordSet
Get thrown exception class names for an expression from registered providers.
Sourcepub fn get_function_thrown_exceptions<'ctx>(
&self,
codebase: &'ctx CodebaseMetadata,
source_file: &'ctx File,
block_context: &BlockContext<'ctx>,
artifacts: &AnalysisArtifacts,
function_name: &[u8],
invocation: &Invocation<'ctx, '_, '_>,
) -> WordSet
pub fn get_function_thrown_exceptions<'ctx>( &self, codebase: &'ctx CodebaseMetadata, source_file: &'ctx File, block_context: &BlockContext<'ctx>, artifacts: &AnalysisArtifacts, function_name: &[u8], invocation: &Invocation<'ctx, '_, '_>, ) -> WordSet
Get thrown exception class names for a function invocation from registered providers.
Sourcepub fn get_method_thrown_exceptions<'ctx>(
&self,
codebase: &'ctx CodebaseMetadata,
source_file: &'ctx File,
block_context: &BlockContext<'ctx>,
artifacts: &AnalysisArtifacts,
class_name: &[u8],
method_name: &[u8],
invocation: &Invocation<'ctx, '_, '_>,
) -> WordSet
pub fn get_method_thrown_exceptions<'ctx>( &self, codebase: &'ctx CodebaseMetadata, source_file: &'ctx File, block_context: &BlockContext<'ctx>, artifacts: &AnalysisArtifacts, class_name: &[u8], method_name: &[u8], invocation: &Invocation<'ctx, '_, '_>, ) -> WordSet
Get thrown exception class names for a method invocation from registered providers.
Sourcepub fn filter_issues(
&self,
file: &File,
issues: IssueCollection,
codebase: &CodebaseMetadata,
session: Option<&ExternalAnalysisSession>,
) -> PluginResult<IssueCollection>
pub fn filter_issues( &self, file: &File, issues: IssueCollection, codebase: &CodebaseMetadata, session: Option<&ExternalAnalysisSession>, ) -> PluginResult<IssueCollection>
Filter issues through all registered issue filter hooks.
Returns a new IssueCollection with filtered issues.
§Errors
Returns an error when a native hook fails or an external issue batch cannot be filtered.
Trait Implementations§
Source§impl Debug for PluginRegistry
impl Debug for PluginRegistry
Source§impl Default for PluginRegistry
impl Default for PluginRegistry
Source§fn default() -> PluginRegistry
fn default() -> PluginRegistry
Auto Trait Implementations§
impl !Freeze for PluginRegistry
impl !RefUnwindSafe for PluginRegistry
impl !UnwindSafe for PluginRegistry
impl Send for PluginRegistry
impl Sync for PluginRegistry
impl Unpin for PluginRegistry
impl UnsafeUnpin for PluginRegistry
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§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> ⓘ
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> ⓘ
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 moreSource§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the foreground set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red() and
green(), which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg():
use yansi::{Paint, Color};
painted.fg(Color::White);Set foreground color to white using white().
use yansi::Paint;
painted.white();Source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Source§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the background set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red() and
on_green(), which have the same functionality but
are pithier.
§Example
Set background color to red using fg():
use yansi::{Paint, Color};
painted.bg(Color::Red);Set background color to red using on_red().
use yansi::Paint;
painted.on_red();Source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Source§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling Attribute value.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold() and
underline(), which have the same functionality
but are pithier.
§Example
Make text bold using attr():
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);Make text bold using using bold().
use yansi::Paint;
painted.bold();Source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Source§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi Quirk value.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask() and
wrap(), which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk():
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);Enable wrapping using wrap().
use yansi::Paint;
painted.wrap();Source§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.
fn clear(&self) -> Painted<&T>
renamed to resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.
Source§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the Condition value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted only when both stdout and stderr are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);