mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Extra asserts, test renaming, test for super in modifiers
This commit is contained in:
@@ -286,7 +286,11 @@ FunctionDefinition const& CompilerContext::superFunction(FunctionDefinition cons
|
||||
solAssert(m_mostDerivedContract, "No most derived contract set.");
|
||||
ContractDefinition const* super = _base.superContract(mostDerivedContract());
|
||||
solAssert(super, "Super contract not available.");
|
||||
return _function.resolveVirtual(mostDerivedContract(), super);
|
||||
|
||||
FunctionDefinition const& resolvedFunction = _function.resolveVirtual(mostDerivedContract(), super);
|
||||
solAssert(resolvedFunction.isImplemented(), "");
|
||||
|
||||
return resolvedFunction;
|
||||
}
|
||||
|
||||
ContractDefinition const& CompilerContext::mostDerivedContract() const
|
||||
|
||||
@@ -604,6 +604,8 @@ bool ContractCompiler::visit(VariableDeclaration const& _variableDeclaration)
|
||||
|
||||
bool ContractCompiler::visit(FunctionDefinition const& _function)
|
||||
{
|
||||
solAssert(_function.isImplemented(), "");
|
||||
|
||||
CompilerContext::LocationSetter locationSetter(m_context, _function);
|
||||
|
||||
m_context.startFunction(_function);
|
||||
|
||||
Reference in New Issue
Block a user