1//===- SerializationFormat.cpp ----------------------------------*- 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#include "clang/Analysis/Scalable/Serialization/SerializationFormat.h"
10#include "clang/Analysis/Scalable/Model/BuildNamespace.h"
11#include "clang/Analysis/Scalable/Model/EntityId.h"
12#include "clang/Analysis/Scalable/Model/EntityName.h"
13#include "clang/Analysis/Scalable/TUSummary/TUSummary.h"
14
15using namespace clang::ssaf;
16
17EntityIdTable &SerializationFormat::getIdTableForDeserialization(TUSummary &S) {
18 return S.IdTable;
19}
20
21BuildNamespace &
22SerializationFormat::getTUNamespaceForDeserialization(TUSummary &S) {
23 return S.TUNamespace;
24}
25
26const EntityIdTable &SerializationFormat::getIdTable(const TUSummary &S) {
27 return S.IdTable;
28}
29
30const BuildNamespace &SerializationFormat::getTUNamespace(const TUSummary &S) {
31 return S.TUNamespace;
32}
33
34BuildNamespaceKind
35SerializationFormat::getBuildNamespaceKind(const BuildNamespace &BN) {
36 return BN.Kind;
37}
38
39llvm::StringRef
40SerializationFormat::getBuildNamespaceName(const BuildNamespace &BN) {
41 return BN.Name;
42}
43
44const std::vector<BuildNamespace> &
45SerializationFormat::getNestedBuildNamespaces(const NestedBuildNamespace &NBN) {
46 return NBN.Namespaces;
47}
48
49llvm::StringRef SerializationFormat::getEntityNameUSR(const EntityName &EN) {
50 return EN.USR;
51}
52
53const llvm::SmallString<16> &
54SerializationFormat::getEntityNameSuffix(const EntityName &EN) {
55 return EN.Suffix;
56}
57
58const NestedBuildNamespace &
59SerializationFormat::getEntityNameNamespace(const EntityName &EN) {
60 return EN.Namespace;
61}
62