Coverage Report

Created: 2018-09-23 03:40

/Users/buildslave/jenkins/workspace/clang-stage2-coverage-R/llvm/tools/clang/include/clang/StaticAnalyzer/Core/CheckerOptInfo.h
Line
Count
Source
1
//===--- CheckerOptInfo.h - Specifies which checkers to use -----*- 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
#ifndef LLVM_CLANG_STATICANALYZER_CORE_CHECKEROPTINFO_H
11
#define LLVM_CLANG_STATICANALYZER_CORE_CHECKEROPTINFO_H
12
13
#include "clang/Basic/LLVM.h"
14
#include "llvm/ADT/StringRef.h"
15
16
namespace clang {
17
namespace ento {
18
19
/// Represents a request to include or exclude a checker or package from a
20
/// specific analysis run.
21
///
22
/// \sa CheckerRegistry::initializeManager
23
class CheckerOptInfo {
24
  StringRef Name;
25
  bool Enable;
26
  bool Claimed;
27
28
public:
29
  CheckerOptInfo(StringRef name, bool enable)
30
1.62k
    : Name(name), Enable(enable), Claimed(false) { }
31
32
4.87k
  StringRef getName() const { return Name; }
33
11.8k
  bool isEnabled() const { return Enable; }
34
  bool isDisabled() const { return !isEnabled(); }
35
36
1.62k
  bool isClaimed() const { return Claimed; }
37
1.62k
  bool isUnclaimed() const { return !isClaimed(); }
38
1.62k
  void claim() { Claimed = true; }
39
};
40
41
} // end namespace ento
42
} // end namespace clang
43
44
#endif