aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/analysis
diff options
context:
space:
mode:
authorFederico Bond <federicobond@gmail.com>2017-10-04 23:09:52 +0800
committerFederico Bond <federicobond@gmail.com>2017-10-05 00:30:26 +0800
commit76d3d248426994b35c5bc2d92e9ba479cbf44ddc (patch)
treec3ab8259ae40634a0b6f84ddee37b273c97a7651 /libsolidity/analysis
parent19274c78904632d568bf56e95603d22ef091ce77 (diff)
downloaddexon-solidity-76d3d248426994b35c5bc2d92e9ba479cbf44ddc.tar.gz
dexon-solidity-76d3d248426994b35c5bc2d92e9ba479cbf44ddc.tar.zst
dexon-solidity-76d3d248426994b35c5bc2d92e9ba479cbf44ddc.zip
Do not consider shadowing in variable names inside event declarations
Diffstat (limited to 'libsolidity/analysis')
-rw-r--r--libsolidity/analysis/NameAndTypeResolver.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/libsolidity/analysis/NameAndTypeResolver.cpp b/libsolidity/analysis/NameAndTypeResolver.cpp
index 523e7176..5d010693 100644
--- a/libsolidity/analysis/NameAndTypeResolver.cpp
+++ b/libsolidity/analysis/NameAndTypeResolver.cpp
@@ -647,10 +647,12 @@ void DeclarationRegistrationHelper::registerDeclaration(Declaration& _declaratio
bool warnAboutShadowing = true;
// Do not warn about shadowing for structs and enums because their members are
- // not accessible without prefixes.
+ // not accessible without prefixes. Also do not warn about event parameters
+ // because they don't participate in any proper scope.
if (
dynamic_cast<StructDefinition const*>(m_currentScope) ||
- dynamic_cast<EnumDefinition const*>(m_currentScope)
+ dynamic_cast<EnumDefinition const*>(m_currentScope) ||
+ dynamic_cast<EventDefinition const*>(m_currentScope)
)
warnAboutShadowing = false;
// Do not warn about the constructor shadowing the contract.