Builder
Builds a TranslationConfiguration.
Example:
TranslationManager.builder()
.config(TranslationConfiguration.builder()
.sourceLocations(new File("example.cpp"))
.defaultPasses()
.debugParser(true)
.build())
.build();
Functions
Adds all required includes.
Dump parser debug output to the logs (Caution: this will generate a lot of output).
Register all default Passes.
Adds exclusion patterns for filtering files and directories.
Adds exclusion patterns using regular expressions for filtering files and directories.
Fail analysis on first error. Try to continue otherwise.
Adds the specified file to the include blocklist. Relative and absolute paths are supported.
Directory containing include headers.
Adds the specified file to the include whitelist. Relative and absolute paths are supported.
Load C/C++ include headers before the analysis.
Match comments found in source files to nodes according to a heuristic.
Safely register an additional Language from a class name. If the Language given by the class name could not be loaded or instantiated, no Language is registered and no error is thrown. Please have a look at registerLanguage if an error should be thrown in case the language could not be registered.
Specifies, whether annotations should be process or not. By default, they are not processed, since they might populate the graph too much.
Register an additional Pass.
Files or directories containing the source code to analyze organized by different components
Files or directories containing the source code to analyze. Generates a dummy software component called "application".
Unregisters a registered de.fraunhofer.aisec.cpg.frontends.Language.
If true, the ASTs for the source files are parsed in parallel, but the passes afterwards will still run in a single thread. This speeds up initial parsing but makes sure that further graph enrichment algorithms remain correct.
Only relevant for C++. A unity build refers to a build that consolidates all translation units into a single one, which has the advantage that header files are only processed once, adding far less duplicate nodes to the graph