[SMTChecker] Fix calls to virtual/overriden functions

This commit is contained in:
Leonardo Alt
2020-12-29 11:25:20 +01:00
parent 840b194bea
commit 9482e7de23
10 changed files with 122 additions and 45 deletions
+5 -5
View File
@@ -60,13 +60,13 @@ void VariableUsage::endVisit(IndexAccess const& _indexAccess)
void VariableUsage::endVisit(FunctionCall const& _funCall)
{
if (m_inlineFunctionCalls(_funCall))
if (auto funDef = SMTEncoder::functionCallToDefinition(_funCall))
{
solAssert(funDef, "");
if (m_inlineFunctionCalls(_funCall, m_currentContract))
if (
auto [funDef, contextContract] = SMTEncoder::functionCallToDefinition(_funCall, m_currentContract);
funDef
)
if (find(m_callStack.begin(), m_callStack.end(), funDef) == m_callStack.end())
funDef->accept(*this);
}
}
bool VariableUsage::visit(FunctionDefinition const& _function)