Do not add members of address to contracts in experimental 0.5.0

This commit is contained in:
Alex Beregszaszi
2017-10-05 11:42:34 +01:00
parent 880be25811
commit 09276cb9d3
4 changed files with 70 additions and 5 deletions
+5 -2
View File
@@ -1616,9 +1616,10 @@ string ContractType::canonicalName() const
return m_contract.annotation().canonicalName;
}
MemberList::MemberMap ContractType::nativeMembers(ContractDefinition const*) const
MemberList::MemberMap ContractType::nativeMembers(ContractDefinition const* _contract) const
{
MemberList::MemberMap members;
solAssert(_contract, "");
if (m_super)
{
// add the most derived of all functions which are visible in derived contracts
@@ -1660,7 +1661,9 @@ MemberList::MemberMap ContractType::nativeMembers(ContractDefinition const*) con
&it.second->declaration()
));
}
addNonConflictingAddressMembers(members);
// In 0.5.0 address members are not populated into the contract.
if (!_contract->sourceUnit().annotation().experimentalFeatures.count(ExperimentalFeature::V050))
addNonConflictingAddressMembers(members);
return members;
}