Home | History | Annotate | Download | only in Checkers
      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