1//===-- AttrSubjectMatchRules.h - Attribute subject match rules -*- C++ -*-===// 2// 3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4// See https://llvm.org/LICENSE.txt for license information. 5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6// 7//===----------------------------------------------------------------------===// 8 9#ifndef LLVM_CLANG_BASIC_ATTR_SUBJECT_MATCH_RULES_H 10#define LLVM_CLANG_BASIC_ATTR_SUBJECT_MATCH_RULES_H 11 12#include "clang/Basic/SourceLocation.h" 13#include "llvm/ADT/DenseMap.h" 14 15namespace clang { 16namespace attr { 17 18/// A list of all the recognized kinds of attributes. 19enum SubjectMatchRule { 20#define ATTR_MATCH_RULE(X, Spelling, IsAbstract) X, 21#include "clang/Basic/AttrSubMatchRulesList.inc" 22}; 23 24const char *getSubjectMatchRuleSpelling(SubjectMatchRule Rule); 25 26using ParsedSubjectMatchRuleSet = llvm::DenseMap<int, SourceRange>; 27 28} // end namespace attr 29} // end namespace clang 30 31#endif 32