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