Side-effects of user-defined functions.

This commit is contained in:
chriseth
2019-09-02 17:41:51 +02:00
parent 9a6357ab09
commit 1c5845e3f2
10 changed files with 102 additions and 18 deletions
+4 -1
View File
@@ -64,8 +64,11 @@ void SideEffectsCollector::operator()(FunctionCall const& _functionCall)
{
ASTWalker::operator()(_functionCall);
if (BuiltinFunction const* f = m_dialect.builtin(_functionCall.functionName.name))
YulString functionName = _functionCall.functionName.name;
if (BuiltinFunction const* f = m_dialect.builtin(functionName))
m_sideEffects += f->sideEffects;
else if (m_functionSideEffects && m_functionSideEffects->count(functionName))
m_sideEffects += m_functionSideEffects->at(functionName);
else
m_sideEffects += SideEffects::worst();
}