1//===-- SWIG Interface for SBTypeNameSpecifier---------------------------*- 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
10namespace lldb {
11
12    %feature("docstring",
13    "Represents a general way to provide a type name to LLDB APIs.
14    ") SBTypeNameSpecifier;
15
16    class SBTypeNameSpecifier
17    {
18    public:
19
20        SBTypeNameSpecifier();
21
22        SBTypeNameSpecifier (const char* name,
23                             bool is_regex = false);
24
25        SBTypeNameSpecifier (SBType type);
26
27        SBTypeNameSpecifier (const lldb::SBTypeNameSpecifier &rhs);
28
29        ~SBTypeNameSpecifier ();
30
31        bool
32        IsValid() const;
33
34        bool
35        IsEqualTo (lldb::SBTypeNameSpecifier &rhs);
36
37        const char*
38        GetName();
39
40        lldb::SBType
41        GetType ();
42
43        bool
44        IsRegex();
45
46        bool
47        GetDescription (lldb::SBStream &description,
48                        lldb::DescriptionLevel description_level);
49
50        bool
51        operator == (lldb::SBTypeNameSpecifier &rhs);
52
53        bool
54        operator != (lldb::SBTypeNameSpecifier &rhs);
55
56        %pythoncode %{
57            __swig_getmethods__["name"] = GetName
58            if _newclass: name = property(GetName, None)
59
60            __swig_getmethods__["is_regex"] = IsRegex
61            if _newclass: is_regex = property(IsRegex, None)
62        %}
63
64
65    };
66
67} // namespace lldb
68
69