xref: /openbsd-src/gnu/llvm/clang/lib/StaticAnalyzer/Frontend/FrontendActions.cpp (revision e5dd70708596ae51455a0ffa086a00c5b29f8583)
1*e5dd7070Spatrick //===--- FrontendActions.cpp ----------------------------------------------===//
2*e5dd7070Spatrick //
3*e5dd7070Spatrick // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4*e5dd7070Spatrick // See https://llvm.org/LICENSE.txt for license information.
5*e5dd7070Spatrick // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6*e5dd7070Spatrick //
7*e5dd7070Spatrick //===----------------------------------------------------------------------===//
8*e5dd7070Spatrick 
9*e5dd7070Spatrick #include "clang/StaticAnalyzer/Frontend/FrontendActions.h"
10*e5dd7070Spatrick #include "clang/StaticAnalyzer/Frontend/AnalysisConsumer.h"
11*e5dd7070Spatrick #include "clang/StaticAnalyzer/Frontend/ModelConsumer.h"
12*e5dd7070Spatrick using namespace clang;
13*e5dd7070Spatrick using namespace ento;
14*e5dd7070Spatrick 
15*e5dd7070Spatrick std::unique_ptr<ASTConsumer>
CreateASTConsumer(CompilerInstance & CI,StringRef InFile)16*e5dd7070Spatrick AnalysisAction::CreateASTConsumer(CompilerInstance &CI, StringRef InFile) {
17*e5dd7070Spatrick   return CreateAnalysisConsumer(CI);
18*e5dd7070Spatrick }
19*e5dd7070Spatrick 
ParseModelFileAction(llvm::StringMap<Stmt * > & Bodies)20*e5dd7070Spatrick ParseModelFileAction::ParseModelFileAction(llvm::StringMap<Stmt *> &Bodies)
21*e5dd7070Spatrick     : Bodies(Bodies) {}
22*e5dd7070Spatrick 
23*e5dd7070Spatrick std::unique_ptr<ASTConsumer>
CreateASTConsumer(CompilerInstance & CI,StringRef InFile)24*e5dd7070Spatrick ParseModelFileAction::CreateASTConsumer(CompilerInstance &CI,
25*e5dd7070Spatrick                                         StringRef InFile) {
26*e5dd7070Spatrick   return std::make_unique<ModelConsumer>(Bodies);
27*e5dd7070Spatrick }
28