clang
23.0.0git
include
clang
Analysis
Scalable
TUSummary
TUSummary.h
Go to the documentation of this file.
1
//===- TUSummary.h ----------------------------------------------*- 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
#ifndef LLVM_CLANG_ANALYSIS_SCALABLE_TUSUMMARY_TUSUMMARY_H
10
#define LLVM_CLANG_ANALYSIS_SCALABLE_TUSUMMARY_TUSUMMARY_H
11
12
#include "
clang/Analysis/Scalable/Model/BuildNamespace.h
"
13
#include "
clang/Analysis/Scalable/Model/EntityId.h
"
14
#include "
clang/Analysis/Scalable/Model/EntityIdTable.h
"
15
#include "
clang/Analysis/Scalable/Model/EntityLinkage.h
"
16
#include "
clang/Analysis/Scalable/Model/SummaryName.h
"
17
#include "
clang/Analysis/Scalable/TUSummary/EntitySummary.h
"
18
#include <map>
19
#include <memory>
20
21
namespace
clang::ssaf
{
22
23
/// Data extracted for a given translation unit and for a given set of analyses.
24
class
TUSummary
{
25
/// Identifies the translation unit.
26
BuildNamespace
TUNamespace;
27
28
EntityIdTable
IdTable;
29
30
std::map<EntityId, EntityLinkage> LinkageTable;
31
32
std::map<SummaryName, std::map<EntityId, std::unique_ptr<EntitySummary>>>
33
Data;
34
35
public
:
36
TUSummary
(
BuildNamespace
TUNamespace) : TUNamespace(
std
::move(TUNamespace)) {}
37
38
friend
class
SerializationFormat
;
39
friend
class
TestFixture
;
40
friend
class
TUSummaryBuilder
;
41
};
42
43
}
// namespace clang::ssaf
44
45
#endif
// LLVM_CLANG_ANALYSIS_SCALABLE_TUSUMMARY_TUSUMMARY_H
BuildNamespace.h
EntityIdTable.h
EntityId.h
EntityLinkage.h
EntitySummary.h
SummaryName.h
clang::ssaf::BuildNamespace
Represents a single namespace in the build process.
Definition
BuildNamespace.h:42
clang::ssaf::EntityIdTable
Manages entity name interning and provides efficient EntityId handles.
Definition
EntityIdTable.h:23
clang::ssaf::TUSummary::TUSummary
TUSummary(BuildNamespace TUNamespace)
Definition
TUSummary.h:36
clang::ssaf::TUSummary::TUSummaryBuilder
friend class TUSummaryBuilder
Definition
TUSummary.h:40
clang::ssaf::TUSummary::SerializationFormat
friend class SerializationFormat
Definition
TUSummary.h:38
clang::ssaf::TUSummary::TestFixture
friend class TestFixture
Definition
TUSummary.h:39
clang::ssaf
Definition
UnsafeBufferUsage.h:18
std
Definition
__clang_cuda_cmath.h:361
Generated on
for clang by
1.14.0