From 5023257f2359d16357721635a22db8ecd7213343 Mon Sep 17 00:00:00 2001 From: Zachary Turner Date: Wed, 18 Mar 2015 21:31:45 +0000 Subject: [PATCH] Move some functions from source/lldb.cpp to Utility. Specifically, there were some functions for converting enums to strings and a function for matching a string using a specific matching algorithm. This moves those functions to more appropriate headers in lldb/Utility and updates references to include the new headers. llvm-svn: 232673 --- lldb/include/lldb/Utility/ConvertEnum.h | 22 +++++++ lldb/include/lldb/Utility/NameMatches.h | 19 ++++++ lldb/include/lldb/lldb-private.h | 9 --- lldb/lldb.xcodeproj/project.pbxproj | 12 ++++ lldb/source/Core/ArchSpec.cpp | 4 +- lldb/source/Core/Log.cpp | 1 + lldb/source/Core/Section.cpp | 1 + lldb/source/Host/macosx/Host.mm | 1 + lldb/source/Target/Process.cpp | 1 + lldb/source/Target/ThreadList.cpp | 1 + lldb/source/Target/ThreadPlan.cpp | 1 + lldb/source/Utility/CMakeLists.txt | 2 + lldb/source/Utility/ConvertEnum.cpp | 110 ++++++++++++++++++++++++++++++++ lldb/source/Utility/NameMatches.cpp | 50 +++++++++++++++ lldb/source/lldb.cpp | 94 --------------------------- 15 files changed, 224 insertions(+), 104 deletions(-) create mode 100644 lldb/include/lldb/Utility/ConvertEnum.h create mode 100644 lldb/include/lldb/Utility/NameMatches.h create mode 100644 lldb/source/Utility/ConvertEnum.cpp create mode 100644 lldb/source/Utility/NameMatches.cpp diff --git a/lldb/include/lldb/Utility/ConvertEnum.h b/lldb/include/lldb/Utility/ConvertEnum.h new file mode 100644 index 0000000..6d37484 --- /dev/null +++ b/lldb/include/lldb/Utility/ConvertEnum.h @@ -0,0 +1,22 @@ +//===-- ConvertEnum.h -------------------------------------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// +#ifndef LLDB_UTILITY_CONVERTENUM_H +#define LLDB_UTILITY_CONVERTENUM_H + +#include "lldb/lldb-enumerations.h" +#include "lldb/lldb-private-enumerations.h" + +namespace lldb_private +{ + +const char *GetVoteAsCString(Vote vote); +const char *GetSectionTypeAsCString(lldb::SectionType sect_type); +} + +#endif diff --git a/lldb/include/lldb/Utility/NameMatches.h b/lldb/include/lldb/Utility/NameMatches.h new file mode 100644 index 0000000..5fe6565 --- /dev/null +++ b/lldb/include/lldb/Utility/NameMatches.h @@ -0,0 +1,19 @@ +//===-- NameMatches.h -------------------------------------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// +#ifndef LLDB_UTILITY_NAMEMATCHES_H +#define LLDB_UTILITY_NAMEMATCHES_H + +#include "lldb/lldb-private-enumerations.h" + +namespace lldb_private +{ +bool NameMatches(const char *name, NameMatchType match_type, const char *match); +} + +#endif diff --git a/lldb/include/lldb/lldb-private.h b/lldb/include/lldb/lldb-private.h index 930683a..a65c6ce 100644 --- a/lldb/include/lldb/lldb-private.h +++ b/lldb/include/lldb/lldb-private.h @@ -94,15 +94,6 @@ TerminateLLGS(); const char * GetVersion (); -const char * -GetVoteAsCString (Vote vote); - -const char * -GetSectionTypeAsCString (lldb::SectionType sect_type); - -bool -NameMatches (const char *name, NameMatchType match_type, const char *match); - } // namespace lldb_private diff --git a/lldb/lldb.xcodeproj/project.pbxproj b/lldb/lldb.xcodeproj/project.pbxproj index ed1d80f..5a872d2 100644 --- a/lldb/lldb.xcodeproj/project.pbxproj +++ b/lldb/lldb.xcodeproj/project.pbxproj @@ -684,6 +684,8 @@ 33E5E8461A6736D30024ED68 /* StringConvert.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 33E5E8451A6736D30024ED68 /* StringConvert.h */; }; 33E5E8471A674FB60024ED68 /* StringConvert.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 33E5E8411A672A240024ED68 /* StringConvert.cpp */; }; 3F8160A61AB9F7DD001DA9DF /* Logging.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3F8160A51AB9F7DD001DA9DF /* Logging.cpp */; }; + 3F8169191ABA2419001DA9DF /* ConvertEnum.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3F8169171ABA2419001DA9DF /* ConvertEnum.cpp */; }; + 3F81691A1ABA2419001DA9DF /* NameMatches.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3F8169181ABA2419001DA9DF /* NameMatches.cpp */; }; 3FDFDDBD199C3A06009756A7 /* FileAction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3FDFDDBC199C3A06009756A7 /* FileAction.cpp */; }; 3FDFDDBF199D345E009756A7 /* FileCache.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3FDFDDBE199D345E009756A7 /* FileCache.cpp */; }; 3FDFDDC6199D37ED009756A7 /* FileSystem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3FDFDDC5199D37ED009756A7 /* FileSystem.cpp */; }; @@ -2159,6 +2161,10 @@ 3F5E8AF31A40D4A500A73232 /* PipeBase.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PipeBase.h; path = include/lldb/Host/PipeBase.h; sourceTree = ""; }; 3F8160A51AB9F7DD001DA9DF /* Logging.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Logging.cpp; path = source/Core/Logging.cpp; sourceTree = ""; }; 3F8160A71AB9F809001DA9DF /* Logging.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Logging.h; path = include/lldb/Core/Logging.h; sourceTree = ""; }; + 3F8169171ABA2419001DA9DF /* ConvertEnum.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ConvertEnum.cpp; path = source/Utility/ConvertEnum.cpp; sourceTree = ""; }; + 3F8169181ABA2419001DA9DF /* NameMatches.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NameMatches.cpp; path = source/Utility/NameMatches.cpp; sourceTree = ""; }; + 3F81691B1ABA242B001DA9DF /* ConvertEnum.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ConvertEnum.h; path = include/lldb/Utility/ConvertEnum.h; sourceTree = ""; }; + 3F81691C1ABA242B001DA9DF /* NameMatches.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = NameMatches.h; path = include/lldb/Utility/NameMatches.h; sourceTree = ""; }; 3FDFD6C3199C396E009756A7 /* FileAction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FileAction.h; path = include/lldb/Target/FileAction.h; sourceTree = ""; }; 3FDFDDBC199C3A06009756A7 /* FileAction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = FileAction.cpp; path = source/Target/FileAction.cpp; sourceTree = ""; }; 3FDFDDBE199D345E009756A7 /* FileCache.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = FileCache.cpp; path = source/Host/common/FileCache.cpp; sourceTree = ""; }; @@ -3466,6 +3472,8 @@ 264A12FE137252C700875C42 /* ARM64_DWARF_Registers.cpp */, 26F996A8119B79C300412154 /* ARM_GCC_Registers.h */, 264723A511FA076E00DE380C /* CleanUp.h */, + 3F81691B1ABA242B001DA9DF /* ConvertEnum.h */, + 3F8169171ABA2419001DA9DF /* ConvertEnum.cpp */, 4C73152119B7D71700F865A4 /* Iterable.h */, 942829541A89614000521B30 /* JSON.h */, 942829551A89614C00521B30 /* JSON.cpp */, @@ -3473,6 +3481,8 @@ 943BDEFD1AA7B2F800789CE8 /* LLDBAssert.cpp */, 26D1804416CEE12500EDFB5B /* KQueue.h */, 26D1803C16CEBFD300EDFB5B /* KQueue.cpp */, + 3F81691C1ABA242B001DA9DF /* NameMatches.h */, + 3F8169181ABA2419001DA9DF /* NameMatches.cpp */, 94031A9F13CF5B3D00DCFF3C /* PriorityPointerPair.h */, 94F6C4D119C264C70049D089 /* ProcessStructReader.h */, 2682F16B115EDA0D00CCFF99 /* PseudoTerminal.h */, @@ -5942,6 +5952,7 @@ 2689004C13353E0400698AC0 /* SourceManager.cpp in Sources */, 2689004D13353E0400698AC0 /* State.cpp in Sources */, 94D0B10D16D5535900EA9C70 /* LibStdcpp.cpp in Sources */, + 3F81691A1ABA2419001DA9DF /* NameMatches.cpp in Sources */, AF0E22F018A09FB20009B7D1 /* AppleGetItemInfoHandler.cpp in Sources */, 2689004E13353E0400698AC0 /* Stream.cpp in Sources */, 9439FB1A19EF140C006FD6A4 /* NSIndexPath.cpp in Sources */, @@ -6120,6 +6131,7 @@ 268900EF13353E6F00698AC0 /* Platform.cpp in Sources */, 268900F013353E6F00698AC0 /* Process.cpp in Sources */, 26BC17AD18C7F4CB00D2196D /* RegisterContextPOSIXCore_mips64.cpp in Sources */, + 3F8169191ABA2419001DA9DF /* ConvertEnum.cpp in Sources */, 268900F113353E6F00698AC0 /* RegisterContext.cpp in Sources */, 6D55BAED1A8CD0A800A70529 /* PlatformAndroid.cpp in Sources */, 268900F213353E6F00698AC0 /* SectionLoadList.cpp in Sources */, diff --git a/lldb/source/Core/ArchSpec.cpp b/lldb/source/Core/ArchSpec.cpp index 8c12d5b..be3f84b 100644 --- a/lldb/source/Core/ArchSpec.cpp +++ b/lldb/source/Core/ArchSpec.cpp @@ -18,7 +18,7 @@ #include "llvm/Support/COFF.h" #include "llvm/Support/ELF.h" #include "llvm/Support/Host.h" -#include "lldb/Utility/SafeMachO.h" + #include "lldb/Core/RegularExpression.h" #include "lldb/Core/StringList.h" #include "lldb/Host/Endian.h" @@ -27,6 +27,8 @@ #include "lldb/Target/Process.h" #include "lldb/Target/RegisterContext.h" #include "lldb/Target/Thread.h" +#include "lldb/Utility/NameMatches.h" +#include "lldb/Utility/SafeMachO.h" #include "Plugins/Process/Utility/ARMDefines.h" #include "Plugins/Process/Utility/InstructionUtils.h" diff --git a/lldb/source/Core/Log.cpp b/lldb/source/Core/Log.cpp index 2ac5384..57b888a 100644 --- a/lldb/source/Core/Log.cpp +++ b/lldb/source/Core/Log.cpp @@ -27,6 +27,7 @@ #include "lldb/Host/ThisThread.h" #include "lldb/Host/TimeValue.h" #include "lldb/Interpreter/Args.h" +#include "lldb/Utility/NameMatches.h" #include "llvm/ADT/SmallString.h" #include "llvm/Support/raw_ostream.h" diff --git a/lldb/source/Core/Section.cpp b/lldb/source/Core/Section.cpp index ea33a62..9a3f220 100644 --- a/lldb/source/Core/Section.cpp +++ b/lldb/source/Core/Section.cpp @@ -12,6 +12,7 @@ #include "lldb/Symbol/ObjectFile.h" #include "lldb/Target/SectionLoadList.h" #include "lldb/Target/Target.h" +#include "lldb/Utility/ConvertEnum.h" #include diff --git a/lldb/source/Host/macosx/Host.mm b/lldb/source/Host/macosx/Host.mm index 3eb5a0e..86f9d71 100644 --- a/lldb/source/Host/macosx/Host.mm +++ b/lldb/source/Host/macosx/Host.mm @@ -55,6 +55,7 @@ #include "lldb/Target/Platform.h" #include "lldb/Target/Process.h" #include "lldb/Utility/CleanUp.h" +#include "lldb/Utility/NameMatches.h" #include "cfcpp/CFCBundle.h" #include "cfcpp/CFCMutableArray.h" diff --git a/lldb/source/Target/Process.cpp b/lldb/source/Target/Process.cpp index 9cade96..b1aad10 100644 --- a/lldb/source/Target/Process.cpp +++ b/lldb/source/Target/Process.cpp @@ -51,6 +51,7 @@ #include "lldb/Target/ThreadPlan.h" #include "lldb/Target/ThreadPlanBase.h" #include "lldb/Target/UnixSignals.h" +#include "lldb/Utility/NameMatches.h" #include "Plugins/Process/Utility/InferiorCallPOSIX.h" using namespace lldb; diff --git a/lldb/source/Target/ThreadList.cpp b/lldb/source/Target/ThreadList.cpp index db4407b..b175859 100644 --- a/lldb/source/Target/ThreadList.cpp +++ b/lldb/source/Target/ThreadList.cpp @@ -17,6 +17,7 @@ #include "lldb/Target/Thread.h" #include "lldb/Target/ThreadPlan.h" #include "lldb/Target/Process.h" +#include "lldb/Utility/ConvertEnum.h" using namespace lldb; using namespace lldb_private; diff --git a/lldb/source/Target/ThreadPlan.cpp b/lldb/source/Target/ThreadPlan.cpp index f2d7a18..80852b7 100644 --- a/lldb/source/Target/ThreadPlan.cpp +++ b/lldb/source/Target/ThreadPlan.cpp @@ -22,6 +22,7 @@ #include "lldb/Target/Thread.h" #include "lldb/Target/Process.h" #include "lldb/Target/Target.h" +#include "lldb/Utility/ConvertEnum.h" using namespace lldb; using namespace lldb_private; diff --git a/lldb/source/Utility/CMakeLists.txt b/lldb/source/Utility/CMakeLists.txt index cafc649..293ef4a 100644 --- a/lldb/source/Utility/CMakeLists.txt +++ b/lldb/source/Utility/CMakeLists.txt @@ -3,10 +3,12 @@ set(LLVM_NO_RTTI 1) add_lldb_library(lldbUtility ARM_DWARF_Registers.cpp ARM64_DWARF_Registers.cpp + ConvertEnum.cpp JSON.cpp KQueue.cpp LLDBAssert.cpp ModuleCache.cpp + NameMatches.cpp PseudoTerminal.cpp Range.cpp RegisterNumber.cpp diff --git a/lldb/source/Utility/ConvertEnum.cpp b/lldb/source/Utility/ConvertEnum.cpp new file mode 100644 index 0000000..e108f5e --- /dev/null +++ b/lldb/source/Utility/ConvertEnum.cpp @@ -0,0 +1,110 @@ +//===-- ConvertEnum.cpp -----------------------------------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// +#include "lldb/Utility/ConvertEnum.h" + +using namespace lldb; +using namespace lldb_private; + +const char * +lldb_private::GetVoteAsCString(Vote vote) +{ + switch (vote) + { + case eVoteNo: + return "no"; + case eVoteNoOpinion: + return "no opinion"; + case eVoteYes: + return "yes"; + } + return "invalid"; +} + +const char * +lldb_private::GetSectionTypeAsCString(lldb::SectionType sect_type) +{ + switch (sect_type) + { + case eSectionTypeInvalid: + return "invalid"; + case eSectionTypeCode: + return "code"; + case eSectionTypeContainer: + return "container"; + case eSectionTypeData: + return "data"; + case eSectionTypeDataCString: + return "data-cstr"; + case eSectionTypeDataCStringPointers: + return "data-cstr-ptr"; + case eSectionTypeDataSymbolAddress: + return "data-symbol-addr"; + case eSectionTypeData4: + return "data-4-byte"; + case eSectionTypeData8: + return "data-8-byte"; + case eSectionTypeData16: + return "data-16-byte"; + case eSectionTypeDataPointers: + return "data-ptrs"; + case eSectionTypeDebug: + return "debug"; + case eSectionTypeZeroFill: + return "zero-fill"; + case eSectionTypeDataObjCMessageRefs: + return "objc-message-refs"; + case eSectionTypeDataObjCCFStrings: + return "objc-cfstrings"; + case eSectionTypeDWARFDebugAbbrev: + return "dwarf-abbrev"; + case eSectionTypeDWARFDebugAranges: + return "dwarf-aranges"; + case eSectionTypeDWARFDebugFrame: + return "dwarf-frame"; + case eSectionTypeDWARFDebugInfo: + return "dwarf-info"; + case eSectionTypeDWARFDebugLine: + return "dwarf-line"; + case eSectionTypeDWARFDebugLoc: + return "dwarf-loc"; + case eSectionTypeDWARFDebugMacInfo: + return "dwarf-macinfo"; + case eSectionTypeDWARFDebugPubNames: + return "dwarf-pubnames"; + case eSectionTypeDWARFDebugPubTypes: + return "dwarf-pubtypes"; + case eSectionTypeDWARFDebugRanges: + return "dwarf-ranges"; + case eSectionTypeDWARFDebugStr: + return "dwarf-str"; + case eSectionTypeELFSymbolTable: + return "elf-symbol-table"; + case eSectionTypeELFDynamicSymbols: + return "elf-dynamic-symbols"; + case eSectionTypeELFRelocationEntries: + return "elf-relocation-entries"; + case eSectionTypeELFDynamicLinkInfo: + return "elf-dynamic-link-info"; + case eSectionTypeDWARFAppleNames: + return "apple-names"; + case eSectionTypeDWARFAppleTypes: + return "apple-types"; + case eSectionTypeDWARFAppleNamespaces: + return "apple-namespaces"; + case eSectionTypeDWARFAppleObjC: + return "apple-objc"; + case eSectionTypeEHFrame: + return "eh-frame"; + case eSectionTypeCompactUnwind: + return "compact-unwind"; + case eSectionTypeOther: + return "regular"; + } + return "unknown"; +} diff --git a/lldb/source/Utility/NameMatches.cpp b/lldb/source/Utility/NameMatches.cpp new file mode 100644 index 0000000..e10c47e --- /dev/null +++ b/lldb/source/Utility/NameMatches.cpp @@ -0,0 +1,50 @@ +//===-- NameMatches.cpp -----------------------------------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// +#include "lldb/Core/RegularExpression.h" +#include "lldb/Utility/NameMatches.h" + +#include "llvm/ADT/StringRef.h" + +using namespace lldb_private; + +bool +lldb_private::NameMatches(const char *name, NameMatchType match_type, const char *match) +{ + if (match_type == eNameMatchIgnore) + return true; + + if (name == match) + return true; + + if (name && match) + { + llvm::StringRef name_sref(name); + llvm::StringRef match_sref(match); + switch (match_type) + { + case eNameMatchIgnore: // This case cannot occur: tested before + return true; + case eNameMatchEquals: + return name_sref == match_sref; + case eNameMatchContains: + return name_sref.find(match_sref) != llvm::StringRef::npos; + case eNameMatchStartsWith: + return name_sref.startswith(match_sref); + case eNameMatchEndsWith: + return name_sref.endswith(match_sref); + case eNameMatchRegularExpression: + { + RegularExpression regex(match); + return regex.Execute(name); + } + break; + } + } + return false; +} diff --git a/lldb/source/lldb.cpp b/lldb/source/lldb.cpp index 8033044..75b270f 100644 --- a/lldb/source/lldb.cpp +++ b/lldb/source/lldb.cpp @@ -466,97 +466,3 @@ lldb_private::GetVersion () return g_version_str.c_str(); #endif } - -const char * -lldb_private::GetVoteAsCString (Vote vote) -{ - switch (vote) - { - case eVoteNo: return "no"; - case eVoteNoOpinion: return "no opinion"; - case eVoteYes: return "yes"; - } - return "invalid"; -} - - -const char * -lldb_private::GetSectionTypeAsCString (SectionType sect_type) -{ - switch (sect_type) - { - case eSectionTypeInvalid: return "invalid"; - case eSectionTypeCode: return "code"; - case eSectionTypeContainer: return "container"; - case eSectionTypeData: return "data"; - case eSectionTypeDataCString: return "data-cstr"; - case eSectionTypeDataCStringPointers: return "data-cstr-ptr"; - case eSectionTypeDataSymbolAddress: return "data-symbol-addr"; - case eSectionTypeData4: return "data-4-byte"; - case eSectionTypeData8: return "data-8-byte"; - case eSectionTypeData16: return "data-16-byte"; - case eSectionTypeDataPointers: return "data-ptrs"; - case eSectionTypeDebug: return "debug"; - case eSectionTypeZeroFill: return "zero-fill"; - case eSectionTypeDataObjCMessageRefs: return "objc-message-refs"; - case eSectionTypeDataObjCCFStrings: return "objc-cfstrings"; - case eSectionTypeDWARFDebugAbbrev: return "dwarf-abbrev"; - case eSectionTypeDWARFDebugAranges: return "dwarf-aranges"; - case eSectionTypeDWARFDebugFrame: return "dwarf-frame"; - case eSectionTypeDWARFDebugInfo: return "dwarf-info"; - case eSectionTypeDWARFDebugLine: return "dwarf-line"; - case eSectionTypeDWARFDebugLoc: return "dwarf-loc"; - case eSectionTypeDWARFDebugMacInfo: return "dwarf-macinfo"; - case eSectionTypeDWARFDebugPubNames: return "dwarf-pubnames"; - case eSectionTypeDWARFDebugPubTypes: return "dwarf-pubtypes"; - case eSectionTypeDWARFDebugRanges: return "dwarf-ranges"; - case eSectionTypeDWARFDebugStr: return "dwarf-str"; - case eSectionTypeELFSymbolTable: return "elf-symbol-table"; - case eSectionTypeELFDynamicSymbols: return "elf-dynamic-symbols"; - case eSectionTypeELFRelocationEntries: return "elf-relocation-entries"; - case eSectionTypeELFDynamicLinkInfo: return "elf-dynamic-link-info"; - case eSectionTypeDWARFAppleNames: return "apple-names"; - case eSectionTypeDWARFAppleTypes: return "apple-types"; - case eSectionTypeDWARFAppleNamespaces: return "apple-namespaces"; - case eSectionTypeDWARFAppleObjC: return "apple-objc"; - case eSectionTypeEHFrame: return "eh-frame"; - case eSectionTypeCompactUnwind: return "compact-unwind"; - case eSectionTypeOther: return "regular"; - } - return "unknown"; - -} - -bool -lldb_private::NameMatches (const char *name, - NameMatchType match_type, - const char *match) -{ - if (match_type == eNameMatchIgnore) - return true; - - if (name == match) - return true; - - if (name && match) - { - llvm::StringRef name_sref(name); - llvm::StringRef match_sref(match); - switch (match_type) - { - case eNameMatchIgnore: // This case cannot occur: tested before - return true; - case eNameMatchEquals: return name_sref == match_sref; - case eNameMatchContains: return name_sref.find (match_sref) != llvm::StringRef::npos; - case eNameMatchStartsWith: return name_sref.startswith (match_sref); - case eNameMatchEndsWith: return name_sref.endswith (match_sref); - case eNameMatchRegularExpression: - { - RegularExpression regex (match); - return regex.Execute (name); - } - break; - } - } - return false; -} -- 2.7.4