Checker.cpp revision 651f13cea278ec967336033dd032faef0e9fc2ec
1//== Checker.cpp - Registration mechanism for checkers -----------*- C++ -*--=// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9// 10// This file defines Checker, used to create and register checkers. 11// 12//===----------------------------------------------------------------------===// 13 14#include "clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h" 15#include "clang/StaticAnalyzer/Core/Checker.h" 16 17using namespace clang; 18using namespace ento; 19 20StringRef CheckerBase::getTagDescription() const { 21 return getCheckName().getName(); 22} 23 24CheckName CheckerBase::getCheckName() const { return Name; } 25 26CheckerProgramPointTag::CheckerProgramPointTag(StringRef CheckerName, 27 StringRef Msg) 28 : SimpleProgramPointTag(CheckerName, Msg) {} 29 30CheckerProgramPointTag::CheckerProgramPointTag(const CheckerBase *Checker, 31 StringRef Msg) 32 : SimpleProgramPointTag(Checker->getCheckName().getName(), Msg) {} 33 34raw_ostream& clang::ento::operator<<(raw_ostream &Out, 35 const CheckerBase &Checker) { 36 Out << Checker.getCheckName().getName(); 37 return Out; 38} 39 40void Checker<check::_VoidCheck, check::_VoidCheck, check::_VoidCheck, 41 check::_VoidCheck, check::_VoidCheck, check::_VoidCheck, 42 check::_VoidCheck, check::_VoidCheck, check::_VoidCheck, 43 check::_VoidCheck, check::_VoidCheck, check::_VoidCheck, 44 check::_VoidCheck, check::_VoidCheck, check::_VoidCheck, 45 check::_VoidCheck, check::_VoidCheck, check::_VoidCheck 46 >::anchor() { } 47