xref: /src/contrib/llvm-project/clang/lib/AST/AttrDocTable.cpp (revision 0fca6ea1d4eea4c934cfff25ac9ee8ad6fe95583)
1c0981da4SDimitry Andric //===--- AttrDocTable.cpp - implements Attr::getDocumentation() -*- C++ -*-===//
2c0981da4SDimitry Andric //
3c0981da4SDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4c0981da4SDimitry Andric // See https://llvm.org/LICENSE.txt for license information.
5c0981da4SDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6c0981da4SDimitry Andric //
7c0981da4SDimitry Andric //===----------------------------------------------------------------------===//
8c0981da4SDimitry Andric //
9c0981da4SDimitry Andric //  This file contains out-of-line methods for Attr classes.
10c0981da4SDimitry Andric //
11c0981da4SDimitry Andric //===----------------------------------------------------------------------===//
12c0981da4SDimitry Andric 
13c0981da4SDimitry Andric #include "clang/AST/Attr.h"
14c0981da4SDimitry Andric #include "llvm/ADT/StringRef.h"
15c0981da4SDimitry Andric 
16c0981da4SDimitry Andric #include "AttrDocTable.inc"
17c0981da4SDimitry Andric 
18c0981da4SDimitry Andric static const llvm::StringRef AttrDoc[] = {
19c0981da4SDimitry Andric #define ATTR(NAME) AttrDoc_##NAME,
20c0981da4SDimitry Andric #include "clang/Basic/AttrList.inc"
21c0981da4SDimitry Andric };
22c0981da4SDimitry Andric 
getDocumentation(clang::attr::Kind K)23c0981da4SDimitry Andric llvm::StringRef clang::Attr::getDocumentation(clang::attr::Kind K) {
24ac9a064cSDimitry Andric   if (K < (int)std::size(AttrDoc))
25c0981da4SDimitry Andric     return AttrDoc[K];
26c0981da4SDimitry Andric   return "";
27c0981da4SDimitry Andric }
28