TranslationConfiguration

The configuration for the TranslationManager holds all information that is used during the translation.

Types

Link copied to clipboard
Link copied to clipboard
object Companion

Properties

Link copied to clipboard

If true the (cpp) frontend connects a node to required includes.

Link copied to clipboard

should the code of a node be shown as parameter in the node *

Link copied to clipboard

This is the data structure for storing the compilation database. It stores a mapping from the File to the list of files that have to be included to their path, specified by the parameter in the compilation database. This is currently only used by the CXXLanguageFrontend.

Link copied to clipboard

Set to true to generate debug output for the parser.

Link copied to clipboard

Switch off cleaning up TypeManager memory after analysis.

Link copied to clipboard

Should parser/translation fail on parse/resolving errors (true) or try to continue in a best-effort manner (false).

Link copied to clipboard

A flattened list of registeredPasses, mainly used for the JSON representation because Jackson cannot deal with lists of lists very well.

Link copied to clipboard

This list contains the files with function summaries which should be considered.

Link copied to clipboard

This acts as a block list for include files, if the array is not empty. The specified include files will be excluded from being parsed and processed in the CPG. The blocklist entries always take priority over those in the whitelist.

Link copied to clipboard

Paths to look for include files.

Link copied to clipboard

This acts as a white list for include files, if the array is not empty. Only the specified includes files will be parsed and processed in the CPG, unless it is a port of the blacklist, in which it will be ignored.

Link copied to clipboard

This sub configuration object holds all information about inference and smart-guessing.

Link copied to clipboard

This list contains all languages which we want to translate.

Link copied to clipboard

Set to true to transitively load include files into the CPG.

Link copied to clipboard

If true the frontend shall use a heuristic matching of comments found in the source file to match them to the closest AST node and save it in the comment property.

Link copied to clipboard
Link copied to clipboard

Set to true to process annotations or annotation-like elements.

Link copied to clipboard

A list containing a list of passes that run in parallel.

Link copied to clipboard
val replacedPasses: Map<Pair<KClass<out Pass<out Node>>, KClass<out Language<*>>>, KClass<out Pass<out Node>>>

This map offers the possibility to replace certain passes for specific languages with other passes. It can either be filled with the Builder.replacePass or by using the ReplacePass annotation on a LanguageFrontend.

Link copied to clipboard

Source code files to parse.

Link copied to clipboard

Returns a list of all analyzed files.

Link copied to clipboard

Definition of additional symbols, mostly useful for C++.

Link copied to clipboard
Link copied to clipboard

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.

Link copied to clipboard
Link copied to clipboard

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

Functions

Link copied to clipboard
open override fun toString(): String