//===---- Generator.cpp - Generator Registry ---------------------*- C++-*-===// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// #include "Generators.h" LLVM_INSTANTIATE_REGISTRY(clang::doc::GeneratorRegistry) namespace clang { namespace doc { llvm::Expected> findGeneratorByName(llvm::StringRef Format) { for (auto I = GeneratorRegistry::begin(), E = GeneratorRegistry::end(); I != E; ++I) { if (I->getName() != Format) continue; return I->instantiate(); } return llvm::make_error("Can't find generator: " + Format, llvm::inconvertibleErrorCode()); } // This anchor is used to force the linker to link in the generated object file // and thus register the generators. extern volatile int YAMLGeneratorAnchorSource; static int LLVM_ATTRIBUTE_UNUSED YAMLGeneratorAnchorDest = YAMLGeneratorAnchorSource; } // namespace doc } // namespace clang