clang 20.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
16using namespace clang;
17using namespace ento;
18
20
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
35raw_ostream& clang::ento::operator<<(raw_ostream &Out,
36 const CheckerBase &Checker) {
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.