libyul: AST cleanup, eliminating dead Instruction AST type.

This commit is contained in:
Christian Parpart committed 2019-11-01 12:32:25 +01:00
1 parent 42b8c98567
commit 112e63fe15
12 files changed
+3 -37

No files matched your search

-6
View File
@@ -30,12 +30,6 @@ using namespace std;
using namespace dev;
using namespace yul;
Statement ASTCopier::operator()(Instruction const&)
{
assertThrow(false, OptimizerException, "Invalid operation.");
return {};
}
Statement ASTCopier::operator()(ExpressionStatement const& _statement)
{
return ExpressionStatement{ _statement.location, translate(_statement.expression) };
-2
View File
@@ -49,7 +49,6 @@ class StatementCopier: public boost::static_visitor<Statement>
public:
virtual ~StatementCopier() = default;
virtual Statement operator()(ExpressionStatement const& _statement) = 0;
virtual Statement operator()(Instruction const& _instruction) = 0;
virtual Statement operator()(Assignment const& _assignment) = 0;
virtual Statement operator()(VariableDeclaration const& _varDecl) = 0;
virtual Statement operator()(If const& _if) = 0;
@@ -71,7 +70,6 @@ class ASTCopier: public ExpressionCopier, public StatementCopier
public:
virtual ~ASTCopier() = default;
Expression operator()(Literal const& _literal) override;
Statement operator()(Instruction const& _instruction) override;
Expression operator()(Identifier const& _identifier) override;
Expression operator()(FunctionalInstruction const& _instr) override;
Expression operator()(FunctionCall const&) override;
-2
View File
@@ -43,7 +43,6 @@ class ASTWalker: public boost::static_visitor<>
public:
virtual ~ASTWalker() = default;
virtual void operator()(Literal const&) {}
virtual void operator()(Instruction const&) { assertThrow(false, OptimizerException, ""); }
virtual void operator()(Identifier const&) {}
virtual void operator()(FunctionalInstruction const& _instr);
virtual void operator()(FunctionCall const& _funCall);
@@ -79,7 +78,6 @@ class ASTModifier: public boost::static_visitor<>
public:
virtual ~ASTModifier() = default;
virtual void operator()(Literal&) {}
virtual void operator()(Instruction&) { assertThrow(false, OptimizerException, ""); }
virtual void operator()(Identifier&) {}
virtual void operator()(FunctionalInstruction& _instr);
virtual void operator()(FunctionCall& _funCall);
-5
View File
@@ -159,11 +159,6 @@ bool SyntacticallyEqual::statementEqual(ForLoop const& _lhs, ForLoop const& _rhs
statementEqual(_lhs.post, _rhs.post);
}
bool SyntacticallyEqual::statementEqual(Instruction const&, Instruction const&)
{
assertThrow(false, OptimizerException, "");
}
bool SyntacticallyEqual::statementEqual(Block const& _lhs, Block const& _rhs)
{
return containerEqual(_lhs.statements, _rhs.statements, [this](Statement const& _lhsStmt, Statement const& _rhsStmt) -> bool {
-2
View File
@@ -60,8 +60,6 @@ public:
bool statementEqual(Leave const&, Leave const&) { return true; }
bool statementEqual(Block const& _lhs, Block const& _rhs);
private:
bool statementEqual(Instruction const& _lhs, Instruction const& _rhs);
bool visitDeclaration(TypedName const& _lhs, TypedName const& _rhs);
template<typename U, typename V>