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