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