1cffff26bSZachary Turner //===- DIALineNumber.cpp - DIA implementation of IPDBLineNumber -*- C++ -*-===// 2cffff26bSZachary Turner // 3*2946cd70SChandler Carruth // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4*2946cd70SChandler Carruth // See https://llvm.org/LICENSE.txt for license information. 5*2946cd70SChandler Carruth // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6cffff26bSZachary Turner // 7cffff26bSZachary Turner //===----------------------------------------------------------------------===// 8cffff26bSZachary Turner 9cffff26bSZachary Turner #include "llvm/DebugInfo/PDB/DIA/DIALineNumber.h" 10cffff26bSZachary Turner 11cffff26bSZachary Turner using namespace llvm; 12ec28fc34SZachary Turner using namespace llvm::pdb; 13cffff26bSZachary Turner DIALineNumber(CComPtr<IDiaLineNumber> DiaLineNumber)14cffff26bSZachary TurnerDIALineNumber::DIALineNumber(CComPtr<IDiaLineNumber> DiaLineNumber) 15cffff26bSZachary Turner : LineNumber(DiaLineNumber) {} 16cffff26bSZachary Turner getLineNumber() const17cffff26bSZachary Turneruint32_t DIALineNumber::getLineNumber() const { 18cffff26bSZachary Turner DWORD Line = 0; 19cffff26bSZachary Turner return (S_OK == LineNumber->get_lineNumber(&Line)) ? Line : 0; 20cffff26bSZachary Turner } 21cffff26bSZachary Turner getLineNumberEnd() const22cffff26bSZachary Turneruint32_t DIALineNumber::getLineNumberEnd() const { 23cffff26bSZachary Turner DWORD LineEnd = 0; 24cffff26bSZachary Turner return (S_OK == LineNumber->get_lineNumberEnd(&LineEnd)) ? LineEnd : 0; 25cffff26bSZachary Turner } 26cffff26bSZachary Turner getColumnNumber() const27cffff26bSZachary Turneruint32_t DIALineNumber::getColumnNumber() const { 28cffff26bSZachary Turner DWORD Column = 0; 29cffff26bSZachary Turner return (S_OK == LineNumber->get_columnNumber(&Column)) ? Column : 0; 30cffff26bSZachary Turner } 31cffff26bSZachary Turner getColumnNumberEnd() const32cffff26bSZachary Turneruint32_t DIALineNumber::getColumnNumberEnd() const { 33cffff26bSZachary Turner DWORD ColumnEnd = 0; 34cffff26bSZachary Turner return (S_OK == LineNumber->get_columnNumberEnd(&ColumnEnd)) ? ColumnEnd : 0; 35cffff26bSZachary Turner } 36cffff26bSZachary Turner getAddressSection() const37cffff26bSZachary Turneruint32_t DIALineNumber::getAddressSection() const { 38cffff26bSZachary Turner DWORD Section = 0; 39cffff26bSZachary Turner return (S_OK == LineNumber->get_addressSection(&Section)) ? Section : 0; 40cffff26bSZachary Turner } 41cffff26bSZachary Turner getAddressOffset() const42cffff26bSZachary Turneruint32_t DIALineNumber::getAddressOffset() const { 43cffff26bSZachary Turner DWORD Offset = 0; 44cffff26bSZachary Turner return (S_OK == LineNumber->get_addressOffset(&Offset)) ? Offset : 0; 45cffff26bSZachary Turner } 46cffff26bSZachary Turner getRelativeVirtualAddress() const47cffff26bSZachary Turneruint32_t DIALineNumber::getRelativeVirtualAddress() const { 48cffff26bSZachary Turner DWORD RVA = 0; 49cffff26bSZachary Turner return (S_OK == LineNumber->get_relativeVirtualAddress(&RVA)) ? RVA : 0; 50cffff26bSZachary Turner } 51cffff26bSZachary Turner getVirtualAddress() const52cffff26bSZachary Turneruint64_t DIALineNumber::getVirtualAddress() const { 53cffff26bSZachary Turner ULONGLONG Addr = 0; 54cffff26bSZachary Turner return (S_OK == LineNumber->get_virtualAddress(&Addr)) ? Addr : 0; 55cffff26bSZachary Turner } 56cffff26bSZachary Turner getLength() const57cffff26bSZachary Turneruint32_t DIALineNumber::getLength() const { 58cffff26bSZachary Turner DWORD Length = 0; 59cffff26bSZachary Turner return (S_OK == LineNumber->get_length(&Length)) ? Length : 0; 60cffff26bSZachary Turner } 61cffff26bSZachary Turner getSourceFileId() const62cffff26bSZachary Turneruint32_t DIALineNumber::getSourceFileId() const { 63cffff26bSZachary Turner DWORD Id = 0; 64cffff26bSZachary Turner return (S_OK == LineNumber->get_sourceFileId(&Id)) ? Id : 0; 65cffff26bSZachary Turner } 66cffff26bSZachary Turner getCompilandId() const67cffff26bSZachary Turneruint32_t DIALineNumber::getCompilandId() const { 68cffff26bSZachary Turner DWORD Id = 0; 69cffff26bSZachary Turner return (S_OK == LineNumber->get_compilandId(&Id)) ? Id : 0; 70cffff26bSZachary Turner } 71cffff26bSZachary Turner isStatement() const72cffff26bSZachary Turnerbool DIALineNumber::isStatement() const { 73cffff26bSZachary Turner BOOL Statement = 0; 74cffff26bSZachary Turner return (S_OK == LineNumber->get_statement(&Statement)) ? Statement : false; 75cffff26bSZachary Turner } 76