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/SummaryName.h
"
16
#include "
clang/Analysis/Scalable/TUSummary/EntitySummary.h
"
17
#include <map>
18
#include <memory>
19
20
namespace
clang::ssaf
{
21
22
/// Data extracted for a given translation unit and for a given set of analyses.
23
class
TUSummary
{
24
/// Identifies the translation unit.
25
BuildNamespace
TUNamespace;
26
EntityIdTable
IdTable;
27
28
std::map<SummaryName, std::map<EntityId, std::unique_ptr<EntitySummary>>>
29
Data;
30
31
public
:
32
TUSummary
(
BuildNamespace
TUNamespace) : TUNamespace(
std
::move(TUNamespace)) {}
33
};
34
35
}
// namespace clang::ssaf
36
37
#endif
// LLVM_CLANG_ANALYSIS_SCALABLE_TUSUMMARY_TUSUMMARY_H
BuildNamespace.h
EntityIdTable.h
EntityId.h
EntitySummary.h
SummaryName.h
clang::ssaf::BuildNamespace
Represents a single namespace in the build process.
Definition
BuildNamespace.h:45
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:32
clang::ssaf
Definition
ASTEntityMapping.h:17
std
Definition
__clang_cuda_cmath.h:361
Generated on
for clang by
1.14.0