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