|
|
|||
File indexing completed on 2026-05-10 08:43:45
0001 //===- IPDBInjectedSource.h - base class for PDB injected file --*- C++ -*-===// 0002 // 0003 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 0004 // See https://llvm.org/LICENSE.txt for license information. 0005 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 0006 // 0007 //===----------------------------------------------------------------------===// 0008 0009 #ifndef LLVM_DEBUGINFO_PDB_IPDBINJECTEDSOURCE_H 0010 #define LLVM_DEBUGINFO_PDB_IPDBINJECTEDSOURCE_H 0011 0012 #include <cstdint> 0013 #include <string> 0014 0015 namespace llvm { 0016 namespace pdb { 0017 /// IPDBInjectedSource defines an interface used to represent source files 0018 /// which were injected directly into the PDB file during the compilation 0019 /// process. This is used, for example, to add natvis files to a PDB, but 0020 /// in theory could be used to add arbitrary source code. 0021 class IPDBInjectedSource { 0022 public: 0023 virtual ~IPDBInjectedSource(); 0024 0025 virtual uint32_t getCrc32() const = 0; 0026 virtual uint64_t getCodeByteSize() const = 0; 0027 virtual std::string getFileName() const = 0; 0028 virtual std::string getObjectFileName() const = 0; 0029 virtual std::string getVirtualFileName() const = 0; 0030 // The returned value depends on the PDB producer, 0031 // but 0 is guaranteed to mean "no compression". 0032 // The enum PDB_SourceCompression lists known return values. 0033 virtual uint32_t getCompression() const = 0; 0034 virtual std::string getCode() const = 0; 0035 }; 0036 } // namespace pdb 0037 } // namespace llvm 0038 0039 #endif // LLVM_DEBUGINFO_PDB_IPDBINJECTEDSOURCE_H
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|