llvm/clang/lib/Tooling/Inclusions/Stdlib/StandardLibrary.cpp

//===--- StandardLibrary.cpp ------------------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//

#include "clang/Tooling/Inclusions/StandardLibrary.h"
#include "clang/AST/Decl.h"
#include "clang/Basic/LangOptions.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/DenseSet.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Support/Casting.h"
#include <optional>

namespace clang {
namespace tooling {
namespace stdlib {

namespace {
// Symbol name -> Symbol::ID, within a namespace.
NSSymbolMap;

// A Mapping per language.
struct SymbolHeaderMapping {};
} // namespace
static SymbolHeaderMapping
    *LanguageMappings[static_cast<unsigned>(Lang::LastValue) + 1];
static const SymbolHeaderMapping *getMappingPerLang(Lang L) {}

static int countSymbols(Lang Language) {}

static int initialize(Lang Language) {}

static void ensureInitialized() {}

std::vector<Header> Header::all(Lang L) {}
std::optional<Header> Header::named(llvm::StringRef Name, Lang L) {}
llvm::StringRef Header::name() const {}

std::vector<Symbol> Symbol::all(Lang L) {}
llvm::StringRef Symbol::scope() const {}
llvm::StringRef Symbol::name() const {}
llvm::StringRef Symbol::qualifiedName() const {}
std::optional<Symbol> Symbol::named(llvm::StringRef Scope, llvm::StringRef Name,
                                    Lang L) {}
std::optional<Header> Symbol::header() const {}
llvm::SmallVector<Header> Symbol::headers() const {}

Recognizer::Recognizer() {}

NSSymbolMap *Recognizer::namespaceSymbols(const DeclContext *DC, Lang L) {}

std::optional<Symbol> Recognizer::operator()(const Decl *D) {}

} // namespace stdlib
} // namespace tooling
} // namespace clang