clang
22.0.0git
include
clang
StaticAnalyzer
Core
PathDiagnosticConsumers.h
Go to the documentation of this file.
1
//===--- PathDiagnosticConsumers.h - Path Diagnostic Clients ----*- C++ -*-===//
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
// This file defines the interface to create different path diagostic clients.
10
//
11
//===----------------------------------------------------------------------===//
12
13
#ifndef LLVM_CLANG_STATICANALYZER_CORE_PATHDIAGNOSTICCONSUMERS_H
14
#define LLVM_CLANG_STATICANALYZER_CORE_PATHDIAGNOSTICCONSUMERS_H
15
16
#include "
clang/Analysis/PathDiagnostic.h
"
17
18
#include <string>
19
#include <vector>
20
21
namespace
clang
{
22
23
class
MacroExpansionContext
;
24
class
Preprocessor
;
25
26
namespace
cross_tu
{
27
class
CrossTranslationUnitContext
;
28
}
29
30
namespace
ento
{
31
32
class
PathDiagnosticConsumer
;
33
using
PathDiagnosticConsumers
=
34
std::vector<std::unique_ptr<PathDiagnosticConsumer>>;
35
36
#define ANALYSIS_DIAGNOSTICS(NAME, CMDFLAG, DESC, CREATEFN) \
37
void CREATEFN(PathDiagnosticConsumerOptions Diagopts, \
38
PathDiagnosticConsumers &C, const std::string &Prefix, \
39
const Preprocessor &PP, \
40
const cross_tu::CrossTranslationUnitContext &CTU, \
41
const MacroExpansionContext &MacroExpansions);
42
#include "clang/StaticAnalyzer/Core/Analyses.def"
43
44
}
// end 'ento' namespace
45
}
// end 'clang' namespace
46
47
#endif
PathDiagnostic.h
clang::MacroExpansionContext
MacroExpansionContext tracks the macro expansions processed by the Preprocessor.
Definition
MacroExpansionContext.h:73
clang::Preprocessor
Engages in a tight little dance with the lexer to efficiently preprocess tokens.
Definition
Preprocessor.h:145
clang::cross_tu::CrossTranslationUnitContext
This class is used for tools that requires cross translation unit capability.
Definition
CrossTranslationUnit.h:127
clang::ento::PathDiagnosticConsumer
Definition
PathDiagnostic.h:92
clang::cross_tu
Definition
CrossTranslationUnit.h:38
clang::ento
Definition
CocoaConventions.h:23
clang::ento::PathDiagnosticConsumers
std::vector< std::unique_ptr< PathDiagnosticConsumer > > PathDiagnosticConsumers
Definition
PathDiagnosticConsumers.h:33
clang
The JSON file list parser is used to communicate input to InstallAPI.
Definition
CalledOnceCheck.h:17
Generated on
for clang by
1.14.0