Defaults to external visibility for interfaces.

This commit is contained in:
bitshift authored and Erik Kundt committed 2018-04-03 11:16:44 +02:00
1 parent 3bb54e8bd5
commit 8fe1cfb12e
4 files changed
+24 -12

No files matched your search

+8
View File
@@ -50,6 +50,14 @@ void StaticAnalyzer::endVisit(ContractDefinition const&)
bool StaticAnalyzer::visit(FunctionDefinition const& _function)
{
const bool isInterface = m_currentContract->contractKind() == ContractDefinition::ContractKind::Interface;
if (_function.noVisibilitySpecified())
m_errorReporter.warning(
_function.location(),
"No visibility specified. Defaulting to \"" +
(isInterface ? "external" : Declaration::visibilityToString(_function.visibility())) +
"\"."
);
if (_function.isImplemented())
m_currentFunction = &_function;
else