diff options
-rw-r--r-- | libsolidity/analysis/ReferencesResolver.cpp | 8 | ||||
-rw-r--r-- | libsolidity/analysis/ReferencesResolver.h | 7 |
2 files changed, 12 insertions, 3 deletions
diff --git a/libsolidity/analysis/ReferencesResolver.cpp b/libsolidity/analysis/ReferencesResolver.cpp index d814f5ec..edf2fc02 100644 --- a/libsolidity/analysis/ReferencesResolver.cpp +++ b/libsolidity/analysis/ReferencesResolver.cpp @@ -191,7 +191,7 @@ bool ReferencesResolver::visit(InlineAssembly const& _inlineAssembly) if (auto var = dynamic_cast<VariableDeclaration const*>(declarations.front())) if (var->isLocalVariable() && _crossesFunctionBoundary) { - m_errorReporter.declarationError(_identifier.location, "Cannot access local Solidity variables from inside an inline assembly function."); + declarationError(_identifier.location, "Cannot access local Solidity variables from inside an inline assembly function."); return size_t(-1); } _inlineAssembly.annotation().externalReferences[&_identifier].isSlot = isSlot; @@ -321,6 +321,12 @@ void ReferencesResolver::fatalTypeError(SourceLocation const& _location, string m_errorReporter.fatalTypeError(_location, _description); } +void ReferencesResolver::declarationError(SourceLocation const& _location, string const& _description) +{ + m_errorOccurred = true; + m_errorReporter.declarationError(_location, _description); +} + void ReferencesResolver::fatalDeclarationError(SourceLocation const& _location, string const& _description) { m_errorOccurred = true; diff --git a/libsolidity/analysis/ReferencesResolver.h b/libsolidity/analysis/ReferencesResolver.h index bbde19f9..fef2e73f 100644 --- a/libsolidity/analysis/ReferencesResolver.h +++ b/libsolidity/analysis/ReferencesResolver.h @@ -75,10 +75,13 @@ private: /// Adds a new error to the list of errors. void typeError(SourceLocation const& _location, std::string const& _description); - /// Adds a new error to the list of errors and throws to abort type checking. + /// Adds a new error to the list of errors and throws to abort reference resolving. void fatalTypeError(SourceLocation const& _location, std::string const& _description); - /// Adds a new error to the list of errors and throws to abort type checking. + /// Adds a new error to the list of errors. + void declarationError(SourceLocation const& _location, std::string const& _description); + + /// Adds a new error to the list of errors and throws to abort reference resolving. void fatalDeclarationError(SourceLocation const& _location, std::string const& _description); ErrorReporter& m_errorReporter; |