aboutsummaryrefslogtreecommitdiff
path: root/include/clang/StaticAnalyzer/Checkers/CheckerBase.td
blob: 8089bc0662790afc8af37a290ded4f40c0966062 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
//===--- CheckerBase.td - Checker TableGen classes ------------------------===//
//
//                     The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
//
//  This file defines the TableGen core definitions for checkers
//
//===----------------------------------------------------------------------===//

class Package<string name> {
  string       PackageName = name;
  bit          Hidden = 0;
  Package ParentPackage;
}
class InPackage<Package P> { Package ParentPackage = P; }

class CheckerGroup<string name> {
  string GroupName = name;
}
class InGroup<CheckerGroup G> { CheckerGroup Group = G; }

// All checkers are an indirect subclass of this.
class Checker<string className> {
  string      ClassName = className;
  string      CheckerName;
  string      DescFile;
  string      HelpText;
  bit         Hidden = 0;
  Package ParentPackage;
  CheckerGroup Group;
}

class Named<string name> { string CheckerName = name; }
class DescFile<string filename> { string DescFile = filename; }
class HelpText<string text> { string HelpText = text; }
class Hidden { bit Hidden = 1; }