clang 23.0.0git
clang::dependencies::CallbackActionController Class Reference

A simple dependency action controller that uses a callback. More...

#include "clang/DependencyScanning/DependencyScanningUtils.h"

Inheritance diagram for clang::dependencies::CallbackActionController:
[legend]

Public Member Functions

virtual ~CallbackActionController ()
 CallbackActionController (LookupModuleOutputCallback LMO)
std::unique_ptr< DependencyActionControllerclone () const override
 Creates a copy of the controller. The result must be both thread-safe.
std::string lookupModuleOutput (const ModuleDeps &MD, ModuleOutputKind Kind) override
 Provides output path for a given module dependency. Must be thread-safe.
Public Member Functions inherited from clang::dependencies::DependencyActionController
virtual ~DependencyActionController ()
virtual void initializeScanInvocation (CompilerInvocation &ScanInvocation)
 Initializes the scan invocation.
virtual bool initialize (CompilerInstance &ScanInstance, CompilerInvocation &NewInvocation)
 Initializes the scan instance and modifies the resulting TU invocation.
virtual bool finalize (CompilerInstance &ScanInstance, CompilerInvocation &NewInvocation)
 Finalizes the scan instance and modifies the resulting TU invocation.
virtual std::optional< std::string > getCacheKey (const CompilerInvocation &NewInvocation)
 Returns the cache key for the resulting invocation, or nullopt.
virtual bool initializeModuleBuild (CompilerInstance &ModuleScanInstance)
 Initializes the module scan instance.
virtual bool finalizeModuleBuild (CompilerInstance &ModuleScanInstance)
 Finalizes the module scan instance.
virtual bool finalizeModuleInvocation (CompilerInstance &ScanInstance, CowCompilerInvocation &CI, const ModuleDeps &MD)
 Modifies the resulting module invocation and the associated structure.

Static Public Member Functions

static std::string lookupUnreachableModuleOutput (const ModuleDeps &MD, ModuleOutputKind Kind)

Protected Attributes

LookupModuleOutputCallback LookupModuleOutput

Detailed Description

A simple dependency action controller that uses a callback.

If no callback is provided, it is assumed that looking up module outputs is unreachable.

Definition at line 134 of file DependencyScanningUtils.h.

Constructor & Destructor Documentation

◆ ~CallbackActionController()

CallbackActionController::~CallbackActionController ( )
virtual

Definition at line 38 of file DependencyScanningUtils.cpp.

◆ CallbackActionController()

clang::dependencies::CallbackActionController::CallbackActionController ( LookupModuleOutputCallback LMO)
inline

Member Function Documentation

◆ clone()

std::unique_ptr< DependencyActionController > clang::dependencies::CallbackActionController::clone ( ) const
inlineoverridevirtual

Creates a copy of the controller. The result must be both thread-safe.

Implements clang::dependencies::DependencyActionController.

Definition at line 150 of file DependencyScanningUtils.h.

References LookupModuleOutput.

◆ lookupModuleOutput()

std::string clang::dependencies::CallbackActionController::lookupModuleOutput ( const ModuleDeps & MD,
ModuleOutputKind Kind )
inlineoverridevirtual

Provides output path for a given module dependency. Must be thread-safe.

Implements clang::dependencies::DependencyActionController.

Definition at line 154 of file DependencyScanningUtils.h.

References LookupModuleOutput.

◆ lookupUnreachableModuleOutput()

std::string clang::dependencies::CallbackActionController::lookupUnreachableModuleOutput ( const ModuleDeps & MD,
ModuleOutputKind Kind )
inlinestatic

Definition at line 138 of file DependencyScanningUtils.h.

Referenced by CallbackActionController().

Member Data Documentation

◆ LookupModuleOutput

LookupModuleOutputCallback clang::dependencies::CallbackActionController::LookupModuleOutput
protected

Definition at line 160 of file DependencyScanningUtils.h.

Referenced by CallbackActionController(), clone(), and lookupModuleOutput().


The documentation for this class was generated from the following files: