Skip to content

Commit 9352ec8

Browse files
committed
decode -> parse, encode -> format
1 parent 82b645f commit 9352ec8

1 file changed

Lines changed: 13 additions & 13 deletions

File tree

runtime-light/stdlib/string/regex-functions.cpp

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -121,18 +121,18 @@ std::optional<backref> try_get_backref(std::string_view preg_replacement) noexce
121121

122122
using replacement_term = std::variant<char, backref>;
123123

124-
class preg_replacement_decoder {
124+
class preg_replacement_parser {
125125
std::string_view preg_replacement;
126126

127127
public:
128-
preg_replacement_decoder(std::string_view preg_replacement)
128+
preg_replacement_parser(std::string_view preg_replacement)
129129
: preg_replacement{preg_replacement} {}
130130

131131
bool has_next() const noexcept {
132132
return !preg_replacement.empty();
133133
}
134134

135-
replacement_term decode_term() noexcept {
135+
replacement_term parse_term() noexcept {
136136
auto first_char{preg_replacement.front()};
137137
preg_replacement = preg_replacement.substr(1);
138138
if (preg_replacement.empty()) {
@@ -187,18 +187,18 @@ class preg_replacement_decoder {
187187
}
188188
};
189189

190-
class pcre2_replacement_encoder {
190+
class pcre2_replacement_formatter {
191191
kphp::stl::string<kphp::memory::script_allocator> pcre2_replacement{};
192192

193193
public:
194-
void encode_char(char c) noexcept {
194+
void format_char(char c) noexcept {
195195
pcre2_replacement.push_back(c);
196196
if (c == '$') {
197197
pcre2_replacement.push_back('$');
198198
}
199199
}
200200

201-
void encode_backref(backref backreference) noexcept {
201+
void format_backref(backref backreference) noexcept {
202202
pcre2_replacement.reserve(pcre2_replacement.size() + backreference.digits.size() + 3);
203203
pcre2_replacement.append("${");
204204
pcre2_replacement.append(backreference.digits);
@@ -700,16 +700,16 @@ Optional<string> f$preg_replace(const string& pattern, const string& replacement
700700
}
701701

702702
// we need to replace PHP's back references with PCRE2 ones
703-
auto decoder{preg_replacement_decoder{{replacement.c_str(), replacement.size()}}};
704-
pcre2_replacement_encoder encoder{};
705-
while (decoder.has_next()) {
706-
if (auto term{decoder.decode_term()}; std::holds_alternative<char>(term)) {
707-
encoder.encode_char(std::get<char>(term));
703+
auto parser{preg_replacement_parser{{replacement.c_str(), replacement.size()}}};
704+
pcre2_replacement_formatter formatter{};
705+
while (parser.has_next()) {
706+
if (auto term{parser.parse_term()}; std::holds_alternative<char>(term)) {
707+
formatter.format_char(std::get<char>(term));
708708
} else {
709-
encoder.encode_backref(std::get<backref>(term));
709+
formatter.format_backref(std::get<backref>(term));
710710
}
711711
}
712-
auto& pcre2_replacement{encoder.result()};
712+
auto& pcre2_replacement{formatter.result()};
713713

714714
RegexInfo regex_info{{pattern.c_str(), pattern.size()}, {subject.c_str(), subject.size()}, {pcre2_replacement.c_str(), pcre2_replacement.size()}};
715715

0 commit comments

Comments
 (0)