aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libsolidity/analysis/NameAndTypeResolver.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/libsolidity/analysis/NameAndTypeResolver.cpp b/libsolidity/analysis/NameAndTypeResolver.cpp
index 5e4d414b..662792a3 100644
--- a/libsolidity/analysis/NameAndTypeResolver.cpp
+++ b/libsolidity/analysis/NameAndTypeResolver.cpp
@@ -457,9 +457,10 @@ bool DeclarationRegistrationHelper::registerDeclaration(
if (!_errorLocation)
_errorLocation = &_declaration.location();
+ string name = _name ? *_name : _declaration.name();
Declaration const* shadowedDeclaration = nullptr;
- if (_warnOnShadow && !_declaration.name().empty() && _container.enclosingContainer())
- for (auto const* decl: _container.enclosingContainer()->resolveName(_declaration.name(), true))
+ if (_warnOnShadow && !name.empty() && _container.enclosingContainer())
+ for (auto const* decl: _container.enclosingContainer()->resolveName(name, true))
shadowedDeclaration = decl;
if (!_container.registerDeclaration(_declaration, _name, !_declaration.isVisibleInContract()))