clang-tools 22.0.0git
NoLintDirectiveHandler.cpp File Reference
#include "NoLintDirectiveHandler.h"
#include "GlobList.h"
#include "clang/Basic/LLVM.h"
#include "clang/Basic/SourceLocation.h"
#include "clang/Basic/SourceManager.h"
#include "clang/Tooling/Core/Diagnostic.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/StringMap.h"
#include "llvm/ADT/StringSwitch.h"
#include <cassert>
#include <cstddef>
#include <memory>
#include <optional>
#include <string>
#include <utility>

Go to the source code of this file.

Classes

class  clang::tidy::NoLintDirectiveHandler::Impl

Namespaces

namespace  clang
 ===– Representation.cpp - ClangDoc Representation --------—*- C++ -*-===//
namespace  clang::tidy

Enumerations

enum class  clang::tidy::NoLintType { clang::tidy::NoLint , clang::tidy::NoLintNextLine , clang::tidy::NoLintBegin , clang::tidy::NoLintEnd }

Functions

static std::optional< NoLintTypeclang::tidy::strToNoLintType (StringRef Str)
static std::string clang::tidy::trimWhitespace (StringRef Checks)
static SmallVector< NoLintToken > clang::tidy::getNoLints (StringRef Buffer)
static tooling::Diagnostic clang::tidy::makeNoLintError (const SourceManager &SrcMgr, FileID File, const NoLintToken &NoLint)
static SmallVector< NoLintBlockToken > clang::tidy::formNoLintBlocks (SmallVector< NoLintToken > NoLints, const SourceManager &SrcMgr, FileID File, SmallVectorImpl< tooling::Diagnostic > &NoLintErrors)
static std::pair< size_t, size_t > clang::tidy::getLineStartAndEnd (StringRef Buffer, size_t From)
static bool clang::tidy::lineHasNoLint (StringRef Buffer, std::pair< size_t, size_t > LineStartAndEnd, NoLintType Type, StringRef DiagName)
static bool clang::tidy::withinNoLintBlock (ArrayRef< NoLintBlockToken > NoLintBlocks, size_t DiagPos, StringRef DiagName)
static std::optional< StringRef > clang::tidy::getBuffer (const SourceManager &SrcMgr, FileID File, bool AllowIO)