mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Refactor error reporting
This commit introduces ErrorReporter, a utility class which consolidates all of the error logging functionality into a common set of functions. It also replaces all direct interactions with an ErrorList with calls to an ErrorReporter. This commit resolves issue #2209
This commit is contained in:
@@ -38,14 +38,11 @@ class SyntaxChecker: private ASTConstVisitor
|
||||
{
|
||||
public:
|
||||
/// @param _errors the reference to the list of errors and warnings to add them found during type checking.
|
||||
SyntaxChecker(ErrorList& _errors): m_errors(_errors) {}
|
||||
SyntaxChecker(ErrorReporter& _errorReporter): m_errorReporter(_errorReporter) {}
|
||||
|
||||
bool checkSyntax(ASTNode const& _astRoot);
|
||||
|
||||
private:
|
||||
/// Adds a new error to the list of errors.
|
||||
void warning(SourceLocation const& _location, std::string const& _description);
|
||||
void syntaxError(SourceLocation const& _location, std::string const& _description);
|
||||
|
||||
virtual bool visit(SourceUnit const& _sourceUnit) override;
|
||||
virtual void endVisit(SourceUnit const& _sourceUnit) override;
|
||||
@@ -66,7 +63,7 @@ private:
|
||||
|
||||
virtual bool visit(PlaceholderStatement const& _placeholderStatement) override;
|
||||
|
||||
ErrorList& m_errors;
|
||||
ErrorReporter& m_errorReporter;
|
||||
|
||||
/// Flag that indicates whether a function modifier actually contains '_'.
|
||||
bool m_placeholderFound = false;
|
||||
|
||||
Reference in New Issue
Block a user