aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Parpart <christian@ethereum.org>2018-12-12 21:43:34 +0800
committerChristian Parpart <christian@ethereum.org>2018-12-19 18:21:45 +0800
commitd10bae245ed441314c3bd6ecc74b2a1f3d060d12 (patch)
tree1c93d817c44d86d5d3c8ee5c79d04196de289132
parent678a95f6e3bbd9f1c4914151c0178847348de970 (diff)
downloaddexon-solidity-d10bae245ed441314c3bd6ecc74b2a1f3d060d12.tar.gz
dexon-solidity-d10bae245ed441314c3bd6ecc74b2a1f3d060d12.tar.zst
dexon-solidity-d10bae245ed441314c3bd6ecc74b2a1f3d060d12.zip
liblangutil: SourceLocation to default initialize data members (w/o the use of ctor)
See: http://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#c45-dont-define-a-default-constructor-that-only-initializes-data-members-use-in-class-member-initializers-instead
-rw-r--r--liblangutil/ParserBase.cpp4
-rw-r--r--liblangutil/SourceLocation.h8
-rw-r--r--libsolidity/parsing/Parser.cpp2
-rw-r--r--test/libevmasm/Assembler.cpp4
-rw-r--r--test/libevmasm/Optimiser.cpp2
-rw-r--r--test/liblangutil/SourceLocation.cpp12
-rw-r--r--test/libsolidity/Assembly.cpp26
7 files changed, 27 insertions, 31 deletions
diff --git a/liblangutil/ParserBase.cpp b/liblangutil/ParserBase.cpp
index 391af291..c0770e04 100644
--- a/liblangutil/ParserBase.cpp
+++ b/liblangutil/ParserBase.cpp
@@ -100,10 +100,10 @@ void ParserBase::decreaseRecursionDepth()
void ParserBase::parserError(string const& _description)
{
- m_errorReporter.parserError(SourceLocation(position(), endPosition(), source()), _description);
+ m_errorReporter.parserError(SourceLocation{position(), endPosition(), source()}, _description);
}
void ParserBase::fatalParserError(string const& _description)
{
- m_errorReporter.fatalParserError(SourceLocation(position(), endPosition(), source()), _description);
+ m_errorReporter.fatalParserError(SourceLocation{position(), endPosition(), source()}, _description);
}
diff --git a/liblangutil/SourceLocation.h b/liblangutil/SourceLocation.h
index 2d18a7d1..840891c2 100644
--- a/liblangutil/SourceLocation.h
+++ b/liblangutil/SourceLocation.h
@@ -38,10 +38,6 @@ namespace langutil
*/
struct SourceLocation
{
- SourceLocation(): start(-1), end(-1), source{nullptr} { }
- SourceLocation(int _start, int _end, std::shared_ptr<CharStream> _source):
- start(_start), end(_end), source{std::move(_source)} { }
-
bool operator==(SourceLocation const& _other) const
{
return source.get() == _other.source.get() && start == _other.start && end == _other.end;
@@ -53,8 +49,8 @@ struct SourceLocation
bool isEmpty() const { return start == -1 && end == -1; }
- int start;
- int end;
+ int start = -1;
+ int end = -1;
std::shared_ptr<CharStream> source;
};
diff --git a/libsolidity/parsing/Parser.cpp b/libsolidity/parsing/Parser.cpp
index bcb28988..5b9c309a 100644
--- a/libsolidity/parsing/Parser.cpp
+++ b/libsolidity/parsing/Parser.cpp
@@ -46,7 +46,7 @@ class Parser::ASTNodeFactory
{
public:
explicit ASTNodeFactory(Parser const& _parser):
- m_parser(_parser), m_location(_parser.position(), -1, _parser.source()) {}
+ m_parser(_parser), m_location{_parser.position(), -1, _parser.source()} {}
ASTNodeFactory(Parser const& _parser, ASTPointer<ASTNode> const& _childNode):
m_parser(_parser), m_location(_childNode->location()) {}
diff --git a/test/libevmasm/Assembler.cpp b/test/libevmasm/Assembler.cpp
index 6976755f..4e9040b9 100644
--- a/test/libevmasm/Assembler.cpp
+++ b/test/libevmasm/Assembler.cpp
@@ -56,11 +56,11 @@ BOOST_AUTO_TEST_CASE(all_assembly_items)
{
Assembly _assembly;
auto root_asm = make_shared<CharStream>("", "root.asm");
- _assembly.setSourceLocation(SourceLocation(1, 3, root_asm));
+ _assembly.setSourceLocation({1, 3, root_asm});
Assembly _subAsm;
auto sub_asm = make_shared<CharStream>("", "sub.asm");
- _subAsm.setSourceLocation(SourceLocation(6, 8, sub_asm));
+ _subAsm.setSourceLocation({6, 8, sub_asm});
_subAsm.append(Instruction::INVALID);
shared_ptr<Assembly> _subAsmPtr = make_shared<Assembly>(_subAsm);
diff --git a/test/libevmasm/Optimiser.cpp b/test/libevmasm/Optimiser.cpp
index 7d102948..c65d28d3 100644
--- a/test/libevmasm/Optimiser.cpp
+++ b/test/libevmasm/Optimiser.cpp
@@ -53,7 +53,7 @@ namespace
// add dummy locations to each item so that we can check that they are not deleted
AssemblyItems input = _input;
for (AssemblyItem& item: input)
- item.setLocation(SourceLocation(1, 3, nullptr));
+ item.setLocation({1, 3, nullptr});
return input;
}
diff --git a/test/liblangutil/SourceLocation.cpp b/test/liblangutil/SourceLocation.cpp
index ef4103da..5bdce88e 100644
--- a/test/liblangutil/SourceLocation.cpp
+++ b/test/liblangutil/SourceLocation.cpp
@@ -37,12 +37,12 @@ BOOST_AUTO_TEST_CASE(test_fail)
auto const sourceA = std::make_shared<CharStream>("", "sourceA");
auto const sourceB = std::make_shared<CharStream>("", "sourceB");
- BOOST_CHECK(SourceLocation() == SourceLocation());
- BOOST_CHECK(SourceLocation(0, 3, sourceA) != SourceLocation(0, 3, sourceB));
- BOOST_CHECK(SourceLocation(0, 3, source) == SourceLocation(0, 3, source));
- BOOST_CHECK(SourceLocation(3, 7, source).contains(SourceLocation(4, 6, source)));
- BOOST_CHECK(!SourceLocation(3, 7, sourceA).contains(SourceLocation(4, 6, sourceB)));
- BOOST_CHECK(SourceLocation(3, 7, sourceA) < SourceLocation(4, 6, sourceB));
+ BOOST_CHECK(SourceLocation{} == SourceLocation{});
+ BOOST_CHECK((SourceLocation{0, 3, sourceA} != SourceLocation{0, 3, sourceB}));
+ BOOST_CHECK((SourceLocation{0, 3, source} == SourceLocation{0, 3, source}));
+ BOOST_CHECK((SourceLocation{3, 7, source}.contains(SourceLocation{4, 6, source})));
+ BOOST_CHECK((!SourceLocation{3, 7, sourceA}.contains(SourceLocation{4, 6, sourceB})));
+ BOOST_CHECK((SourceLocation{3, 7, sourceA} < SourceLocation{4, 6, sourceB}));
}
BOOST_AUTO_TEST_SUITE_END()
diff --git a/test/libsolidity/Assembly.cpp b/test/libsolidity/Assembly.cpp
index 5d8c89a4..baa9bff1 100644
--- a/test/libsolidity/Assembly.cpp
+++ b/test/libsolidity/Assembly.cpp
@@ -165,19 +165,19 @@ BOOST_AUTO_TEST_CASE(location_test)
auto codegenCharStream = make_shared<CharStream>("", "--CODEGEN--");
vector<SourceLocation> locations =
- vector<SourceLocation>(4, SourceLocation(2, 82, sourceCode)) +
- vector<SourceLocation>(1, SourceLocation(8, 17, codegenCharStream)) +
- vector<SourceLocation>(3, SourceLocation(5, 7, codegenCharStream)) +
- vector<SourceLocation>(1, SourceLocation(30, 31, codegenCharStream)) +
- vector<SourceLocation>(1, SourceLocation(27, 28, codegenCharStream)) +
- vector<SourceLocation>(1, SourceLocation(20, 32, codegenCharStream)) +
- vector<SourceLocation>(1, SourceLocation(5, 7, codegenCharStream)) +
- vector<SourceLocation>(hasShifts ? 19 : 20, SourceLocation(2, 82, sourceCode)) +
- vector<SourceLocation>(24, SourceLocation(20, 79, sourceCode)) +
- vector<SourceLocation>(1, SourceLocation(49, 58, sourceCode)) +
- vector<SourceLocation>(1, SourceLocation(72, 74, sourceCode)) +
- vector<SourceLocation>(2, SourceLocation(65, 74, sourceCode)) +
- vector<SourceLocation>(2, SourceLocation(20, 79, sourceCode));
+ vector<SourceLocation>(4, SourceLocation{2, 82, sourceCode}) +
+ vector<SourceLocation>(1, SourceLocation{8, 17, codegenCharStream}) +
+ vector<SourceLocation>(3, SourceLocation{5, 7, codegenCharStream}) +
+ vector<SourceLocation>(1, SourceLocation{30, 31, codegenCharStream}) +
+ vector<SourceLocation>(1, SourceLocation{27, 28, codegenCharStream}) +
+ vector<SourceLocation>(1, SourceLocation{20, 32, codegenCharStream}) +
+ vector<SourceLocation>(1, SourceLocation{5, 7, codegenCharStream}) +
+ vector<SourceLocation>(hasShifts ? 19 : 20, SourceLocation{2, 82, sourceCode}) +
+ vector<SourceLocation>(24, SourceLocation{20, 79, sourceCode}) +
+ vector<SourceLocation>(1, SourceLocation{49, 58, sourceCode}) +
+ vector<SourceLocation>(1, SourceLocation{72, 74, sourceCode}) +
+ vector<SourceLocation>(2, SourceLocation{65, 74, sourceCode}) +
+ vector<SourceLocation>(2, SourceLocation{20, 79, sourceCode});
checkAssemblyLocations(items, locations);
}