1 //===--- AttrDocTable.cpp - implements Attr::getDocumentation() -*- 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 // This file contains out-of-line methods for Attr classes. 10 // 11 //===----------------------------------------------------------------------===// 12 13 #include "clang/AST/Attr.h" 14 #include "llvm/ADT/StringRef.h" 15 16 #include "AttrDocTable.inc" 17 18 static const llvm::StringRef AttrDoc[] = { 19 #define ATTR(NAME) AttrDoc_##NAME, 20 #include "clang/Basic/AttrList.inc" 21 }; 22 23 llvm::StringRef clang::Attr::getDocumentation(clang::attr::Kind K) { 24 if(K < llvm::array_lengthof(AttrDoc)) 25 return AttrDoc[K]; 26 return ""; 27 } 28