clang  19.0.0git
Checker.cpp
Go to the documentation of this file.
1 //== Checker.cpp - Registration mechanism for checkers -----------*- 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 Checker, used to create and register checkers.
10 //
11 //===----------------------------------------------------------------------===//
12 
15 
16 using namespace clang;
17 using namespace ento;
18 
20 
21 StringRef CheckerBase::getTagDescription() const {
22  return getCheckerName().getName();
23 }
24 
26 
28  StringRef Msg)
29  : SimpleProgramPointTag(CheckerName, Msg) {}
30 
32  StringRef Msg)
33  : SimpleProgramPointTag(Checker->getCheckerName().getName(), Msg) {}
34 
35 raw_ostream& clang::ento::operator<<(raw_ostream &Out,
36  const CheckerBase &Checker) {
37  Out << Checker.getCheckerName().getName();
38  return Out;
39 }
static std::string getName(const CallEvent &Call)
CheckerNameRef getCheckerName() const
Definition: Checker.cpp:25
StringRef getTagDescription() const override
Definition: Checker.cpp:21
This wrapper is used to ensure that only StringRefs originating from the CheckerRegistry are used as ...
CheckerProgramPointTag(StringRef CheckerName, StringRef Msg)
Definition: Checker.cpp:27
raw_ostream & operator<<(raw_ostream &Out, const CheckerBase &Checker)
Dump checker name to stream.
Definition: Checker.cpp:35
The JSON file list parser is used to communicate input to InstallAPI.