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