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 14 class CheckerGroup<string name> { 15 string GroupName = name; 16 } 17 class InGroup<CheckerGroup G> { CheckerGroup Group = G; } 18 19 class Package<string name> { 20 string PackageName = name; 21 bit Hidden = 0; 22 Package ParentPackage; 23 CheckerGroup Group; 24 } 25 class InPackage<Package P> { Package ParentPackage = P; } 26 27 // All checkers are an indirect subclass of this. 28 class 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 37 class DescFile<string filename> { string DescFile = filename; } 38 class HelpText<string text> { string HelpText = text; } 39 class Hidden { bit Hidden = 1; } 40