Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-05-10 08:42:42

0001 //===-- SBLineEntry.h -------------------------------------------*- C++ -*-===//
0002 //
0003 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
0004 // See https://llvm.org/LICENSE.txt for license information.
0005 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
0006 //
0007 //===----------------------------------------------------------------------===//
0008 
0009 #ifndef LLDB_API_SBLINEENTRY_H
0010 #define LLDB_API_SBLINEENTRY_H
0011 
0012 #include "lldb/API/SBAddress.h"
0013 #include "lldb/API/SBDefines.h"
0014 #include "lldb/API/SBFileSpec.h"
0015 
0016 namespace lldb {
0017 
0018 class LLDB_API SBLineEntry {
0019 public:
0020   SBLineEntry();
0021 
0022   SBLineEntry(const lldb::SBLineEntry &rhs);
0023 
0024   ~SBLineEntry();
0025 
0026   const lldb::SBLineEntry &operator=(const lldb::SBLineEntry &rhs);
0027 
0028   lldb::SBAddress GetStartAddress() const;
0029 
0030   lldb::SBAddress GetEndAddress() const;
0031 
0032   lldb::SBAddress
0033   GetSameLineContiguousAddressRangeEnd(bool include_inlined_functions) const;
0034 
0035   explicit operator bool() const;
0036 
0037   bool IsValid() const;
0038 
0039   lldb::SBFileSpec GetFileSpec() const;
0040 
0041   uint32_t GetLine() const;
0042 
0043   uint32_t GetColumn() const;
0044 
0045   void SetFileSpec(lldb::SBFileSpec filespec);
0046 
0047   void SetLine(uint32_t line);
0048 
0049   void SetColumn(uint32_t column);
0050 
0051   bool operator==(const lldb::SBLineEntry &rhs) const;
0052 
0053   bool operator!=(const lldb::SBLineEntry &rhs) const;
0054 
0055   bool GetDescription(lldb::SBStream &description);
0056 
0057 protected:
0058   lldb_private::LineEntry *get();
0059 
0060 private:
0061   friend class SBAddress;
0062   friend class SBCompileUnit;
0063   friend class SBFrame;
0064   friend class SBSymbolContext;
0065 
0066   const lldb_private::LineEntry *operator->() const;
0067 
0068   lldb_private::LineEntry &ref();
0069 
0070   const lldb_private::LineEntry &ref() const;
0071 
0072   SBLineEntry(const lldb_private::LineEntry *lldb_object_ptr);
0073 
0074   void SetLineEntry(const lldb_private::LineEntry &lldb_object_ref);
0075 
0076   std::unique_ptr<lldb_private::LineEntry> m_opaque_up;
0077 };
0078 
0079 } // namespace lldb
0080 
0081 #endif // LLDB_API_SBLINEENTRY_H