#pragma once #include #include #include #include #include "swift/extractor/config/SwiftExtractorConfiguration.h" namespace codeql { struct SwiftExtractorState { const SwiftExtractorConfiguration configuration; // All the trap files related to this extraction. This may also include trap files generated in a // previous run but that this run requested as well. Paths are relative to `configuration.trapDir` std::vector traps; // All modules encountered during this extractor run, which therefore are dependencies of the // outcomes of this run std::unordered_set encounteredModules; std::vector sourceFiles; // The path for the modules outputted by the underlying frontend run, ignoring path redirection std::vector originalOutputModules; // All lazy named declarations that were already emitted std::unordered_set emittedDeclarations; // Lazy named declarations that were not yet emitted and will be emitted each one separately std::unordered_set pendingDeclarations; }; } // namespace codeql