From c6b04df78c15dd35dca9ae54e96ad4c9e8c3b3f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20=C5=9Aliwak?= Date: Tue, 1 Aug 2023 15:23:14 +0200 Subject: [PATCH] Remove unused IndentedWriter --- libsolutil/CMakeLists.txt | 2 - libsolutil/IndentedWriter.cpp | 65 -------------------------- libsolutil/IndentedWriter.h | 66 -------------------------- test/CMakeLists.txt | 1 - test/libsolutil/IndentedWriter.cpp | 74 ------------------------------ 5 files changed, 208 deletions(-) delete mode 100644 libsolutil/IndentedWriter.cpp delete mode 100644 libsolutil/IndentedWriter.h delete mode 100644 test/libsolutil/IndentedWriter.cpp diff --git a/libsolutil/CMakeLists.txt b/libsolutil/CMakeLists.txt index 201429bb7..f97d61b67 100644 --- a/libsolutil/CMakeLists.txt +++ b/libsolutil/CMakeLists.txt @@ -13,8 +13,6 @@ set(sources ErrorCodes.h FixedHash.h FunctionSelector.h - IndentedWriter.cpp - IndentedWriter.h IpfsHash.cpp IpfsHash.h JSON.cpp diff --git a/libsolutil/IndentedWriter.cpp b/libsolutil/IndentedWriter.cpp deleted file mode 100644 index b2a3c06c9..000000000 --- a/libsolutil/IndentedWriter.cpp +++ /dev/null @@ -1,65 +0,0 @@ -/* - This file is part of solidity. - - solidity is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - solidity is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with solidity. If not, see . -*/ -// SPDX-License-Identifier: GPL-3.0 -/** - * @date 2017 - * Indented text writer. - */ - -#include -#include - -using namespace solidity::util; - -std::string IndentedWriter::format() const -{ - std::string result; - for (auto const& line: m_lines) - result += std::string(line.indentation * 4, ' ') + line.contents + "\n"; - return result; -} - -void IndentedWriter::newLine() -{ - if (!m_lines.back().contents.empty()) - m_lines.emplace_back(Line{std::string(), m_lines.back().indentation}); -} - -void IndentedWriter::indent() -{ - newLine(); - m_lines.back().indentation++; -} - -void IndentedWriter::unindent() -{ - newLine(); - assertThrow(m_lines.back().indentation > 0, IndentedWriterError, "Negative indentation."); - m_lines.back().indentation--; -} - -void IndentedWriter::add(std::string const& _str) -{ - m_lines.back().contents += _str; -} - -void IndentedWriter::addLine(std::string const& _line) -{ - newLine(); - add(_line); - newLine(); -} diff --git a/libsolutil/IndentedWriter.h b/libsolutil/IndentedWriter.h deleted file mode 100644 index 47e2817fa..000000000 --- a/libsolutil/IndentedWriter.h +++ /dev/null @@ -1,66 +0,0 @@ -/* - This file is part of solidity. - - solidity is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - solidity is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with solidity. If not, see . -*/ -// SPDX-License-Identifier: GPL-3.0 -/** - * @date 2017 - * Indented text writer. - */ - -#pragma once - -#include -#include - -#include - -namespace solidity::util -{ - -DEV_SIMPLE_EXCEPTION(IndentedWriterError); - -class IndentedWriter -{ -public: - // Returns the formatted output. - std::string format() const; - - // Go one indentation level in. - void indent(); - - // Go one indentation level out. - void unindent(); - - // Add text. - void add(std::string const& _str); - - // Add text with new line. - void addLine(std::string const& _line); - - // Add new line. - void newLine(); - -private: - struct Line - { - std::string contents; - unsigned indentation; - }; - - std::vector m_lines{{std::string(), 0}}; -}; - -} diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index f8242db7a..f32a14d91 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -33,7 +33,6 @@ set(libsolutil_sources libsolutil/CommonIO.cpp libsolutil/FixedHash.cpp libsolutil/FunctionSelector.cpp - libsolutil/IndentedWriter.cpp libsolutil/IpfsHash.cpp libsolutil/IterateReplacing.cpp libsolutil/JSON.cpp diff --git a/test/libsolutil/IndentedWriter.cpp b/test/libsolutil/IndentedWriter.cpp deleted file mode 100644 index 94997c842..000000000 --- a/test/libsolutil/IndentedWriter.cpp +++ /dev/null @@ -1,74 +0,0 @@ -/* - This file is part of solidity. - - solidity is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - solidity is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with solidity. If not, see . -*/ -// SPDX-License-Identifier: GPL-3.0 -/** - * Unit tests for IndentedWriter. - */ - -#include - -#include - -#include - - -namespace solidity::util::test -{ - -BOOST_AUTO_TEST_SUITE(IndentedWriterTest) - -BOOST_AUTO_TEST_CASE(empty) -{ - IndentedWriter iw; - BOOST_CHECK_EQUAL(iw.format(), "\n"); -} - -BOOST_AUTO_TEST_CASE(new_lines) -{ - IndentedWriter iw; - iw.newLine(); - BOOST_CHECK_EQUAL(iw.format(), "\n"); -} - -BOOST_AUTO_TEST_CASE(text_without_newline) -{ - IndentedWriter iw; - iw.add("Hello World"); - BOOST_CHECK_EQUAL(iw.format(), "Hello World\n"); -} - -BOOST_AUTO_TEST_CASE(text_with_newline) -{ - IndentedWriter iw; - iw.addLine("Hello World"); - BOOST_CHECK_EQUAL(iw.format(), "Hello World\n\n"); -} - -BOOST_AUTO_TEST_CASE(indent) -{ - IndentedWriter iw; - iw.addLine("Hello"); - iw.indent(); - iw.addLine("World"); - iw.unindent(); - iw.addLine("and everyone else"); - BOOST_CHECK_EQUAL(iw.format(), "Hello\n World\nand everyone else\n\n"); -} - -BOOST_AUTO_TEST_SUITE_END() - -}