aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity
diff options
context:
space:
mode:
authorErik Kundt <bitshift@posteo.org>2018-07-18 04:46:17 +0800
committerErik Kundt <bitshift@posteo.org>2018-07-18 20:29:01 +0800
commitb0b35e1e6b762d3849710054fdb2e1909f6780d9 (patch)
tree89286fe1b0d2b74aad406f2c4a3e6699c29676b3 /libsolidity
parentde6cd2425b6ea9cdf2a7b7f49cd88e4f18fa20e3 (diff)
downloaddexon-solidity-b0b35e1e6b762d3849710054fdb2e1909f6780d9.tar
dexon-solidity-b0b35e1e6b762d3849710054fdb2e1909f6780d9.tar.gz
dexon-solidity-b0b35e1e6b762d3849710054fdb2e1909f6780d9.tar.bz2
dexon-solidity-b0b35e1e6b762d3849710054fdb2e1909f6780d9.tar.lz
dexon-solidity-b0b35e1e6b762d3849710054fdb2e1909f6780d9.tar.xz
dexon-solidity-b0b35e1e6b762d3849710054fdb2e1909f6780d9.tar.zst
dexon-solidity-b0b35e1e6b762d3849710054fdb2e1909f6780d9.zip
Adds warning if function is shadowing a contract.
Diffstat (limited to 'libsolidity')
-rw-r--r--libsolidity/analysis/NameAndTypeResolver.cpp10
1 files changed, 1 insertions, 9 deletions
diff --git a/libsolidity/analysis/NameAndTypeResolver.cpp b/libsolidity/analysis/NameAndTypeResolver.cpp
index e0880ec9..823378c7 100644
--- a/libsolidity/analysis/NameAndTypeResolver.cpp
+++ b/libsolidity/analysis/NameAndTypeResolver.cpp
@@ -482,15 +482,7 @@ bool DeclarationRegistrationHelper::registerDeclaration(
Declaration const* shadowedDeclaration = nullptr;
if (_warnOnShadow && !name.empty() && _container.enclosingContainer())
for (auto const* decl: _container.enclosingContainer()->resolveName(name, true, true))
- // Do not warn about functions shadowing a contract.
- if (
- !(
- dynamic_cast<ContractDefinition const*>(decl) &&
- dynamic_cast<FunctionDefinition const*>(&_declaration) &&
- name == decl->name()
- )
- )
- shadowedDeclaration = decl;
+ shadowedDeclaration = decl;
// We use "invisible" for both inactive variables in blocks and for members invisible in contracts.
// They cannot both be true at the same time.