Arkanjo 0.1
A tool for find code duplicated functions in codebases
Loading...
Searching...
No Matches
similar_function_finder.hpp
Go to the documentation of this file.
1
12#ifndef SIMILAR_FUNCTION_FINDER_HPP
13#define SIMILAR_FUNCTION_FINDER_HPP
14
15#include <string>
16#include <vector>
17
18#include "../base/path.hpp"
19#include "../base/function.hpp"
20#include "../base/utils.hpp"
22using namespace std;
23
31 string EMPTY_PATH_MESSAGE_1 = "There is no functions that resembles the name: ";
32 string EMPTY_PATH_MESSAGE_2 = "Value incorrected passed or there is no duplication code with this function";
33 string REFERENCE_PATH_MESSAGE = "The following function was found:";
34 string COUNT_MESSAGE_1 = "The total number of functions that are similar to the found one is ";
35 string COUNT_MESSAGE_2 = ". More info about them are listed below.";
36
37 Similarity_Table *similarity_table;
38 string function_pattern;
39 Path path;
40
44 void find_path_that_meets_pattern();
45
49 void print_empty_path_message();
50
55 void print_function(Path path);
56
60 void print_reference_path();
61
66 void print_similar_functions(vector<Path> similar_paths);
67
71 void print_similar_functions();
72
73 public:
79 Similar_Function_Finder(string _function_pattern, Similarity_Table *_similarity_table);
80};
81
82#endif
Path manipulation class for tool-specific directory structure.
Definition path.hpp:27
Similar function locator and reporter.
Similar_Function_Finder(string _function_pattern, Similarity_Table *_similarity_table)
Constructs finder and initiates search.
Manages and analyzes function similarity relationships.
Function abstraction for temporary codebase.
Definition json.hpp:5678
Path abstraction for temporary codebase.
Similarity relationships storage and analysis.
Defines utility functions used across all files.