LLDB  mainline
NameMatches.cpp
Go to the documentation of this file.
1 //===-- NameMatches.cpp ---------------------------------------------------===//
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
A class that represents a running process on the host machine.
bool Execute(llvm::StringRef string, llvm::SmallVectorImpl< llvm::StringRef > *matches=nullptr) const
Execute a regular expression match using the compiled regular expression that is already in this obje...