xref: /openbsd-src/gnu/llvm/lldb/bindings/interface/SBTypeNameSpecifier.i (revision f6aab3d83b51b91c24247ad2c2573574de475a82)
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 (const char* name,
24                              lldb::FormatterMatchType match_type);
25 
26         SBTypeNameSpecifier (SBType type);
27 
28         SBTypeNameSpecifier (const lldb::SBTypeNameSpecifier &rhs);
29 
30         ~SBTypeNameSpecifier ();
31 
32         bool
33         IsValid() const;
34 
35         explicit operator bool() const;
36 
37         bool
38         IsEqualTo (lldb::SBTypeNameSpecifier &rhs);
39 
40         const char*
41         GetName();
42 
43         lldb::SBType
44         GetType ();
45 
46         lldb::FormatterMatchType
47         GetMatchType();
48 
49         bool
50         IsRegex();
51 
52         bool
53         GetDescription (lldb::SBStream &description,
54                         lldb::DescriptionLevel description_level);
55 
56         bool
57         operator == (lldb::SBTypeNameSpecifier &rhs);
58 
59         bool
60         operator != (lldb::SBTypeNameSpecifier &rhs);
61 
62         STRING_EXTENSION_LEVEL(SBTypeNameSpecifier, lldb::eDescriptionLevelBrief)
63 
64 #ifdef SWIGPYTHON
65         %pythoncode %{
66             name = property(GetName)
67             is_regex = property(IsRegex)
68         %}
69 #endif
70 
71 
72     };
73 
74 } // namespace lldb
75 
76