diff options
author | Balajiganapathi S <balajiganapathi.s@gmail.com> | 2017-10-29 16:08:40 +0800 |
---|---|---|
committer | Alex Beregszaszi <alex@rtfs.hu> | 2018-02-13 22:54:36 +0800 |
commit | 2859834e58e37e7b15a15f7df60feef3e1527c97 (patch) | |
tree | 65ec5738fb2e1cd029eece2364b63f3fd46d7da1 /libsolidity/analysis/ReferencesResolver.cpp | |
parent | 8f8ad3840eecd7b22565e0c36eb55ceca5d5b57a (diff) | |
download | dexon-solidity-2859834e58e37e7b15a15f7df60feef3e1527c97.tar dexon-solidity-2859834e58e37e7b15a15f7df60feef3e1527c97.tar.gz dexon-solidity-2859834e58e37e7b15a15f7df60feef3e1527c97.tar.bz2 dexon-solidity-2859834e58e37e7b15a15f7df60feef3e1527c97.tar.lz dexon-solidity-2859834e58e37e7b15a15f7df60feef3e1527c97.tar.xz dexon-solidity-2859834e58e37e7b15a15f7df60feef3e1527c97.tar.zst dexon-solidity-2859834e58e37e7b15a15f7df60feef3e1527c97.zip |
Suggest alternatives when identifier not found.
Diffstat (limited to 'libsolidity/analysis/ReferencesResolver.cpp')
-rw-r--r-- | libsolidity/analysis/ReferencesResolver.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/libsolidity/analysis/ReferencesResolver.cpp b/libsolidity/analysis/ReferencesResolver.cpp index 451d6c93..1b0e8179 100644 --- a/libsolidity/analysis/ReferencesResolver.cpp +++ b/libsolidity/analysis/ReferencesResolver.cpp @@ -47,7 +47,11 @@ bool ReferencesResolver::visit(Identifier const& _identifier) { auto declarations = m_resolver.nameFromCurrentScope(_identifier.name()); if (declarations.empty()) - declarationError(_identifier.location(), "Undeclared identifier."); + { + string const& suggestions = m_resolver.similarNameSuggestions(_identifier.name()); + string errorMessage = "Undeclared identifier." + (suggestions.empty()? "": " Did you mean " + suggestions + "?"); + declarationError(_identifier.location(), errorMessage); + } else if (declarations.size() == 1) _identifier.annotation().referencedDeclaration = declarations.front(); else |