]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/llvm-project/lldb/bindings/interface/SBTypeNameSpecifier.i
Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp
[FreeBSD/FreeBSD.git] / contrib / llvm-project / lldb / bindings / interface / SBTypeNameSpecifier.i
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