[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Message-handling: Make the Input class use the functions in warn.cc (iss
From: |
reinhold . kainhofer |
Subject: |
Message-handling: Make the Input class use the functions in warn.cc (issue 5032048) |
Date: |
Sun, 18 Sep 2011 00:13:06 +0000 |
Reviewers: ,
Message:
Please review this patch, which moves all message formatting from the
Input class to the warn.cc functions. So far, there was some duplication
in those two places.
Description:
Message-handling: Make the Input class use the functions in warn.cc
This allows us to handle all warnings/error really similar in warn.cc.
For example, we can then
simply suppress some warnings by only checking in warn.cc. This patch
makes the whole handling
much more consistent, as now everything is in warn.cc
Please review this at http://codereview.appspot.com/5032048/
Affected files:
M lily/include/input.hh
M lily/input.cc
Index: lily/include/input.hh
diff --git a/lily/include/input.hh b/lily/include/input.hh
index
91c15df3299dba369b234c1e2de9d84ff0ffb1f0..c319de0829e8c425b2c66a5b24ca77da88d91df9
100644
--- a/lily/include/input.hh
+++ b/lily/include/input.hh
@@ -62,7 +62,8 @@ public:
Input (Input const &i);
Input ();
protected:
- void print_message (int level, string s) const;
+ string message_location () const;
+ string message_string (string msg) const;
};
#include "smobs.hh"
Index: lily/input.cc
diff --git a/lily/input.cc b/lily/input.cc
index
292e06a44950fc623eab74d985faacd6f9534a39..563724584e0f2536793fcac35ff68a01f29e8007
100644
--- a/lily/input.cc
+++ b/lily/input.cc
@@ -78,21 +78,24 @@ Input::set_location (Input const &i_start, Input const
&i_end)
[file:line:column:][warning:]message
*/
-void
-Input::print_message (int level, string s) const
+string
+Input::message_string (string msg) const
{
- string location;
if (source_file_)
- ::print_message (level, location_string (),
- s + "\n" + source_file_->quote_input (start_) + "\n");
+ return msg + "\n" + source_file_->quote_input (start_) + "\n";
else
- ::print_message (level, "", s);
+ return msg;
}
+string
+Input::message_location () const
+{
+ return (source_file_) ? location_string () : "";
+}
void
Input::error (string s) const
{
- print_message (LOG_ERROR, _f ("error: %s", s));
+ ::non_fatal_error (message_string (s), message_location ());
// UGH, fix naming or usage (use non_fatal_error in most places, instead)
// exit (1);
}
@@ -101,39 +104,36 @@ void
Input::programming_error (string s) const
{
if (get_program_option ("warning-as-error"))
- error (s);
+ ::error (message_string (s), message_location ());
else
- {
- print_message (LOG_ERROR, _f ("programming error: %s", s));
- print_message (LOG_ERROR, _ ("continuing, cross fingers") + "\n");
- }
+ ::programming_error (message_string (s), message_location ());
}
void
Input::non_fatal_error (string s) const
{
- print_message (LOG_ERROR, _f ("error: %s", s));
+ ::non_fatal_error (message_string (s), message_location ());
}
void
Input::warning (string s) const
{
if (get_program_option ("warning-as-error"))
- error (s);
+ ::non_fatal_error (message_string (s), message_location ());
else
- print_message (LOG_WARN, _f ("warning: %s", s));
+ ::warning (message_string (s), message_location ());
}
void
Input::message (string s) const
{
- print_message (LOG_INFO, s);
+ ::message (message_string (s), true, message_location ());
}
void
Input::debug_output (string s) const
{
- print_message (LOG_DEBUG, s);
+ ::debug_output (message_string (s), true, message_location ());
}
string
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Message-handling: Make the Input class use the functions in warn.cc (issue 5032048),
reinhold . kainhofer <=