Class TranslationConfiguration.Builder

  • Enclosing class:
    TranslationConfiguration

    public static class TranslationConfiguration.Builder
    extends java.lang.Object
    Builds a TranslationConfiguration.

    Example:

    
     TranslationManager.builder()
        .config( TranslationConfiguration.builder()
            .sourceLocations(new File("example.cpp"))
            .defaultPasses()
            .debugParser(true)
            .build())
     .build();
     
    • Constructor Detail

      • Builder

        public Builder()
    • Method Detail

      • 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:
      • 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:
      • 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:
      • defaultPasses

        public TranslationConfiguration.Builder defaultPasses()
        Register all default Passes.

        This will register

        1. FilenameMapper
        2. TypeHierarchyResolver
        3. ImportResolver
        4. VariableUsageResolver
        5. CallResolver
        6. EvaluationOrderGraphPass
        7. TypeResolver
        to be executed exactly in the specified order
        Returns:
      • 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: