1226586Sdim//===--- CheckerOptInfo.h - Specifies which checkers to use -----*- C++ -*-===// 2226586Sdim// 3226586Sdim// The LLVM Compiler Infrastructure 4226586Sdim// 5226586Sdim// This file is distributed under the University of Illinois Open Source 6226586Sdim// License. See LICENSE.TXT for details. 7226586Sdim// 8226586Sdim//===----------------------------------------------------------------------===// 9226586Sdim 10226586Sdim#ifndef LLVM_CLANG_STATICANALYZER_CORE_CHECKEROPTINFO_H 11226586Sdim#define LLVM_CLANG_STATICANALYZER_CORE_CHECKEROPTINFO_H 12226586Sdim 13226586Sdim#include "clang/Basic/LLVM.h" 14249423Sdim#include "llvm/ADT/StringRef.h" 15226586Sdim 16226586Sdimnamespace clang { 17226586Sdimnamespace ento { 18226586Sdim 19226586Sdim/// Represents a request to include or exclude a checker or package from a 20226586Sdim/// specific analysis run. 21226586Sdim/// 22226586Sdim/// \sa CheckerRegistry::initializeManager 23226586Sdimclass CheckerOptInfo { 24226586Sdim StringRef Name; 25226586Sdim bool Enable; 26226586Sdim bool Claimed; 27226586Sdim 28226586Sdimpublic: 29226586Sdim CheckerOptInfo(StringRef name, bool enable) 30226586Sdim : Name(name), Enable(enable), Claimed(false) { } 31226586Sdim 32226586Sdim StringRef getName() const { return Name; } 33226586Sdim bool isEnabled() const { return Enable; } 34226586Sdim bool isDisabled() const { return !isEnabled(); } 35226586Sdim 36226586Sdim bool isClaimed() const { return Claimed; } 37226586Sdim bool isUnclaimed() const { return !isClaimed(); } 38226586Sdim void claim() { Claimed = true; } 39226586Sdim}; 40226586Sdim 41226586Sdim} // end namespace ento 42226586Sdim} // end namespace clang 43226586Sdim 44226586Sdim#endif 45