Path: blob/main/contrib/llvm-project/llvm/lib/DebugInfo/PDB/Native/NativeLineNumber.cpp
35293 views
//===- NativeLineNumber.cpp - Native line number implementation -*- C++ -*-===//1//2// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.3// See https://llvm.org/LICENSE.txt for license information.4// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception5//6//===----------------------------------------------------------------------===//78#include "llvm/DebugInfo/PDB/Native/NativeLineNumber.h"9#include "llvm/DebugInfo/PDB/Native/NativeSession.h"1011using namespace llvm;12using namespace llvm::pdb;1314NativeLineNumber::NativeLineNumber(const NativeSession &Session,15const codeview::LineInfo Line,16uint32_t ColumnNumber, uint32_t Section,17uint32_t Offset, uint32_t Length,18uint32_t SrcFileId, uint32_t CompilandId)19: Session(Session), Line(Line), ColumnNumber(ColumnNumber),20Section(Section), Offset(Offset), Length(Length), SrcFileId(SrcFileId),21CompilandId(CompilandId) {}2223uint32_t NativeLineNumber::getLineNumber() const { return Line.getStartLine(); }2425uint32_t NativeLineNumber::getLineNumberEnd() const {26return Line.getEndLine();27}2829uint32_t NativeLineNumber::getColumnNumber() const { return ColumnNumber; }3031uint32_t NativeLineNumber::getColumnNumberEnd() const { return 0; }3233uint32_t NativeLineNumber::getAddressSection() const { return Section; }3435uint32_t NativeLineNumber::getAddressOffset() const { return Offset; }3637uint32_t NativeLineNumber::getRelativeVirtualAddress() const {38return Session.getRVAFromSectOffset(Section, Offset);39}4041uint64_t NativeLineNumber::getVirtualAddress() const {42return Session.getVAFromSectOffset(Section, Offset);43}4445uint32_t NativeLineNumber::getLength() const { return Length; }4647uint32_t NativeLineNumber::getSourceFileId() const { return SrcFileId; }4849uint32_t NativeLineNumber::getCompilandId() const { return CompilandId; }5051bool NativeLineNumber::isStatement() const { return Line.isStatement(); }525354