1 //===-- SWIG Interface for SBTypeNameSpecifier---------------------------*- C++ -*-===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
9 namespace lldb {
10 
11     %feature("docstring",
12     "Represents a general way to provide a type name to LLDB APIs.") SBTypeNameSpecifier;
13 
14     class SBTypeNameSpecifier
15     {
16     public:
17 
18         SBTypeNameSpecifier();
19 
20         SBTypeNameSpecifier (const char* name,
21                              bool is_regex = false);
22 
23         SBTypeNameSpecifier (SBType type);
24 
25         SBTypeNameSpecifier (const lldb::SBTypeNameSpecifier &rhs);
26 
27         ~SBTypeNameSpecifier ();
28 
29         bool
30         IsValid() const;
31 
32         explicit operator bool() 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         STRING_EXTENSION_LEVEL(SBTypeNameSpecifier, lldb::eDescriptionLevelBrief)
57 
58 #ifdef SWIGPYTHON
59         %pythoncode %{
60             name = property(GetName)
61             is_regex = property(IsRegex)
62         %}
63 #endif
64 
65 
66     };
67 
68 } // namespace lldb
69 
70