1 //===- IPDBLineNumber.h - base interface for PDB line no. info ---*- 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 
10 #ifndef LLVM_DEBUGINFO_PDB_IPDBLINENUMBER_H
11 #define LLVM_DEBUGINFO_PDB_IPDBLINENUMBER_H
12 
13 #include "PDBTypes.h"
14 
15 namespace llvm {
16 
17 class IPDBLineNumber {
18 public:
19   virtual ~IPDBLineNumber();
20 
21   virtual uint32_t getLineNumber() const = 0;
22   virtual uint32_t getLineNumberEnd() const = 0;
23   virtual uint32_t getColumnNumber() const = 0;
24   virtual uint32_t getColumnNumberEnd() const = 0;
25   virtual uint32_t getAddressSection() const = 0;
26   virtual uint32_t getAddressOffset() const = 0;
27   virtual uint32_t getRelativeVirtualAddress() const = 0;
28   virtual uint64_t getVirtualAddress() const = 0;
29   virtual uint32_t getLength() const = 0;
30   virtual uint32_t getSourceFileId() const = 0;
31   virtual uint32_t getCompilandId() const = 0;
32   virtual bool isStatement() const = 0;
33 };
34 }
35 
36 #endif
37