Arkanjo 0.2
A tool for find code duplicated functions in codebases
Loading...
Searching...
No Matches
PreprocessorBuild Class Reference

Codebase preprocessing orchestrator. More...

#include <preprocessor_build.hpp>

+ Inheritance diagram for PreprocessorBuild:
+ Collaboration diagram for PreprocessorBuild:

Public Member Functions

 PreprocessorBuild ()
 
 PreprocessorBuild (bool force_preprocess)
 Constructs preprocessor build with optional forcing.
 
 PreprocessorBuild (bool force_preprocess, const fs::path &path, double similarity)
 Testing constructor with direct parameter specification.
 
bool validate (const ParsedOptions &options) override
 Validate the arguments already analyzed.
 
bool run (const ParsedOptions &options) override
 Executes the main logic of the command.
 
- Public Member Functions inherited from CommandBase< PreprocessorBuild >
virtual void print_help (const std::string command_name, const OptionsCollector *collector) const
 
const CliOptionoptions () const final
 
bool do_run (const std::string command_name, const ParsedOptions &options, const OptionsCollector *collector=nullptr) override
 
- Public Member Functions inherited from ICommand
virtual ~ICommand ()=default
 
virtual std::string_view description () const =0
 

Additional Inherited Members

- Static Public Member Functions inherited from Preprocessor
static void save_current_run_params (const fs::path &path)
 Saves preprocessing parameters for future runs.
 
static std::vector< std::string > read_current_run_params ()
 read preprocessing parameters runs
 
- Static Protected Attributes inherited from Preprocessor
static constexpr const char * CONFIG_PATH = "config.txt"
 Configuration file path.
 

Detailed Description

Codebase preprocessing orchestrator.

Manages the complete preprocessing pipeline including:

  • Code structure analysis
  • Function extraction
  • Duplication detection
  • Results organization

Creates the foundation for fast query responses during the main operation phase.

Definition at line 39 of file preprocessor_build.hpp.

Constructor & Destructor Documentation

◆ PreprocessorBuild() [1/3]

PreprocessorBuild::PreprocessorBuild ( )

Definition at line 72 of file preprocessor_build.cpp.

◆ PreprocessorBuild() [2/3]

PreprocessorBuild::PreprocessorBuild ( bool force_preprocess)

Constructs preprocessor build with optional forcing.

Parameters
force_preprocessWhether to force preprocessing even if cached results exist

Definition at line 74 of file preprocessor_build.cpp.

◆ PreprocessorBuild() [3/3]

PreprocessorBuild::PreprocessorBuild ( bool force_preprocess,
const fs::path & path,
double similarity )

Testing constructor with direct parameter specification.

Parameters
force_preprocessWhether to force preprocessing
pathDirect project path specification
similarityDirect similarity threshold specification
Note
Exposed for testing purposes only

Definition at line 82 of file preprocessor_build.cpp.

Member Function Documentation

◆ run()

bool PreprocessorBuild::run ( const ParsedOptions & options)
overridevirtual

Executes the main logic of the command.

You must use the validated arguments to perform the action desired by the command.

Parameters
optionsThe ParsedOptions structure will be populated with the arguments.
Returns
True if the execution is successful, false if an error occurs.

Implements ICommand.

Definition at line 102 of file preprocessor_build.cpp.

◆ validate()

bool PreprocessorBuild::validate ( const ParsedOptions & options)
overridevirtual

Validate the arguments already analyzed.

Verify that all required options have been selected and that the values ​​provided are valid.

Parameters
optionsThe ParsedOptions structure will be populated with the arguments.
Returns
True if the arguments are valid, false otherwise.

Implements ICommand.

Definition at line 89 of file preprocessor_build.cpp.


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