[libsolidity] TryStatement: Adding AST accessors for success/structured/fail clauses.

This commit is contained in:
Christian Parpart
2020-04-14 18:39:08 +02:00
committed by chriseth
parent 79a44b8170
commit 3b83365b42
2 changed files with 26 additions and 0 deletions
+22
View File
@@ -756,3 +756,25 @@ string Literal::getChecksummedAddress() const
address.insert(address.begin(), 40 - address.size(), '0');
return util::getChecksummedAddress(address);
}
TryCatchClause const* TryStatement::successClause() const
{
solAssert(m_clauses.size() > 0, "");
return m_clauses[0].get();
}
TryCatchClause const* TryStatement::structuredClause() const
{
for (size_t i = 1; i < m_clauses.size(); ++i)
if (m_clauses[i]->errorName() == "Error")
return m_clauses[i].get();
return nullptr;
}
TryCatchClause const* TryStatement::fallbackClause() const
{
for (size_t i = 1; i < m_clauses.size(); ++i)
if (m_clauses[i]->errorName().empty())
return m_clauses[i].get();
return nullptr;
}