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