diff --git a/libwccl/ops/functions/bool/predicates/regex.cpp b/libwccl/ops/functions/bool/predicates/regex.cpp index 1e4a7d8ff079bc213268bd17cb4f2f02a7f1c274..93cfaf90ec5b6ce91a4bfb38efc2bbeada4db4dc 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 7304239c6ed859605a65a8c3e02f55f7cf9ab89a..367eb96e989b9dfee949287fa967f739bd5ebcd8 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 */