Arkanjo 0.1
A tool for find code duplicated functions in codebases
Loading...
Searching...
No Matches
function_breaker_util.hpp File Reference

Function breaker utilities and constants. More...

#include <string>
#include <vector>
#include "../base/utils.hpp"
#include "../base/config.hpp"
+ Include dependency graph for function_breaker_util.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Line_content
 Structure representing a line of source code. More...
 

Enumerations

enum  PROGRAMMING_LANGUAGE { C , JAVA }
 Enumeration of supported programming languages. More...
 

Functions

string extract_extension (string file_path)
 Extracts file extension from path.
 
string build_source_path (string relative_path, string function_name)
 Builds source file path for a function.
 
string build_header_path (string relative_path, string function_name)
 Builds header file path for a function.
 
string build_info_path (string relative_path, string function_name)
 Builds info file path for a function.
 
void create_source_file (int start_number_line, int end_number_line, string relative_path, string function_name, const vector< string > &function_content)
 Creates source file for a function.
 
void create_header_file (string relative_path, string function_name, const vector< string > &header_content)
 Creates header file for a function.
 
void create_info_file (int line_declaration, int start_number_line, int end_number_line, string relative_path, string function_name)
 Creates JSON metadata file for a function.
 

Variables

const string SOURCE_PATH = "source"
 Directory name for source files.
 
const string HEADER_PATH = "header"
 Directory name for header files.
 
const string INFO_PATH = "info"
 Directory name for metadata files.
 

Detailed Description

Function breaker utilities and constants.

Defines common utilities, structures, and constants used across the function breaking process for supported programming languages.

Defines util functions, struct and constants used across the function breaker process for the suported languages

Definition in file function_breaker_util.hpp.

Enumeration Type Documentation

◆ PROGRAMMING_LANGUAGE

Enumeration of supported programming languages.

Enumerator

C programming language.

JAVA 

Java programming language.

Definition at line 31 of file function_breaker_util.hpp.

Function Documentation

◆ build_header_path()

string build_header_path ( string relative_path,
string function_name )

Builds header file path for a function.

Parameters
relative_pathRelative path of the original file
function_nameName of the function
Returns
string Full path for the header file

Definition at line 42 of file function_breaker_util.cpp.

◆ build_info_path()

string build_info_path ( string relative_path,
string function_name )

Builds info file path for a function.

Parameters
relative_pathRelative path of the original file
function_nameName of the function
Returns
string Full path for the info file

Definition at line 51 of file function_breaker_util.cpp.

◆ build_source_path()

string build_source_path ( string relative_path,
string function_name )

Builds source file path for a function.

Parameters
relative_pathRelative path of the original file
function_nameName of the function
Returns
string Full path for the source file

Definition at line 33 of file function_breaker_util.cpp.

◆ create_header_file()

void create_header_file ( string relative_path,
string function_name,
const vector< string > & header_content )

Creates header file for a function.

Parameters
relative_pathRelative path of the original file
function_nameName of the function
header_contentVector of strings containing the header content

Definition at line 65 of file function_breaker_util.cpp.

◆ create_info_file()

void create_info_file ( int line_declaration,
int start_number_line,
int end_number_line,
string relative_path,
string function_name )

Creates JSON metadata file for a function.

Parameters
line_declarationLine number where function is declared
start_number_lineStarting line number of function body
end_number_lineEnding line number of function body
relative_pathRelative path of the original file
function_nameName of the function

Definition at line 71 of file function_breaker_util.cpp.

◆ create_source_file()

void create_source_file ( int start_number_line,
int end_number_line,
string relative_path,
string function_name,
const vector< string > & function_content )

Creates source file for a function.

Parameters
start_number_lineStarting line number in original file
end_number_lineEnding line number in original file
relative_pathRelative path of the original file
function_nameName of the function
function_contentVector of strings containing the function body

Definition at line 60 of file function_breaker_util.cpp.

◆ extract_extension()

string extract_extension ( string file_path)

Extracts file extension from path.

Parameters
file_pathPath to the file
Returns
string File extension

Definition at line 16 of file function_breaker_util.cpp.

Variable Documentation

◆ HEADER_PATH

const string HEADER_PATH = "header"

Directory name for header files.

Definition at line 37 of file function_breaker_util.hpp.

◆ INFO_PATH

const string INFO_PATH = "info"

Directory name for metadata files.

Definition at line 38 of file function_breaker_util.hpp.

◆ SOURCE_PATH

const string SOURCE_PATH = "source"

Directory name for source files.

Definition at line 36 of file function_breaker_util.hpp.