1//===--- CheckerBase.td - Checker TableGen classes ------------------------===//
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 the TableGen core definitions for checkers
11//
12//===----------------------------------------------------------------------===//
13
14class CheckerGroup<string name> {
15  string GroupName = name;
16}
17class InGroup<CheckerGroup G> { CheckerGroup Group = G; }
18
19class Package<string name> {
20  string       PackageName = name;
21  bit          Hidden = 0;
22  Package ParentPackage;
23  CheckerGroup Group;
24}
25class InPackage<Package P> { Package ParentPackage = P; }
26
27// All checkers are an indirect subclass of this.
28class Checker<string name = ""> {
29  string      CheckerName = name;
30  string      DescFile;
31  string      HelpText;
32  bit         Hidden = 0;
33  Package ParentPackage;
34  CheckerGroup Group;
35}
36
37class DescFile<string filename> { string DescFile = filename; }
38class HelpText<string text> { string HelpText = text; }
39class Hidden { bit Hidden = 1; }
40