Index: trunk/src/tools/gn/err.h |
=================================================================== |
--- trunk/src/tools/gn/err.h (revision 214322) |
+++ trunk/src/tools/gn/err.h (working copy) |
@@ -1,85 +0,0 @@ |
-// Copyright (c) 2013 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#ifndef TOOLS_GN_ERR_H_ |
-#define TOOLS_GN_ERR_H_ |
- |
-#include <string> |
-#include <vector> |
- |
-#include "tools/gn/location.h" |
-#include "tools/gn/token.h" |
- |
-class ParseNode; |
-class Value; |
- |
-// Result of doing some operation. Check has_error() to see if an error |
-// occurred. |
-// |
-// An error has a location and a message. Below that, is some optional help |
-// text to go with the annotation of the location. |
-// |
-// An error can also have sub-errors which are additionally printed out |
-// below. They can provide additional context. |
-class Err { |
- public: |
- typedef std::vector<LocationRange> RangeList; |
- |
- // Indicates no error. |
- Err(); |
- |
- // Error at a single point. |
- Err(const Location& location, |
- const std::string& msg, |
- const std::string& help = std::string()); |
- |
- // Error at a given range. |
- Err(const LocationRange& range, |
- const std::string& msg, |
- const std::string& help = std::string()); |
- |
- // Error at a given token. |
- Err(const Token& token, |
- const std::string& msg, |
- const std::string& help_text = std::string()); |
- |
- // Error at a given node. |
- Err(const ParseNode* node, |
- const std::string& msg, |
- const std::string& help_text = std::string()); |
- |
- // Error at a given value. |
- Err(const Value& value, |
- const std::string msg, |
- const std::string& help_text = std::string()); |
- |
- ~Err(); |
- |
- bool has_error() const { return has_error_; } |
- const Location& location() const { return location_; } |
- const std::string& message() const { return message_; } |
- const std::string& help_text() const { return help_text_; } |
- |
- void AppendRange(const LocationRange& range) { ranges_.push_back(range); } |
- const RangeList& ranges() const { return ranges_; } |
- |
- void AppendSubErr(const Err& err); |
- |
- void PrintToStdout() const; |
- |
- private: |
- void InternalPrintToStdout(bool is_sub_err) const; |
- |
- bool has_error_; |
- Location location_; |
- |
- std::vector<LocationRange> ranges_; |
- |
- std::string message_; |
- std::string help_text_; |
- |
- std::vector<Err> sub_errs_; |
-}; |
- |
-#endif // TOOLS_GN_ERR_H_ |