summaryrefslogtreecommitdiff
path: root/lily/input.cc
diff options
context:
space:
mode:
authorReinhold Kainhofer <reinhold@kainhofer.com>2011-09-18 02:09:41 +0200
committerReinhold Kainhofer <reinhold@kainhofer.com>2011-09-23 18:46:22 +0200
commit05f05a51ca0078ce9a8c87cbf30ac7fbd4def706 (patch)
treea842e5356d1740d44079fedb425d55cd386040f6 /lily/input.cc
parent2aeac5e3815effa47427dad86d6be811c7b0d8a2 (diff)
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
Diffstat (limited to 'lily/input.cc')
-rw-r--r--lily/input.cc34
1 files changed, 17 insertions, 17 deletions
diff --git a/lily/input.cc b/lily/input.cc
index 292e06a449..28923f4948 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_);
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