diff options
author | Erik Kundt <bitshift@posteo.org> | 2018-03-29 00:10:32 +0800 |
---|---|---|
committer | Erik Kundt <bitshift@posteo.org> | 2018-04-03 17:16:50 +0800 |
commit | f9efa417492916546d23115da7a55e86090d47dd (patch) | |
tree | 163154bd1c147b9942923244aa09993f2dd0e45c | |
parent | 601659c3844767686a324ea363498e85320c92b1 (diff) | |
download | dexon-solidity-f9efa417492916546d23115da7a55e86090d47dd.tar dexon-solidity-f9efa417492916546d23115da7a55e86090d47dd.tar.gz dexon-solidity-f9efa417492916546d23115da7a55e86090d47dd.tar.bz2 dexon-solidity-f9efa417492916546d23115da7a55e86090d47dd.tar.lz dexon-solidity-f9efa417492916546d23115da7a55e86090d47dd.tar.xz dexon-solidity-f9efa417492916546d23115da7a55e86090d47dd.tar.zst dexon-solidity-f9efa417492916546d23115da7a55e86090d47dd.zip |
Makes visibility warning more concise.
-rw-r--r-- | libsolidity/analysis/StaticAnalyzer.cpp | 6 | ||||
-rw-r--r-- | test/libsolidity/syntaxTests/visibility/interface/function_default.sol | 2 |
2 files changed, 5 insertions, 3 deletions
diff --git a/libsolidity/analysis/StaticAnalyzer.cpp b/libsolidity/analysis/StaticAnalyzer.cpp index 20464765..d96f8748 100644 --- a/libsolidity/analysis/StaticAnalyzer.cpp +++ b/libsolidity/analysis/StaticAnalyzer.cpp @@ -51,12 +51,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())) + - "\"." + Declaration::visibilityToString(_function.visibility()) + + "\". " + + (isInterface ? "In interfaces it defaults to external." : "") ); if (_function.isImplemented()) m_currentFunction = &_function; diff --git a/test/libsolidity/syntaxTests/visibility/interface/function_default.sol b/test/libsolidity/syntaxTests/visibility/interface/function_default.sol index 9889d038..7b9044dd 100644 --- a/test/libsolidity/syntaxTests/visibility/interface/function_default.sol +++ b/test/libsolidity/syntaxTests/visibility/interface/function_default.sol @@ -3,4 +3,4 @@ interface I { } // ---- // Warning: Functions in interfaces should be declared external. -// Warning: No visibility specified. Defaulting to "external". +// Warning: No visibility specified. Defaulting to "public". In interfaces it defaults to external. |