clang-tools
22.0.0git
llvm-project
clang-tools-extra
clang-tidy
NoLintDirectiveHandler.h
Go to the documentation of this file.
1
//===----------------------------------------------------------------------===//
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
#ifndef LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_NOLINTDIRECTIVEHANDLER_H
10
#define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_NOLINTDIRECTIVEHANDLER_H
11
12
#include "clang/Basic/Diagnostic.h"
13
#include "llvm/ADT/StringRef.h"
14
#include <memory>
15
16
namespace
clang::tooling
{
17
struct
Diagnostic;
18
}
// namespace clang::tooling
19
20
namespace
llvm
{
21
template
<
typename
T>
class
SmallVectorImpl
;
22
}
// namespace llvm
23
24
namespace
clang::tidy
{
25
26
/// This class is used to locate NOLINT comments in the file being analyzed, to
27
/// decide whether a diagnostic should be suppressed.
28
/// This class keeps a cache of every NOLINT comment found so that files do not
29
/// have to be repeatedly parsed each time a new diagnostic is raised.
30
class
NoLintDirectiveHandler
{
31
public
:
32
NoLintDirectiveHandler
();
33
~NoLintDirectiveHandler
();
34
35
bool
shouldSuppress
(DiagnosticsEngine::Level DiagLevel,
36
const
Diagnostic &Diag, llvm::StringRef DiagName,
37
llvm::SmallVectorImpl<tooling::Diagnostic>
&NoLintErrors,
38
bool
AllowIO,
bool
EnableNoLintBlocks);
39
40
private
:
41
class
Impl
;
42
std::unique_ptr<Impl> PImpl;
43
};
44
45
}
// namespace clang::tidy
46
47
#endif
// LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_NOLINTDIRECTIVEHANDLER_H
clang::tidy::NoLintDirectiveHandler::Impl
Definition
NoLintDirectiveHandler.cpp:238
clang::tidy::NoLintDirectiveHandler::~NoLintDirectiveHandler
~NoLintDirectiveHandler()
clang::tidy::NoLintDirectiveHandler::NoLintDirectiveHandler
NoLintDirectiveHandler()
Definition
NoLintDirectiveHandler.cpp:393
clang::tidy::NoLintDirectiveHandler::shouldSuppress
bool shouldSuppress(DiagnosticsEngine::Level DiagLevel, const Diagnostic &Diag, llvm::StringRef DiagName, llvm::SmallVectorImpl< tooling::Diagnostic > &NoLintErrors, bool AllowIO, bool EnableNoLintBlocks)
Definition
NoLintDirectiveHandler.cpp:398
llvm::SmallVectorImpl
Definition
NoLintDirectiveHandler.h:21
clang::tidy
Definition
AbseilTidyModule.cpp:32
clang::tooling
Definition
ClangTidy.h:26
llvm
Some operations such as code completion produce a set of candidates.
Definition
Generators.h:66
Generated on
for clang-tools by
1.14.0