1 //===-- NameMatches.cpp ---------------------------------------------------===//
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
7 //===----------------------------------------------------------------------===//
8 #include "lldb/Utility/NameMatches.h"
9 #include "lldb/Utility/RegularExpression.h"
11 #include "llvm/ADT/StringRef.h"
13 using namespace lldb_private
;
15 bool lldb_private::NameMatches(llvm::StringRef name
, NameMatch match_type
,
16 llvm::StringRef match
) {
18 case NameMatch::Ignore
:
20 case NameMatch::Equals
:
22 case NameMatch::Contains
:
23 return name
.contains(match
);
24 case NameMatch::StartsWith
:
25 return name
.starts_with(match
);
26 case NameMatch::EndsWith
:
27 return name
.ends_with(match
);
28 case NameMatch::RegularExpression
: {
29 RegularExpression
regex(match
);
30 return regex
.Execute(name
);