LLDB  mainline
NameMatches.cpp
Go to the documentation of this file.
1 //===-- NameMatches.cpp -----------------------------------------*- 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 //===----------------------------------------------------------------------===//
10 
11 #include "llvm/ADT/StringRef.h"
12 
13 using namespace lldb_private;
14 
15 bool lldb_private::NameMatches(llvm::StringRef name, NameMatch match_type,
16  llvm::StringRef match) {
17  switch (match_type) {
18  case NameMatch::Ignore:
19  return true;
20  case NameMatch::Equals:
21  return name == match;
23  return name.contains(match);
25  return name.startswith(match);
27  return name.endswith(match);
29  RegularExpression regex(match);
30  return regex.Execute(name);
31  }
32  }
33  return false;
34 }
bool NameMatches(llvm::StringRef name, NameMatch match_type, llvm::StringRef match)
Definition: NameMatches.cpp:15
Enumerations for broadcasting.
Definition: SBLaunchInfo.h:14
"lldb/Utility/RegularExpression.h" A C++ wrapper class for regex.
bool Execute(llvm::StringRef string, Match *match=nullptr) const
Executes a regular expression.