1218887Sdim//===--- CheckerBase.td - Checker TableGen classes ------------------------===//
2218887Sdim//
3218887Sdim//                     The LLVM Compiler Infrastructure
4218887Sdim//
5218887Sdim// This file is distributed under the University of Illinois Open Source
6218887Sdim// License. See LICENSE.TXT for details.
7218887Sdim//
8218887Sdim//===----------------------------------------------------------------------===//
9218887Sdim//
10218887Sdim//  This file defines the TableGen core definitions for checkers
11218887Sdim//
12218887Sdim//===----------------------------------------------------------------------===//
13218887Sdim
14221345Sdimclass CheckerGroup<string name> {
15221345Sdim  string GroupName = name;
16221345Sdim}
17221345Sdimclass InGroup<CheckerGroup G> { CheckerGroup Group = G; }
18221345Sdim
19218887Sdimclass Package<string name> {
20218887Sdim  string       PackageName = name;
21218887Sdim  bit          Hidden = 0;
22218887Sdim  Package ParentPackage;
23221345Sdim  CheckerGroup Group;
24218887Sdim}
25218887Sdimclass InPackage<Package P> { Package ParentPackage = P; }
26218887Sdim
27218887Sdim// All checkers are an indirect subclass of this.
28218887Sdimclass Checker<string name = ""> {
29218887Sdim  string      CheckerName = name;
30218887Sdim  string      DescFile;
31218887Sdim  string      HelpText;
32218887Sdim  bit         Hidden = 0;
33218887Sdim  Package ParentPackage;
34218887Sdim  CheckerGroup Group;
35218887Sdim}
36218887Sdim
37218887Sdimclass DescFile<string filename> { string DescFile = filename; }
38218887Sdimclass HelpText<string text> { string HelpText = text; }
39218887Sdimclass Hidden { bit Hidden = 1; }
40