LLVM: lib/DebugInfo/PDB/DIA/DIAInjectedSource.cpp Source File (original) (raw)

1

2

3

4

5

6

7

8

14

15using namespace llvm;

17

19 : SourceFile(DiaSourceFile) {}

20

22 DWORD Crc;

23 return (S_OK == SourceFile->get_crc(&Crc)) ? Crc : 0;

24}

25

27 ULONGLONG Size;

28 return (S_OK == SourceFile->get_length(&Size)) ? Size : 0;

29}

30

34

36 return invokeBstrMethod(*SourceFile, &IDiaInjectedSource::get_objectFilename);

37}

38

41 &IDiaInjectedSource::get_virtualFilename);

42}

43

45 DWORD Compression = 0;

46 if (S_OK != SourceFile->get_sourceCompression(&Compression))

48 return static_cast<uint32_t>(Compression);

49}

50

53 if (S_OK != SourceFile->get_source(0, &DataSize, nullptr))

54 return "";

55

56 std::vector<uint8_t> Buffer(DataSize);

57 if (S_OK != SourceFile->get_source(DataSize, &DataSize, Buffer.data()))

58 return "";

60 return std::string(reinterpret_cast<const char *>(Buffer.data()),

61 Buffer.size());

62}

assert(UImm &&(UImm !=~static_cast< T >(0)) &&"Invalid immediate!")

std::string invokeBstrMethod(Obj &Object, HRESULT(__stdcall Obj::*Func)(BSTR *))

std::string getVirtualFileName() const override

Definition DIAInjectedSource.cpp:39

uint32_t getCrc32() const override

Definition DIAInjectedSource.cpp:21

std::string getObjectFileName() const override

Definition DIAInjectedSource.cpp:35

std::string getCode() const override

Definition DIAInjectedSource.cpp:51

std::string getFileName() const override

Definition DIAInjectedSource.cpp:31

DIAInjectedSource(CComPtr< IDiaInjectedSource > DiaSourceFile)

Definition DIAInjectedSource.cpp:18

uint32_t getCompression() const override

Definition DIAInjectedSource.cpp:44

uint64_t getCodeByteSize() const override

Definition DIAInjectedSource.cpp:26

This is an optimization pass for GlobalISel generic memory operations.

FunctionAddr VTableAddr uintptr_t uintptr_t DataSize