1*80814287SRaphael Isemann //===-- NameMatches.cpp ---------------------------------------------------===// 25023257fSZachary Turner // 32946cd70SChandler Carruth // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 42946cd70SChandler Carruth // See https://llvm.org/LICENSE.txt for license information. 52946cd70SChandler Carruth // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 65023257fSZachary Turner // 75023257fSZachary Turner //===----------------------------------------------------------------------===// 85023257fSZachary Turner #include "lldb/Utility/NameMatches.h" 9bf9a7730SZachary Turner #include "lldb/Utility/RegularExpression.h" 105023257fSZachary Turner 115023257fSZachary Turner #include "llvm/ADT/StringRef.h" 125023257fSZachary Turner 135023257fSZachary Turner using namespace lldb_private; 145023257fSZachary Turner NameMatches(llvm::StringRef name,NameMatch match_type,llvm::StringRef match)15c4a33951SPavel Labathbool lldb_private::NameMatches(llvm::StringRef name, NameMatch match_type, 164aa8753cSZachary Turner llvm::StringRef match) { 17b9c1b51eSKate Stone switch (match_type) { 18c4a33951SPavel Labath case NameMatch::Ignore: 195023257fSZachary Turner return true; 20c4a33951SPavel Labath case NameMatch::Equals: 214aa8753cSZachary Turner return name == match; 22c4a33951SPavel Labath case NameMatch::Contains: 234aa8753cSZachary Turner return name.contains(match); 24c4a33951SPavel Labath case NameMatch::StartsWith: 254aa8753cSZachary Turner return name.startswith(match); 26c4a33951SPavel Labath case NameMatch::EndsWith: 274aa8753cSZachary Turner return name.endswith(match); 28c4a33951SPavel Labath case NameMatch::RegularExpression: { 294aa8753cSZachary Turner RegularExpression regex(match); 304aa8753cSZachary Turner return regex.Execute(name); 31c4a33951SPavel Labath } 325023257fSZachary Turner } 335023257fSZachary Turner return false; 345023257fSZachary Turner } 35