Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/contrib/llvm-project/llvm/lib/DebugInfo/PDB/Native/NativeLineNumber.cpp
35293 views
1
//===- NativeLineNumber.cpp - Native line number implementation -*- 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-exception
6
//
7
//===----------------------------------------------------------------------===//
8
9
#include "llvm/DebugInfo/PDB/Native/NativeLineNumber.h"
10
#include "llvm/DebugInfo/PDB/Native/NativeSession.h"
11
12
using namespace llvm;
13
using namespace llvm::pdb;
14
15
NativeLineNumber::NativeLineNumber(const NativeSession &Session,
16
const codeview::LineInfo Line,
17
uint32_t ColumnNumber, uint32_t Section,
18
uint32_t Offset, uint32_t Length,
19
uint32_t SrcFileId, uint32_t CompilandId)
20
: Session(Session), Line(Line), ColumnNumber(ColumnNumber),
21
Section(Section), Offset(Offset), Length(Length), SrcFileId(SrcFileId),
22
CompilandId(CompilandId) {}
23
24
uint32_t NativeLineNumber::getLineNumber() const { return Line.getStartLine(); }
25
26
uint32_t NativeLineNumber::getLineNumberEnd() const {
27
return Line.getEndLine();
28
}
29
30
uint32_t NativeLineNumber::getColumnNumber() const { return ColumnNumber; }
31
32
uint32_t NativeLineNumber::getColumnNumberEnd() const { return 0; }
33
34
uint32_t NativeLineNumber::getAddressSection() const { return Section; }
35
36
uint32_t NativeLineNumber::getAddressOffset() const { return Offset; }
37
38
uint32_t NativeLineNumber::getRelativeVirtualAddress() const {
39
return Session.getRVAFromSectOffset(Section, Offset);
40
}
41
42
uint64_t NativeLineNumber::getVirtualAddress() const {
43
return Session.getVAFromSectOffset(Section, Offset);
44
}
45
46
uint32_t NativeLineNumber::getLength() const { return Length; }
47
48
uint32_t NativeLineNumber::getSourceFileId() const { return SrcFileId; }
49
50
uint32_t NativeLineNumber::getCompilandId() const { return CompilandId; }
51
52
bool NativeLineNumber::isStatement() const { return Line.isStatement(); }
53
54