clang 20.0.0git
PartialTranslationUnit.h
Go to the documentation of this file.
1//===--- Transaction.h - Incremental Compilation and Execution---*- 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// This file defines utilities tracking the incrementally processed pieces of
10// code.
11//
12//===----------------------------------------------------------------------===//
13
14#ifndef LLVM_CLANG_INTERPRETER_PARTIALTRANSLATIONUNIT_H
15#define LLVM_CLANG_INTERPRETER_PARTIALTRANSLATIONUNIT_H
16
17#include <memory>
18
19namespace llvm {
20class Module;
21}
22
23namespace clang {
24
25class TranslationUnitDecl;
26
27/// The class keeps track of various objects created as part of processing
28/// incremental inputs.
31
32 /// The llvm IR produced for the input.
33 std::unique_ptr<llvm::Module> TheModule;
35 return other.TUPart == TUPart && other.TheModule == TheModule;
36 }
37};
38} // namespace clang
39
40#endif // LLVM_CLANG_INTERPRETER_PARTIALTRANSLATIONUNIT_H
The top declaration context.
Definition: Decl.h:84
The JSON file list parser is used to communicate input to InstallAPI.
@ Module
Module linkage, which indicates that the entity can be referred to from other translation units withi...
Diagnostic wrappers for TextAPI types for error reporting.
Definition: Dominators.h:30
The class keeps track of various objects created as part of processing incremental inputs.
bool operator==(const PartialTranslationUnit &other)
std::unique_ptr< llvm::Module > TheModule
The llvm IR produced for the input.