aboutsummaryrefslogtreecommitdiff
path: root/toolsrc/src/vcpkg_Checks.cpp
diff options
context:
space:
mode:
authorAlexander Karatarakis <alkarata@microsoft.com>2017-03-13 17:38:04 -0700
committerAlexander Karatarakis <alkarata@microsoft.com>2017-03-13 17:56:21 -0700
commit4114d87a0774fff7d8bc5e041bb56158bfdbcac8 (patch)
tree5afcf15a4de03e9294e5fe3b301cdc902b01ddd6 /toolsrc/src/vcpkg_Checks.cpp
parent98ea6780e7a4af7d237783a72a2a56a6188ae3da (diff)
downloadvcpkg-4114d87a0774fff7d8bc5e041bb56158bfdbcac8.tar.gz
vcpkg-4114d87a0774fff7d8bc5e041bb56158bfdbcac8.zip
All Checks now take LineInfo as the first argument
Diffstat (limited to 'toolsrc/src/vcpkg_Checks.cpp')
-rw-r--r--toolsrc/src/vcpkg_Checks.cpp26
1 files changed, 18 insertions, 8 deletions
diff --git a/toolsrc/src/vcpkg_Checks.cpp b/toolsrc/src/vcpkg_Checks.cpp
index 911f1d9f8..81e7d3825 100644
--- a/toolsrc/src/vcpkg_Checks.cpp
+++ b/toolsrc/src/vcpkg_Checks.cpp
@@ -5,6 +5,14 @@
namespace vcpkg::Checks
{
+ static void print_line_info_if_debug(const LineInfo& line_info)
+ {
+ if (g_debugging)
+ {
+ System::println(System::color::error, line_info.toString());
+ }
+ }
+
__declspec(noreturn) void unreachable(const LineInfo& line_info)
{
System::println(System::color::error, "Error: Unreachable code was reached");
@@ -16,38 +24,40 @@ namespace vcpkg::Checks
#endif
}
- __declspec(noreturn) void exit_with_message(const char* errorMessage)
+ __declspec(noreturn) void exit_with_message(const LineInfo& line_info, const char* errorMessage)
{
System::println(System::color::error, errorMessage);
+ print_line_info_if_debug(line_info);
exit(EXIT_FAILURE);
}
- __declspec(noreturn) void throw_with_message(const char* errorMessage)
+ __declspec(noreturn) void throw_with_message(const LineInfo& line_info, const char* errorMessage)
{
+ print_line_info_if_debug(line_info);
throw std::runtime_error(errorMessage);
}
- void check_throw(bool expression, const char* errorMessage)
+ void check_throw(const LineInfo& line_info, bool expression, const char* errorMessage)
{
if (!expression)
{
- throw_with_message(errorMessage);
+ throw_with_message(line_info, errorMessage);
}
}
- void check_exit(bool expression)
+ void check_exit(const LineInfo& line_info, bool expression)
{
if (!expression)
{
- exit(EXIT_FAILURE);
+ exit_with_message(line_info, "");
}
}
- void check_exit(bool expression, const char* errorMessage)
+ void check_exit(const LineInfo& line_info, bool expression, const char* errorMessage)
{
if (!expression)
{
- exit_with_message(errorMessage);
+ exit_with_message(line_info, errorMessage);
}
}
}