149306144bb37f0b3423d992f17cdcc24703374b4Enrico Granata//===-- SWIG Interface for SBDeclaration --------------------------*- C++ -*-===//
249306144bb37f0b3423d992f17cdcc24703374b4Enrico Granata//
349306144bb37f0b3423d992f17cdcc24703374b4Enrico Granata//                     The LLVM Compiler Infrastructure
449306144bb37f0b3423d992f17cdcc24703374b4Enrico Granata//
549306144bb37f0b3423d992f17cdcc24703374b4Enrico Granata// This file is distributed under the University of Illinois Open Source
649306144bb37f0b3423d992f17cdcc24703374b4Enrico Granata// License. See LICENSE.TXT for details.
749306144bb37f0b3423d992f17cdcc24703374b4Enrico Granata//
849306144bb37f0b3423d992f17cdcc24703374b4Enrico Granata//===----------------------------------------------------------------------===//
949306144bb37f0b3423d992f17cdcc24703374b4Enrico Granata
1049306144bb37f0b3423d992f17cdcc24703374b4Enrico Granatanamespace lldb {
1149306144bb37f0b3423d992f17cdcc24703374b4Enrico Granata
1249306144bb37f0b3423d992f17cdcc24703374b4Enrico Granata    %feature("docstring",
1349306144bb37f0b3423d992f17cdcc24703374b4Enrico Granata    "Specifies an association with a line and column for a variable."
1449306144bb37f0b3423d992f17cdcc24703374b4Enrico Granata    ) SBDeclaration;
1549306144bb37f0b3423d992f17cdcc24703374b4Enrico Granata    class SBDeclaration
1649306144bb37f0b3423d992f17cdcc24703374b4Enrico Granata    {
1749306144bb37f0b3423d992f17cdcc24703374b4Enrico Granata        public:
1849306144bb37f0b3423d992f17cdcc24703374b4Enrico Granata
1949306144bb37f0b3423d992f17cdcc24703374b4Enrico Granata        SBDeclaration ();
2049306144bb37f0b3423d992f17cdcc24703374b4Enrico Granata
2149306144bb37f0b3423d992f17cdcc24703374b4Enrico Granata        SBDeclaration (const lldb::SBDeclaration &rhs);
2249306144bb37f0b3423d992f17cdcc24703374b4Enrico Granata
2349306144bb37f0b3423d992f17cdcc24703374b4Enrico Granata        ~SBDeclaration ();
2449306144bb37f0b3423d992f17cdcc24703374b4Enrico Granata
2549306144bb37f0b3423d992f17cdcc24703374b4Enrico Granata        bool
2649306144bb37f0b3423d992f17cdcc24703374b4Enrico Granata        IsValid () const;
2749306144bb37f0b3423d992f17cdcc24703374b4Enrico Granata
2849306144bb37f0b3423d992f17cdcc24703374b4Enrico Granata        lldb::SBFileSpec
2949306144bb37f0b3423d992f17cdcc24703374b4Enrico Granata        GetFileSpec () const;
3049306144bb37f0b3423d992f17cdcc24703374b4Enrico Granata
3149306144bb37f0b3423d992f17cdcc24703374b4Enrico Granata        uint32_t
3249306144bb37f0b3423d992f17cdcc24703374b4Enrico Granata        GetLine () const;
3349306144bb37f0b3423d992f17cdcc24703374b4Enrico Granata
3449306144bb37f0b3423d992f17cdcc24703374b4Enrico Granata        uint32_t
3549306144bb37f0b3423d992f17cdcc24703374b4Enrico Granata        GetColumn () const;
3649306144bb37f0b3423d992f17cdcc24703374b4Enrico Granata
3749306144bb37f0b3423d992f17cdcc24703374b4Enrico Granata        bool
3849306144bb37f0b3423d992f17cdcc24703374b4Enrico Granata        GetDescription (lldb::SBStream &description);
3949306144bb37f0b3423d992f17cdcc24703374b4Enrico Granata
4049306144bb37f0b3423d992f17cdcc24703374b4Enrico Granata        void
4149306144bb37f0b3423d992f17cdcc24703374b4Enrico Granata        SetFileSpec (lldb::SBFileSpec filespec);
4249306144bb37f0b3423d992f17cdcc24703374b4Enrico Granata
4349306144bb37f0b3423d992f17cdcc24703374b4Enrico Granata        void
4449306144bb37f0b3423d992f17cdcc24703374b4Enrico Granata        SetLine (uint32_t line);
4549306144bb37f0b3423d992f17cdcc24703374b4Enrico Granata
4649306144bb37f0b3423d992f17cdcc24703374b4Enrico Granata        void
4749306144bb37f0b3423d992f17cdcc24703374b4Enrico Granata        SetColumn (uint32_t column);
4849306144bb37f0b3423d992f17cdcc24703374b4Enrico Granata
490765e3274aab0551fea7678bee565c7d68e0b786Enrico Granata        bool
500765e3274aab0551fea7678bee565c7d68e0b786Enrico Granata        operator == (const lldb::SBDeclaration &rhs) const;
510765e3274aab0551fea7678bee565c7d68e0b786Enrico Granata
520765e3274aab0551fea7678bee565c7d68e0b786Enrico Granata        bool
530765e3274aab0551fea7678bee565c7d68e0b786Enrico Granata        operator != (const lldb::SBDeclaration &rhs) const;
540765e3274aab0551fea7678bee565c7d68e0b786Enrico Granata
5549306144bb37f0b3423d992f17cdcc24703374b4Enrico Granata        %pythoncode %{
5649306144bb37f0b3423d992f17cdcc24703374b4Enrico Granata            __swig_getmethods__["file"] = GetFileSpec
5749306144bb37f0b3423d992f17cdcc24703374b4Enrico Granata            if _newclass: file = property(GetFileSpec, None, doc='''A read only property that returns an lldb object that represents the file (lldb.SBFileSpec) for this line entry.''')
5849306144bb37f0b3423d992f17cdcc24703374b4Enrico Granata
5949306144bb37f0b3423d992f17cdcc24703374b4Enrico Granata            __swig_getmethods__["line"] = GetLine
6049306144bb37f0b3423d992f17cdcc24703374b4Enrico Granata            if _newclass: ling = property(GetLine, None, doc='''A read only property that returns the 1 based line number for this line entry, a return value of zero indicates that no line information is available.''')
6149306144bb37f0b3423d992f17cdcc24703374b4Enrico Granata
6249306144bb37f0b3423d992f17cdcc24703374b4Enrico Granata            __swig_getmethods__["column"] = GetColumn
6349306144bb37f0b3423d992f17cdcc24703374b4Enrico Granata            if _newclass: column = property(GetColumn, None, doc='''A read only property that returns the 1 based column number for this line entry, a return value of zero indicates that no column information is available.''')
6449306144bb37f0b3423d992f17cdcc24703374b4Enrico Granata            %}
6549306144bb37f0b3423d992f17cdcc24703374b4Enrico Granata
6649306144bb37f0b3423d992f17cdcc24703374b4Enrico Granata    };
6749306144bb37f0b3423d992f17cdcc24703374b4Enrico Granata
6849306144bb37f0b3423d992f17cdcc24703374b4Enrico Granata} // namespace lldb
69