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