76 lines · cpp
1//===- DIALineNumber.cpp - DIA implementation of IPDBLineNumber -*- 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-exception6//7//===----------------------------------------------------------------------===//8 9#include "llvm/DebugInfo/PDB/DIA/DIALineNumber.h"10 11using namespace llvm;12using namespace llvm::pdb;13 14DIALineNumber::DIALineNumber(CComPtr<IDiaLineNumber> DiaLineNumber)15 : LineNumber(DiaLineNumber) {}16 17uint32_t DIALineNumber::getLineNumber() const {18 DWORD Line = 0;19 return (S_OK == LineNumber->get_lineNumber(&Line)) ? Line : 0;20}21 22uint32_t DIALineNumber::getLineNumberEnd() const {23 DWORD LineEnd = 0;24 return (S_OK == LineNumber->get_lineNumberEnd(&LineEnd)) ? LineEnd : 0;25}26 27uint32_t DIALineNumber::getColumnNumber() const {28 DWORD Column = 0;29 return (S_OK == LineNumber->get_columnNumber(&Column)) ? Column : 0;30}31 32uint32_t DIALineNumber::getColumnNumberEnd() const {33 DWORD ColumnEnd = 0;34 return (S_OK == LineNumber->get_columnNumberEnd(&ColumnEnd)) ? ColumnEnd : 0;35}36 37uint32_t DIALineNumber::getAddressSection() const {38 DWORD Section = 0;39 return (S_OK == LineNumber->get_addressSection(&Section)) ? Section : 0;40}41 42uint32_t DIALineNumber::getAddressOffset() const {43 DWORD Offset = 0;44 return (S_OK == LineNumber->get_addressOffset(&Offset)) ? Offset : 0;45}46 47uint32_t DIALineNumber::getRelativeVirtualAddress() const {48 DWORD RVA = 0;49 return (S_OK == LineNumber->get_relativeVirtualAddress(&RVA)) ? RVA : 0;50}51 52uint64_t DIALineNumber::getVirtualAddress() const {53 ULONGLONG Addr = 0;54 return (S_OK == LineNumber->get_virtualAddress(&Addr)) ? Addr : 0;55}56 57uint32_t DIALineNumber::getLength() const {58 DWORD Length = 0;59 return (S_OK == LineNumber->get_length(&Length)) ? Length : 0;60}61 62uint32_t DIALineNumber::getSourceFileId() const {63 DWORD Id = 0;64 return (S_OK == LineNumber->get_sourceFileId(&Id)) ? Id : 0;65}66 67uint32_t DIALineNumber::getCompilandId() const {68 DWORD Id = 0;69 return (S_OK == LineNumber->get_compilandId(&Id)) ? Id : 0;70}71 72bool DIALineNumber::isStatement() const {73 BOOL Statement = 0;74 return (S_OK == LineNumber->get_statement(&Statement)) ? Statement : false;75}76