Merge pull request #9690 from ethereum/immutable-rhs-vardecl

Disallow assigning more than once to immutables during the variable declaration
This commit is contained in:
chriseth
2020-08-28 14:39:23 +02:00
committed by GitHub
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())