Mercurial > hg > CbC > CbC_llvm
view lldb/source/Utility/RegularExpression.cpp @ 266:00f31e85ec16 default tip
Added tag current for changeset 31d058e83c98
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sat, 14 Oct 2023 10:13:55 +0900 |
parents | 0572611fdcc8 |
children |
line wrap: on
line source
//===-- RegularExpression.cpp ---------------------------------------------===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #include "lldb/Utility/RegularExpression.h" #include <string> using namespace lldb_private; RegularExpression::RegularExpression(llvm::StringRef str) : m_regex_text(std::string(str)), // m_regex does not reference str anymore after it is constructed. m_regex(llvm::Regex(str)) {} RegularExpression::RegularExpression(const RegularExpression &rhs) : RegularExpression(rhs.GetText()) {} bool RegularExpression::Execute( llvm::StringRef str, llvm::SmallVectorImpl<llvm::StringRef> *matches) const { if (!IsValid()) return false; return m_regex.match(str, matches); } bool RegularExpression::IsValid() const { return m_regex.isValid(); } llvm::StringRef RegularExpression::GetText() const { return m_regex_text; } llvm::Error RegularExpression::GetError() const { std::string error; if (!m_regex.isValid(error)) return llvm::make_error<llvm::StringError>(error, llvm::inconvertibleErrorCode()); return llvm::Error::success(); }