2
0

DIALineNumber.cpp 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. //===- DIALineNumber.cpp - DIA implementation of IPDBLineNumber -*- C++ -*-===//
  2. //
  3. // The LLVM Compiler Infrastructure
  4. //
  5. // This file is distributed under the University of Illinois Open Source
  6. // License. See LICENSE.TXT for details.
  7. //
  8. //===----------------------------------------------------------------------===//
  9. #include "llvm/DebugInfo/PDB/DIA/DIALineNumber.h"
  10. using namespace llvm;
  11. DIALineNumber::DIALineNumber(CComPtr<IDiaLineNumber> DiaLineNumber)
  12. : LineNumber(DiaLineNumber) {}
  13. uint32_t DIALineNumber::getLineNumber() const {
  14. DWORD Line = 0;
  15. return (S_OK == LineNumber->get_lineNumber(&Line)) ? Line : 0;
  16. }
  17. uint32_t DIALineNumber::getLineNumberEnd() const {
  18. DWORD LineEnd = 0;
  19. return (S_OK == LineNumber->get_lineNumberEnd(&LineEnd)) ? LineEnd : 0;
  20. }
  21. uint32_t DIALineNumber::getColumnNumber() const {
  22. DWORD Column = 0;
  23. return (S_OK == LineNumber->get_columnNumber(&Column)) ? Column : 0;
  24. }
  25. uint32_t DIALineNumber::getColumnNumberEnd() const {
  26. DWORD ColumnEnd = 0;
  27. return (S_OK == LineNumber->get_columnNumberEnd(&ColumnEnd)) ? ColumnEnd : 0;
  28. }
  29. uint32_t DIALineNumber::getAddressSection() const {
  30. DWORD Section = 0;
  31. return (S_OK == LineNumber->get_addressSection(&Section)) ? Section : 0;
  32. }
  33. uint32_t DIALineNumber::getAddressOffset() const {
  34. DWORD Offset = 0;
  35. return (S_OK == LineNumber->get_addressOffset(&Offset)) ? Offset : 0;
  36. }
  37. uint32_t DIALineNumber::getRelativeVirtualAddress() const {
  38. DWORD RVA = 0;
  39. return (S_OK == LineNumber->get_relativeVirtualAddress(&RVA)) ? RVA : 0;
  40. }
  41. uint64_t DIALineNumber::getVirtualAddress() const {
  42. ULONGLONG Addr = 0;
  43. return (S_OK == LineNumber->get_virtualAddress(&Addr)) ? Addr : 0;
  44. }
  45. uint32_t DIALineNumber::getLength() const {
  46. DWORD Length = 0;
  47. return (S_OK == LineNumber->get_length(&Length)) ? Length : 0;
  48. }
  49. uint32_t DIALineNumber::getSourceFileId() const {
  50. DWORD Id = 0;
  51. return (S_OK == LineNumber->get_sourceFileId(&Id)) ? Id : 0;
  52. }
  53. uint32_t DIALineNumber::getCompilandId() const {
  54. DWORD Id = 0;
  55. return (S_OK == LineNumber->get_compilandId(&Id)) ? Id : 0;
  56. }
  57. bool DIALineNumber::isStatement() const {
  58. BOOL Statement = 0;
  59. return (S_OK == LineNumber->get_statement(&Statement)) ? Statement : false;
  60. }