Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks
Which means that reduz' beloved style which we all became used to will now be changed automatically to remove the first empty line. This makes us lean closer to 1TBS (the one true brace style) instead of hybridating it with some Allman-inspired spacing. There's still the case of braces around single-statement blocks that needs to be addressed (but clang-format can't help with that, but clang-tidy may if we agree about it). Part of #33027.
This commit is contained in:
@ -36,26 +36,21 @@ extern "C" {
|
||||
}
|
||||
|
||||
static void *_regex_malloc(PCRE2_SIZE size, void *user) {
|
||||
|
||||
return memalloc(size);
|
||||
}
|
||||
|
||||
static void _regex_free(void *ptr, void *user) {
|
||||
|
||||
memfree(ptr);
|
||||
}
|
||||
|
||||
int RegExMatch::_find(const Variant &p_name) const {
|
||||
|
||||
if (p_name.is_num()) {
|
||||
|
||||
int i = (int)p_name;
|
||||
if (i >= data.size())
|
||||
return -1;
|
||||
return i;
|
||||
|
||||
} else if (p_name.get_type() == Variant::STRING) {
|
||||
|
||||
const Map<String, int>::Element *found = names.find((String)p_name);
|
||||
if (found)
|
||||
return found->value();
|
||||
@ -65,19 +60,16 @@ int RegExMatch::_find(const Variant &p_name) const {
|
||||
}
|
||||
|
||||
String RegExMatch::get_subject() const {
|
||||
|
||||
return subject;
|
||||
}
|
||||
|
||||
int RegExMatch::get_group_count() const {
|
||||
|
||||
if (data.size() == 0)
|
||||
return 0;
|
||||
return data.size() - 1;
|
||||
}
|
||||
|
||||
Dictionary RegExMatch::get_names() const {
|
||||
|
||||
Dictionary result;
|
||||
|
||||
for (const Map<String, int>::Element *i = names.front(); i != nullptr; i = i->next()) {
|
||||
@ -88,13 +80,11 @@ Dictionary RegExMatch::get_names() const {
|
||||
}
|
||||
|
||||
Array RegExMatch::get_strings() const {
|
||||
|
||||
Array result;
|
||||
|
||||
int size = data.size();
|
||||
|
||||
for (int i = 0; i < size; i++) {
|
||||
|
||||
int start = data[i].start;
|
||||
|
||||
if (start == -1) {
|
||||
@ -111,7 +101,6 @@ Array RegExMatch::get_strings() const {
|
||||
}
|
||||
|
||||
String RegExMatch::get_string(const Variant &p_name) const {
|
||||
|
||||
int id = _find(p_name);
|
||||
|
||||
if (id < 0)
|
||||
@ -128,7 +117,6 @@ String RegExMatch::get_string(const Variant &p_name) const {
|
||||
}
|
||||
|
||||
int RegExMatch::get_start(const Variant &p_name) const {
|
||||
|
||||
int id = _find(p_name);
|
||||
|
||||
if (id < 0)
|
||||
@ -138,7 +126,6 @@ int RegExMatch::get_start(const Variant &p_name) const {
|
||||
}
|
||||
|
||||
int RegExMatch::get_end(const Variant &p_name) const {
|
||||
|
||||
int id = _find(p_name);
|
||||
|
||||
if (id < 0)
|
||||
@ -148,7 +135,6 @@ int RegExMatch::get_end(const Variant &p_name) const {
|
||||
}
|
||||
|
||||
void RegExMatch::_bind_methods() {
|
||||
|
||||
ClassDB::bind_method(D_METHOD("get_subject"), &RegExMatch::get_subject);
|
||||
ClassDB::bind_method(D_METHOD("get_group_count"), &RegExMatch::get_group_count);
|
||||
ClassDB::bind_method(D_METHOD("get_names"), &RegExMatch::get_names);
|
||||
@ -163,28 +149,22 @@ void RegExMatch::_bind_methods() {
|
||||
}
|
||||
|
||||
void RegEx::_pattern_info(uint32_t what, void *where) const {
|
||||
|
||||
if (sizeof(CharType) == 2) {
|
||||
|
||||
pcre2_pattern_info_16((pcre2_code_16 *)code, what, where);
|
||||
|
||||
} else {
|
||||
|
||||
pcre2_pattern_info_32((pcre2_code_32 *)code, what, where);
|
||||
}
|
||||
}
|
||||
|
||||
void RegEx::clear() {
|
||||
|
||||
if (sizeof(CharType) == 2) {
|
||||
|
||||
if (code) {
|
||||
pcre2_code_free_16((pcre2_code_16 *)code);
|
||||
code = nullptr;
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
if (code) {
|
||||
pcre2_code_free_32((pcre2_code_32 *)code);
|
||||
code = nullptr;
|
||||
@ -193,7 +173,6 @@ void RegEx::clear() {
|
||||
}
|
||||
|
||||
Error RegEx::compile(const String &p_pattern) {
|
||||
|
||||
pattern = p_pattern;
|
||||
clear();
|
||||
|
||||
@ -202,7 +181,6 @@ Error RegEx::compile(const String &p_pattern) {
|
||||
uint32_t flags = PCRE2_DUPNAMES;
|
||||
|
||||
if (sizeof(CharType) == 2) {
|
||||
|
||||
pcre2_general_context_16 *gctx = (pcre2_general_context_16 *)general_ctx;
|
||||
pcre2_compile_context_16 *cctx = pcre2_compile_context_create_16(gctx);
|
||||
PCRE2_SPTR16 p = (PCRE2_SPTR16)pattern.c_str();
|
||||
@ -220,7 +198,6 @@ Error RegEx::compile(const String &p_pattern) {
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
pcre2_general_context_32 *gctx = (pcre2_general_context_32 *)general_ctx;
|
||||
pcre2_compile_context_32 *cctx = pcre2_compile_context_create_32(gctx);
|
||||
PCRE2_SPTR32 p = (PCRE2_SPTR32)pattern.c_str();
|
||||
@ -241,7 +218,6 @@ Error RegEx::compile(const String &p_pattern) {
|
||||
}
|
||||
|
||||
Ref<RegExMatch> RegEx::search(const String &p_subject, int p_offset, int p_end) const {
|
||||
|
||||
ERR_FAIL_COND_V(!is_valid(), nullptr);
|
||||
|
||||
Ref<RegExMatch> result = memnew(RegExMatch);
|
||||
@ -251,7 +227,6 @@ Ref<RegExMatch> RegEx::search(const String &p_subject, int p_offset, int p_end)
|
||||
length = p_end;
|
||||
|
||||
if (sizeof(CharType) == 2) {
|
||||
|
||||
pcre2_code_16 *c = (pcre2_code_16 *)code;
|
||||
pcre2_general_context_16 *gctx = (pcre2_general_context_16 *)general_ctx;
|
||||
pcre2_match_context_16 *mctx = pcre2_match_context_create_16(gctx);
|
||||
@ -272,7 +247,6 @@ Ref<RegExMatch> RegEx::search(const String &p_subject, int p_offset, int p_end)
|
||||
result->data.resize(size);
|
||||
|
||||
for (uint32_t i = 0; i < size; i++) {
|
||||
|
||||
result->data.write[i].start = ovector[i * 2];
|
||||
result->data.write[i].end = ovector[i * 2 + 1];
|
||||
}
|
||||
@ -281,7 +255,6 @@ Ref<RegExMatch> RegEx::search(const String &p_subject, int p_offset, int p_end)
|
||||
pcre2_match_context_free_16(mctx);
|
||||
|
||||
} else {
|
||||
|
||||
pcre2_code_32 *c = (pcre2_code_32 *)code;
|
||||
pcre2_general_context_32 *gctx = (pcre2_general_context_32 *)general_ctx;
|
||||
pcre2_match_context_32 *mctx = pcre2_match_context_create_32(gctx);
|
||||
@ -304,7 +277,6 @@ Ref<RegExMatch> RegEx::search(const String &p_subject, int p_offset, int p_end)
|
||||
result->data.resize(size);
|
||||
|
||||
for (uint32_t i = 0; i < size; i++) {
|
||||
|
||||
result->data.write[i].start = ovector[i * 2];
|
||||
result->data.write[i].end = ovector[i * 2 + 1];
|
||||
}
|
||||
@ -324,7 +296,6 @@ Ref<RegExMatch> RegEx::search(const String &p_subject, int p_offset, int p_end)
|
||||
_pattern_info(PCRE2_INFO_NAMEENTRYSIZE, &entry_size);
|
||||
|
||||
for (uint32_t i = 0; i < count; i++) {
|
||||
|
||||
CharType id = table[i * entry_size];
|
||||
if (result->data[id].start == -1)
|
||||
continue;
|
||||
@ -339,7 +310,6 @@ Ref<RegExMatch> RegEx::search(const String &p_subject, int p_offset, int p_end)
|
||||
}
|
||||
|
||||
Array RegEx::search_all(const String &p_subject, int p_offset, int p_end) const {
|
||||
|
||||
int last_end = -1;
|
||||
Array result;
|
||||
Ref<RegExMatch> match = search(p_subject, p_offset, p_end);
|
||||
@ -354,7 +324,6 @@ Array RegEx::search_all(const String &p_subject, int p_offset, int p_end) const
|
||||
}
|
||||
|
||||
String RegEx::sub(const String &p_subject, const String &p_replacement, bool p_all, int p_offset, int p_end) const {
|
||||
|
||||
ERR_FAIL_COND_V(!is_valid(), String());
|
||||
|
||||
// safety_zone is the number of chars we allocate in addition to the number of chars expected in order to
|
||||
@ -376,7 +345,6 @@ String RegEx::sub(const String &p_subject, const String &p_replacement, bool p_a
|
||||
length = p_end;
|
||||
|
||||
if (sizeof(CharType) == 2) {
|
||||
|
||||
pcre2_code_16 *c = (pcre2_code_16 *)code;
|
||||
pcre2_general_context_16 *gctx = (pcre2_general_context_16 *)general_ctx;
|
||||
pcre2_match_context_16 *mctx = pcre2_match_context_create_16(gctx);
|
||||
@ -401,7 +369,6 @@ String RegEx::sub(const String &p_subject, const String &p_replacement, bool p_a
|
||||
return String();
|
||||
|
||||
} else {
|
||||
|
||||
pcre2_code_32 *c = (pcre2_code_32 *)code;
|
||||
pcre2_general_context_32 *gctx = (pcre2_general_context_32 *)general_ctx;
|
||||
pcre2_match_context_32 *mctx = pcre2_match_context_create_32(gctx);
|
||||
@ -430,17 +397,14 @@ String RegEx::sub(const String &p_subject, const String &p_replacement, bool p_a
|
||||
}
|
||||
|
||||
bool RegEx::is_valid() const {
|
||||
|
||||
return (code != nullptr);
|
||||
}
|
||||
|
||||
String RegEx::get_pattern() const {
|
||||
|
||||
return pattern;
|
||||
}
|
||||
|
||||
int RegEx::get_group_count() const {
|
||||
|
||||
ERR_FAIL_COND_V(!is_valid(), 0);
|
||||
|
||||
uint32_t count;
|
||||
@ -451,7 +415,6 @@ int RegEx::get_group_count() const {
|
||||
}
|
||||
|
||||
Array RegEx::get_names() const {
|
||||
|
||||
Array result;
|
||||
|
||||
ERR_FAIL_COND_V(!is_valid(), result);
|
||||
@ -465,7 +428,6 @@ Array RegEx::get_names() const {
|
||||
_pattern_info(PCRE2_INFO_NAMEENTRYSIZE, &entry_size);
|
||||
|
||||
for (uint32_t i = 0; i < count; i++) {
|
||||
|
||||
String name = &table[i * entry_size + 1];
|
||||
if (result.find(name) < 0) {
|
||||
result.append(name);
|
||||
@ -476,26 +438,20 @@ Array RegEx::get_names() const {
|
||||
}
|
||||
|
||||
RegEx::RegEx() {
|
||||
|
||||
if (sizeof(CharType) == 2) {
|
||||
|
||||
general_ctx = pcre2_general_context_create_16(&_regex_malloc, &_regex_free, nullptr);
|
||||
|
||||
} else {
|
||||
|
||||
general_ctx = pcre2_general_context_create_32(&_regex_malloc, &_regex_free, nullptr);
|
||||
}
|
||||
code = nullptr;
|
||||
}
|
||||
|
||||
RegEx::RegEx(const String &p_pattern) {
|
||||
|
||||
if (sizeof(CharType) == 2) {
|
||||
|
||||
general_ctx = pcre2_general_context_create_16(&_regex_malloc, &_regex_free, nullptr);
|
||||
|
||||
} else {
|
||||
|
||||
general_ctx = pcre2_general_context_create_32(&_regex_malloc, &_regex_free, nullptr);
|
||||
}
|
||||
code = nullptr;
|
||||
@ -503,15 +459,12 @@ RegEx::RegEx(const String &p_pattern) {
|
||||
}
|
||||
|
||||
RegEx::~RegEx() {
|
||||
|
||||
if (sizeof(CharType) == 2) {
|
||||
|
||||
if (code)
|
||||
pcre2_code_free_16((pcre2_code_16 *)code);
|
||||
pcre2_general_context_free_16((pcre2_general_context_16 *)general_ctx);
|
||||
|
||||
} else {
|
||||
|
||||
if (code)
|
||||
pcre2_code_free_32((pcre2_code_32 *)code);
|
||||
pcre2_general_context_free_32((pcre2_general_context_32 *)general_ctx);
|
||||
@ -519,7 +472,6 @@ RegEx::~RegEx() {
|
||||
}
|
||||
|
||||
void RegEx::_bind_methods() {
|
||||
|
||||
ClassDB::bind_method(D_METHOD("clear"), &RegEx::clear);
|
||||
ClassDB::bind_method(D_METHOD("compile", "pattern"), &RegEx::compile);
|
||||
ClassDB::bind_method(D_METHOD("search", "subject", "offset", "end"), &RegEx::search, DEFVAL(0), DEFVAL(-1));
|
||||
|
||||
@ -39,7 +39,6 @@
|
||||
#include "core/vector.h"
|
||||
|
||||
class RegExMatch : public Reference {
|
||||
|
||||
GDCLASS(RegExMatch, Reference);
|
||||
|
||||
struct Range {
|
||||
@ -70,7 +69,6 @@ public:
|
||||
};
|
||||
|
||||
class RegEx : public Reference {
|
||||
|
||||
GDCLASS(RegEx, Reference);
|
||||
|
||||
void *general_ctx;
|
||||
|
||||
@ -33,7 +33,6 @@
|
||||
#include "regex.h"
|
||||
|
||||
void register_regex_types() {
|
||||
|
||||
ClassDB::register_class<RegExMatch>();
|
||||
ClassDB::register_class<RegEx>();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user