Arkanjo 0.2
A tool for find code duplicated functions in codebases
Loading...
Searching...
No Matches
function_breaker_util.hpp
Go to the documentation of this file.
1
12#pragma once
13
14#include <string>
15#include <vector>
16#include <filesystem>
17namespace fs = std::filesystem;
18
21
22using namespace std;
23
29 string content;
30};
31
39
40const string SOURCE_PATH = "source";
41const string HEADER_PATH = "header";
42const string INFO_PATH = "info";
43
49string extract_extension(const fs::path& file_path);
50
57fs::path build_source_path(const fs::path& relative_path, const string& function_name);
58
65fs::path build_header_path(const fs::path& relative_path, const string& function_name);
66
73fs::path build_info_path(const fs::path& relative_path, const string& function_name);
74
83void create_source_file(int start_number_line, int end_number_line,
84 const fs::path& relative_path, const string& function_name,
85 const vector<string>& function_content);
86
93void create_header_file(const fs::path& relative_path, const string& function_name,
94 const vector<string>& header_content);
95
104void create_info_file(int line_declaration, int start_number_line,
105 int end_number_line, const fs::path& relative_path,
106 const string& function_name);
Configuration management interface.
void create_source_file(int start_number_line, int end_number_line, const fs::path &relative_path, const string &function_name, const vector< string > &function_content)
Creates source file for a function.
PROGRAMMING_LANGUAGE
Enumeration of supported programming languages.
@ JAVA
Java programming language.
@ C
C programming language.
const string SOURCE_PATH
Directory name for source files.
fs::path build_source_path(const fs::path &relative_path, const string &function_name)
Builds source file path for a function.
void create_info_file(int line_declaration, int start_number_line, int end_number_line, const fs::path &relative_path, const string &function_name)
Creates JSON metadata file for a function.
void create_header_file(const fs::path &relative_path, const string &function_name, const vector< string > &header_content)
Creates header file for a function.
fs::path build_header_path(const fs::path &relative_path, const string &function_name)
Builds header file path for a function.
fs::path build_info_path(const fs::path &relative_path, const string &function_name)
Builds info file path for a function.
string extract_extension(const fs::path &file_path)
Extracts file extension from path.
const string HEADER_PATH
Directory name for header files.
const string INFO_PATH
Directory name for metadata files.
Structure representing a line of source code.
int line_number
Line number in the original file.
string content
Text content of the line.
Defines utility functions used across all files.