ArKanjo 0.5.1
A tool for find code duplicated functions in codebases
function_breaker.hpp File Reference

Main function extraction interface. More...

#include <string>
#include <vector>
#include <filesystem>
#include <functional>
#include <tree_sitter/api.h>
#include <arkanjo/base/function/function_data.hpp>
#include <arkanjo/parser/tree_sitter_parser.hpp>
+ Include dependency graph for function_breaker.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  FunctionBreaker
 Main function extraction processor. More...
 

Enumerations

enum class  Granularity { Function , File }
 Comparison granularity used when breaking the codebase. More...
 

Detailed Description

Main function extraction interface.

Provides the primary interface for processing source code directories and extracting functions/structs into individual files in a temporary repository.

This file intends to create the process of reading a directory with code in c or java and extract every function/struct of every .c /.java file as a new file in the temporary repository, aka, tmp/

Example of expected behaviour: There is a file example.c with functions a and b, will be create two new files: example/a.c and example/b.c

Definition in file function_breaker.hpp.

Enumeration Type Documentation

◆ Granularity

enum class Granularity
strong

Comparison granularity used when breaking the codebase.

  • Function: each function becomes an independent unit (default behaviour).
  • File: each whole file becomes a single unit, so files are compared against each other instead of function by function.
Enumerator
Function 
File 

Definition at line 38 of file function_breaker.hpp.