Package de.fraunhofer.aisec.cpg
Class TranslationConfiguration.Builder
- java.lang.Object
-
- de.fraunhofer.aisec.cpg.TranslationConfiguration.Builder
-
- Enclosing class:
- TranslationConfiguration
public static class TranslationConfiguration.Builder extends java.lang.ObjectBuilds aTranslationConfiguration.Example:
TranslationManager.builder() .config( TranslationConfiguration.builder() .sourceLocations(new File("example.cpp")) .defaultPasses() .debugParser(true) .build()) .build();
-
-
Constructor Summary
Constructors Constructor Description Builder()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description TranslationConfigurationbuild()TranslationConfiguration.BuildercodeInNodes(boolean b)TranslationConfiguration.BuilderdebugParser(boolean debugParser)Dump parser debug output to the logs (Caution: this will generate a lot of output).TranslationConfiguration.BuilderdefaultPasses()Register all defaultPasses.TranslationConfiguration.BuilderdisableCleanup()TranslationConfiguration.BuilderfailOnError(boolean failOnError)Fail analysis on first error.TranslationConfiguration.BuilderincludeBlacklist(java.lang.String includeFile)Adds the specified file to the include blacklist.TranslationConfiguration.BuilderincludePath(java.lang.String includePath)Directory containing include headers.TranslationConfiguration.BuilderincludeWhitelist(java.lang.String includeFile)Adds the specified file to the include whitelist.TranslationConfiguration.BuilderloadIncludes(boolean loadIncludes)Load C/C++ include headers before the analysis.TranslationConfiguration.BuilderprocessAnnotations(boolean b)Specifies, whether annotations should be process or not.TranslationConfiguration.BuilderregisterPass(@NonNull Pass pass)Register an additionalPass.TranslationConfiguration.BuildersourceLocations(java.io.File... sourceLocations)Files or directories containing the source code to analyze.TranslationConfiguration.BuildersourceLocations(java.util.List<java.io.File> sourceLocations)Files or directories containing the source code to analyzeTranslationConfiguration.Buildersymbols(java.util.Map<java.lang.String,java.lang.String> symbols)TranslationConfiguration.BuildertopLevel(java.io.File topLevel)TranslationConfiguration.BuilderuseUnityBuild(boolean b)
-
-
-
Method Detail
-
symbols
public TranslationConfiguration.Builder symbols(java.util.Map<java.lang.String,java.lang.String> symbols)
-
sourceLocations
public TranslationConfiguration.Builder sourceLocations(java.io.File... sourceLocations)
Files or directories containing the source code to analyze.- Parameters:
sourceLocations-- Returns:
-
sourceLocations
public TranslationConfiguration.Builder sourceLocations(java.util.List<java.io.File> sourceLocations)
Files or directories containing the source code to analyze- Parameters:
sourceLocations-- Returns:
-
topLevel
public TranslationConfiguration.Builder topLevel(java.io.File topLevel)
-
debugParser
public TranslationConfiguration.Builder debugParser(boolean debugParser)
Dump parser debug output to the logs (Caution: this will generate a lot of output).- Parameters:
debugParser-- Returns:
-
failOnError
public TranslationConfiguration.Builder failOnError(boolean failOnError)
Fail analysis on first error. Try to continue otherwise.- Parameters:
failOnError-- Returns:
-
loadIncludes
public TranslationConfiguration.Builder loadIncludes(boolean loadIncludes)
Load C/C++ include headers before the analysis.Required for macro expansion.
- Parameters:
loadIncludes-- Returns:
-
includePath
public TranslationConfiguration.Builder includePath(java.lang.String includePath)
Directory containing include headers.- Parameters:
includePath-- Returns:
-
includeWhitelist
public TranslationConfiguration.Builder includeWhitelist(java.lang.String includeFile)
Adds the specified file to the include whitelist. Relative and absolute paths are supported.- Parameters:
includeFile-- Returns:
-
disableCleanup
public TranslationConfiguration.Builder disableCleanup()
-
includeBlacklist
public TranslationConfiguration.Builder includeBlacklist(java.lang.String includeFile)
Adds the specified file to the include blacklist. Relative and absolute paths are supported.- Parameters:
includeFile-- Returns:
-
registerPass
public TranslationConfiguration.Builder registerPass(@NonNull Pass pass)
Register an additionalPass.- Parameters:
pass-- Returns:
-
defaultPasses
public TranslationConfiguration.Builder defaultPasses()
Register all defaultPasses.This will register
- FilenameMapper
- TypeHierarchyResolver
- ImportResolver
- VariableUsageResolver
- CallResolver
- EvaluationOrderGraphPass
- TypeResolver
- Returns:
-
codeInNodes
public TranslationConfiguration.Builder codeInNodes(boolean b)
-
processAnnotations
public TranslationConfiguration.Builder processAnnotations(boolean b)
Specifies, whether annotations should be process or not. By default, they are not processed, since they might populate the graph too much.- Parameters:
b- the new value- Returns:
-
useUnityBuild
public TranslationConfiguration.Builder useUnityBuild(boolean b)
-
build
public TranslationConfiguration build()
-
-