215 lines
7.0 KiB
Diff
215 lines
7.0 KiB
Diff
From 988829f74cfe3c9085c097387f7b8d56b64d3d00 Mon Sep 17 00:00:00 2001
|
|
From: Pavel Labath <labath@google.com>
|
|
Date: Tue, 13 Sep 2016 10:39:12 +0000
|
|
Subject: [PATCH] Remove MIUtilParse (no longer used)
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
Summary: follow-up to https://reviews.llvm.org/D23882
|
|
|
|
Reviewers: dawn, krytarowski, labath, ki.stfu
|
|
|
|
Subscribers: beanz, mgorny, labath, ki.stfu, lldb-commits
|
|
|
|
Differential Revision: https://reviews.llvm.org/D23883
|
|
Author: Michał Górny <mgorny@gentoo.org>
|
|
|
|
git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@281317 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
---
|
|
tools/lldb-mi/CMakeLists.txt | 1 -
|
|
tools/lldb-mi/MIUtilParse.cpp | 74 -----------------------------------------
|
|
tools/lldb-mi/MIUtilParse.h | 77 -------------------------------------------
|
|
3 files changed, 152 deletions(-)
|
|
delete mode 100644 tools/lldb-mi/MIUtilParse.cpp
|
|
delete mode 100644 tools/lldb-mi/MIUtilParse.h
|
|
|
|
diff --git a/tools/lldb-mi/CMakeLists.txt b/tools/lldb-mi/CMakeLists.txt
|
|
index 79f657a..01ad483 100644
|
|
--- a/tools/lldb-mi/CMakeLists.txt
|
|
+++ b/tools/lldb-mi/CMakeLists.txt
|
|
@@ -65,7 +65,6 @@ set(LLDB_MI_SOURCES
|
|
MIDriverBase.cpp
|
|
MIDriverMain.cpp
|
|
MIDriverMgr.cpp
|
|
- MIUtilParse.cpp
|
|
MIUtilDateTimeStd.cpp
|
|
MIUtilDebug.cpp
|
|
MIUtilFileStd.cpp
|
|
diff -up lldb-3.9.0.src/tools/lldb-mi/MIUtilParse.cpp.dave lldb-3.9.0.src/tools/lldb-mi/MIUtilParse.cpp
|
|
--- lldb-3.9.0.src/tools/lldb-mi/MIUtilParse.cpp.dave 2016-10-27 07:14:11.484573321 +1000
|
|
+++ lldb-3.9.0.src/tools/lldb-mi/MIUtilParse.cpp 2016-10-27 07:14:58.914009161 +1000
|
|
@@ -1,75 +0,0 @@
|
|
-//===-- MIUtilParse.cpp ----------------------------------------*- C++ -*-===//
|
|
-//
|
|
-// The LLVM Compiler Infrastructure
|
|
-//
|
|
-// This file is distributed under the University of Illinois Open Source
|
|
-// License. See LICENSE.TXT for details.
|
|
-//
|
|
-//===----------------------------------------------------------------------===//
|
|
-
|
|
-// Third party headers:
|
|
-#include <memory>
|
|
-
|
|
-// In-house headers:
|
|
-#include "MIUtilParse.h"
|
|
-
|
|
-//++ ------------------------------------------------------------------------------------
|
|
-// Details: CRegexParser constructor.
|
|
-// Type: Method.
|
|
-// Args: regexStr - Pointer to the regular expression to compile.
|
|
-// Return: None.
|
|
-// Throws: None.
|
|
-//--
|
|
-MIUtilParse::CRegexParser::CRegexParser(const char *regexStr)
|
|
- : m_isValid(llvm_regcomp(&m_emma, regexStr, REG_EXTENDED) == 0)
|
|
-{
|
|
-}
|
|
-
|
|
-//++ ------------------------------------------------------------------------------------
|
|
-// Details: CRegexParser destructor.
|
|
-// Type: Method.
|
|
-// Args: None.
|
|
-// Return: None.
|
|
-// Throws: None.
|
|
-//--
|
|
-MIUtilParse::CRegexParser::~CRegexParser()
|
|
-{
|
|
- // Free up memory held within regex.
|
|
- if (m_isValid)
|
|
- llvm_regfree(&m_emma);
|
|
-}
|
|
-
|
|
-//++ ------------------------------------------------------------------------------------
|
|
-// Details: CRegexParser regex executer.
|
|
-// Match the input against the regular expression. Return an error
|
|
-// if the number of matches is less than minMatches. If the default
|
|
-// minMatches value of 0 is passed, an error will be returned if
|
|
-// the number of matches is less than the maxMatches value used to
|
|
-// initialize Match.
|
|
-// Type: Method.
|
|
-// Args: input (R) - Pointer to UTF8 text data to be parsed.
|
|
-// match (RW) - Reference to Match class.
|
|
-// minMatches (R) - Minimum number of regex matches expected.
|
|
-// Return: bool - True = minimum matches were met,
|
|
-// false = minimum matches were not met or regex failed.
|
|
-// Throws: None.
|
|
-//--
|
|
-bool
|
|
-MIUtilParse::CRegexParser::Execute(const char *input, Match& match, size_t minMatches)
|
|
-{
|
|
- if (!m_isValid)
|
|
- return false;
|
|
-
|
|
- std::unique_ptr<llvm_regmatch_t[]> matches(new llvm_regmatch_t[match.m_maxMatches]); // Array of matches
|
|
-
|
|
- if (llvm_regexec(&m_emma, input, match.m_maxMatches, matches.get(), 0) != 0)
|
|
- return false;
|
|
-
|
|
- size_t i;
|
|
- for (i = 0; i < match.m_maxMatches && matches[i].rm_so >= 0; i++)
|
|
- {
|
|
- const int n = matches[i].rm_eo - matches[i].rm_so;
|
|
- match.m_matchStrs[i].assign(input + matches[i].rm_so, n);
|
|
- }
|
|
- return i >= minMatches;
|
|
-}
|
|
diff -up lldb-3.9.0.src/tools/lldb-mi/MIUtilParse.h.dave lldb-3.9.0.src/tools/lldb-mi/MIUtilParse.h
|
|
--- lldb-3.9.0.src/tools/lldb-mi/MIUtilParse.h.dave 2016-10-27 07:14:19.814649866 +1000
|
|
+++ lldb-3.9.0.src/tools/lldb-mi/MIUtilParse.h 2016-10-27 07:14:57.395995227 +1000
|
|
@@ -1,93 +0,0 @@
|
|
-//===-- MIUtilParse.h ------------------------------------------*- C++ -*-===//
|
|
-//
|
|
-// The LLVM Compiler Infrastructure
|
|
-//
|
|
-// This file is distributed under the University of Illinois Open Source
|
|
-// License. See LICENSE.TXT for details.
|
|
-//
|
|
-//===----------------------------------------------------------------------===//
|
|
-
|
|
-#pragma once
|
|
-
|
|
-// Third party headers:
|
|
-#include "../lib/Support/regex_impl.h"
|
|
-
|
|
-// In-house headers:
|
|
-#include "MIUtilString.h"
|
|
-
|
|
-namespace MIUtilParse
|
|
-{
|
|
-
|
|
-//++ ============================================================================
|
|
-// Details: MI common code utility class. Used to parse the output
|
|
-// returned from lldb commands using regex.
|
|
-//--
|
|
-class CRegexParser
|
|
-{
|
|
- public:
|
|
- // Helper class for keeping track of regex matches.
|
|
- class Match
|
|
- {
|
|
- friend CRegexParser;
|
|
- public:
|
|
- /* ctor */ explicit Match(size_t nmatches)
|
|
- : m_matchStrs(nmatches), m_maxMatches(nmatches)
|
|
- {
|
|
- }
|
|
- size_t
|
|
- GetMatchCount() const
|
|
- {
|
|
- return m_matchStrs.size();
|
|
- }
|
|
- CMIUtilString
|
|
- GetMatchAtIndex(size_t i) const
|
|
- {
|
|
- if (m_matchStrs.size() > i)
|
|
- return m_matchStrs[i];
|
|
- return CMIUtilString();
|
|
- }
|
|
- private:
|
|
- CMIUtilString::VecString_t m_matchStrs;
|
|
- const size_t m_maxMatches;
|
|
- };
|
|
-
|
|
- // Methods:
|
|
- // Compile the regular expression.
|
|
- /* ctor */ explicit CRegexParser(const char *regexStr);
|
|
-
|
|
- // Free the memory used by the regular expression.
|
|
- /* dtor */ ~CRegexParser();
|
|
-
|
|
- // No copies
|
|
- CRegexParser(const CRegexParser&) = delete;
|
|
- void operator=(CRegexParser&) = delete;
|
|
-
|
|
- // Return the match at the index.
|
|
- int
|
|
- GetMatchCount(const Match& match) const
|
|
- {
|
|
- if (m_isValid)
|
|
- return match.GetMatchCount();
|
|
- return 0;
|
|
- }
|
|
-
|
|
- bool
|
|
- IsValid() const
|
|
- {
|
|
- return m_isValid;
|
|
- }
|
|
-
|
|
- // Match the input against the regular expression. Return an error
|
|
- // if the number of matches is less than minMatches. If the default
|
|
- // minMatches value of 0 is passed, an error will be returned if
|
|
- // the number of matches is less than the maxMatches value used to
|
|
- // initialize Match.
|
|
- bool
|
|
- Execute(const char *input, Match& match, size_t minMatches = 0);
|
|
-
|
|
- private:
|
|
- llvm_regex_t m_emma;
|
|
- const bool m_isValid;
|
|
-};
|
|
-
|
|
-}
|