From a7d583e0fb032891897b2acc9e9673537906f983 Mon Sep 17 00:00:00 2001
From: ilor <kailoran@gmail.com>
Date: Mon, 29 Nov 2010 14:18:19 +0100
Subject: [PATCH] rework regex exception message

---
 libwccl/ops/functions/bool/predicates/regex.cpp | 14 ++++++--------
 libwccl/ops/functions/bool/predicates/regex.h   |  9 +++------
 2 files changed, 9 insertions(+), 14 deletions(-)

diff --git a/libwccl/ops/functions/bool/predicates/regex.cpp b/libwccl/ops/functions/bool/predicates/regex.cpp
index 1e4a7d8..93cfaf9 100644
--- a/libwccl/ops/functions/bool/predicates/regex.cpp
+++ b/libwccl/ops/functions/bool/predicates/regex.cpp
@@ -11,21 +11,19 @@ RegexParseError::RegexParseError(
 	const UErrorCode& status_code,
 	const UParseError& parse_error)
 	: WcclError("Could not parse regular expression."),
+	  pattern(pattern),
 	  status(u_errorName(status_code)),
-	  pattern_line(parse_error.line),
-	  offset(parse_error.offset),
-	  pre_context(PwrNlp::to_utf8(UnicodeString(parse_error.preContext))),
-	  error(PwrNlp::to_utf8(UnicodeString(parse_error.postContext))),
-	  expression(PwrNlp::to_utf8(UnicodeString(pattern)))
+	  upe(parse_error)
 {
 }
 
 std::string RegexParseError::info() const
 {
 	std::stringstream ss;
-	ss << "Could not parse regular expression at line " << pattern_line
-		<< " offset " << offset << ". Status: " << status
-		<< ". Error: " << error << ". Expression was: " << expression;
+	ss << "Could not parse regular expression at line " << upe.line
+		<< " offset " << upe.offset << ". Status: " << status
+		<< ". Error: " << PwrNlp::to_utf8(UnicodeString(upe.postContext))
+	    << ". Expression was: " << PwrNlp::to_utf8(pattern);
 	return ss.str();
 }
 
diff --git a/libwccl/ops/functions/bool/predicates/regex.h b/libwccl/ops/functions/bool/predicates/regex.h
index 7304239..367eb96 100644
--- a/libwccl/ops/functions/bool/predicates/regex.h
+++ b/libwccl/ops/functions/bool/predicates/regex.h
@@ -68,12 +68,9 @@ public:
 	
 	std::string info() const;
 
-	const std::string status;
-	const int pattern_line;
-	const int offset;
-	const std::string pre_context;
-	const std::string error;
-	const std::string expression;
+	UnicodeString pattern;
+	std::string status;
+	UParseError upe;
 };
 
 } /* end ns Wccl */
-- 
GitLab