SBLineEntry.h revision 24943d2ee8bfaa7cf5893e4709143924157a5c1e
124943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner//===-- SBLineEntry.h -------------------------------------------*- C++ -*-===// 224943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner// 324943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner// The LLVM Compiler Infrastructure 424943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner// 524943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner// This file is distributed under the University of Illinois Open Source 624943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner// License. See LICENSE.TXT for details. 724943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner// 824943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner//===----------------------------------------------------------------------===// 924943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 1024943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner#ifndef LLDB_SBLineEntry_h_ 1124943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner#define LLDB_SBLineEntry_h_ 1224943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 1324943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner#include <LLDB/SBDefines.h> 1424943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner#include <LLDB/SBAddress.h> 1524943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner#include <LLDB/SBFileSpec.h> 1624943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 1724943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattnernamespace lldb { 1824943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 1924943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattnerclass SBLineEntry 2024943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner{ 2124943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattnerpublic: 2224943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 2324943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner SBLineEntry (); 2424943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 2524943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner SBLineEntry (const lldb::SBLineEntry &rhs); 2624943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 2724943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner ~SBLineEntry (); 2824943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 2924943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner#ifndef SWIG 3024943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner const lldb::SBLineEntry & 3124943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner operator = (const lldb::SBLineEntry &rhs); 3224943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner#endif 3324943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 3424943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner lldb::SBAddress 3524943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner GetStartAddress () const; 3624943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 3724943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner lldb::SBAddress 3824943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner GetEndAddress () const; 3924943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 4024943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner bool 4124943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner IsValid () const; 4224943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 4324943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner lldb::SBFileSpec 4424943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner GetFileSpec () const; 4524943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 4624943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner uint32_t 4724943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner GetLine () const; 4824943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 4924943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner uint32_t 5024943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner GetColumn () const; 5124943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 5224943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner#ifndef SWIG 5324943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner bool 5424943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner operator == (const lldb::SBLineEntry &rhs) const; 5524943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 5624943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner bool 5724943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner operator != (const lldb::SBLineEntry &rhs) const; 5824943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 5924943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner#endif 6024943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 6124943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattnerprivate: 6224943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner friend class SBCompileUnit; 6324943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner friend class SBFrame; 6424943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner friend class SBSymbolContext; 6524943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 6624943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner#ifndef SWIG 6724943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 6824943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner const lldb_private::LineEntry * 6924943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner operator->() const; 7024943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 7124943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner const lldb_private::LineEntry & 7224943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner operator*() const; 7324943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 7424943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner#endif 7524943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 7624943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 7724943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner SBLineEntry (const lldb_private::LineEntry *lldb_object_ptr); 7824943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 7924943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner void 8024943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner SetLineEntry (const lldb_private::LineEntry &lldb_object_ref); 8124943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 8224943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner std::auto_ptr<lldb_private::LineEntry> m_lldb_object_ap; 8324943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner}; 8424943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 8524943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 8624943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner} // namespace lldb 8724943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 8824943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner#endif // LLDB_SBLineEntry_h_ 89