1 //===-- AttrSubjectMatchRules.h - Attribute subject match rules -*- C++ -*-===// 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 #ifndef LLVM_CLANG_BASIC_ATTR_SUBJECT_MATCH_RULES_H 11 #define LLVM_CLANG_BASIC_ATTR_SUBJECT_MATCH_RULES_H 12 13 #include "clang/Basic/SourceLocation.h" 14 #include "llvm/ADT/DenseMap.h" 15 16 namespace clang { 17 namespace attr { 18 19 /// \brief A list of all the recognized kinds of attributes. 20 enum SubjectMatchRule { 21 #define ATTR_MATCH_RULE(X, Spelling, IsAbstract) X, 22 #include "clang/Basic/AttrSubMatchRulesList.inc" 23 }; 24 25 const char *getSubjectMatchRuleSpelling(SubjectMatchRule Rule); 26 27 using ParsedSubjectMatchRuleSet = llvm::DenseMap<int, SourceRange>; 28 29 } // end namespace attr 30 } // end namespace clang 31 32 #endif 33