15bool FunctionBreaker::is_c_extension(
const std::string& extension) {
16 for (
auto c_extension : C_EXTENSIONS) {
17 if (extension == c_extension) {
24bool FunctionBreaker::is_java_extension(
const std::string& extension) {
25 for (
auto java_extension : JAVA_EXTENSIONS) {
26 if (extension == java_extension) {
33bool FunctionBreaker::is_allowed_extension(
const std::string& extension) {
34 for (
auto allowed_extension : ALLOWED_EXTENSIONS) {
35 if (extension == allowed_extension) {
42void FunctionBreaker::file_breaker(
const fs::path& file_path,
const fs::path& folder_path) {
45 if (!is_allowed_extension(extension)) {
49 if (is_c_extension(extension)) {
51 }
else if (is_java_extension(extension)) {
54 assert(
false &&
"NOT ALLOWED FILE PASSED");
58void FunctionBreaker::function_breaker(
const fs::path& folder_path) {
59 for (
const auto& dirEntry : fs::recursive_directory_iterator(folder_path)) {
60 file_breaker(dirEntry.path(), folder_path);
65 function_breaker(folder_path);
C/C++ function parser and extractor.
Java function parser and extractor.
FunctionBreaker(const fs::path &folder_path)
Constructs function breaker and processes directory.
Main function extraction interface.
string extract_extension(const fs::path &file_path)
Extracts file extension from path.