Disallow assigning more than once to immutables during the vardecl

This commit is contained in:
Harikrishnan Mulackal
2020-08-28 13:42:54 +02:00
parent e872b1b51e
commit 7ff809dc78
4 changed files with 22 additions and 3 deletions
+5 -3
View File
@@ -34,10 +34,12 @@ void ImmutableValidator::analyze()
for (ContractDefinition const* contract: linearizedContracts)
for (VariableDeclaration const* stateVar: contract->stateVariables())
if (stateVar->value())
{
m_initializedStateVariables.emplace(stateVar);
for (ContractDefinition const* contract: linearizedContracts)
for (VariableDeclaration const* stateVar: contract->stateVariables())
if (stateVar->value())
stateVar->value()->accept(*this);
solAssert(m_initializedStateVariables.emplace(stateVar).second, "");
}
for (ContractDefinition const* contract: linearizedContracts)
if (contract->constructor())