LLVM 22.0.0git
|
This class implements a glob pattern matcher similar to the one found in bash, but with some key differences. More...
#include "llvm/Support/GlobPattern.h"
Public Member Functions | |
LLVM_ABI bool | match (StringRef S) const |
bool | isTrivialMatchAll () const |
Static Public Member Functions | |
static LLVM_ABI Expected< GlobPattern > | create (StringRef Pat, std::optional< size_t > MaxSubPatterns={}) |
This class implements a glob pattern matcher similar to the one found in bash, but with some key differences.
Namely, that * matches all characters and does not exclude path separators.
MaxSubPatterns
is empty then brace expansions are not supported and characters {,} are treated as literals.Some known edge cases are:
Examples:
Definition at line 52 of file GlobPattern.h.
|
static |
Pat | the pattern to match against |
MaxSubPatterns | if provided limit the number of allowed subpatterns created from expanding braces otherwise disable brace expansion |
Definition at line 136 of file GlobPattern.cpp.
References llvm::StringRef::find_first_of(), parseBraceExpansions(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), and llvm::StringRef::substr().
Referenced by llvm::objcopy::NameOrPattern::create(), llvm::ifs::filterIFSSyms(), and llvm::SpecialCaseList::Matcher::insert().
|
inline |
Definition at line 65 of file GlobPattern.h.
true
if S
matches this glob pattern Definition at line 193 of file GlobPattern.cpp.
References llvm::StringRef::consume_front(), and llvm::StringRef::empty().
Referenced by llvm::SpecialCaseList::Matcher::match().