diff --git a/csharp/Platform.RegularExpressions.Transformer.CSharpToCpp/CSharpToCppTransformer.cs b/csharp/Platform.RegularExpressions.Transformer.CSharpToCpp/CSharpToCppTransformer.cs index 2f5dceb..4d8af23 100644 --- a/csharp/Platform.RegularExpressions.Transformer.CSharpToCpp/CSharpToCppTransformer.cs +++ b/csharp/Platform.RegularExpressions.Transformer.CSharpToCpp/CSharpToCppTransformer.cs @@ -66,10 +66,10 @@ public class CSharpToCppTransformer : TextTransformer (new Regex(@"Comparer<[^>\n]+>\.Default\.Compare\(\s*(?[^,)\n]+),\s*(?[^\)\n]+)\s*\)\s*(?[<>=]=?)\s*0(?\D)"), "${first} ${comparison} ${second}${after}", 0), // public static bool operator ==(Range left, Range right) => left.Equals(right); // - (new Regex(@"\r?\n[^\n]+bool operator ==\((?[^\n]+) (?[a-zA-Z0-9]+), \k (?[a-zA-Z0-9]+)\) => (\k|\k)\.Equals\((\k|\k)\);"), "", 10), + (new Regex(@"\r?\n[^\n]+bool operator==\((?[^\n]+) (?[a-zA-Z0-9]+), \k (?[a-zA-Z0-9]+)\) => (\k|\k)\.Equals\((\k|\k)\);"), "", 10), // public static bool operator !=(Range left, Range right) => !(left == right); // - (new Regex(@"\r?\n[^\n]+bool operator !=\((?[^\n]+) (?[a-zA-Z0-9]+), \k (?[a-zA-Z0-9]+)\) => !\((\k|\k) == (\k|\k)\);"), "", 10), + (new Regex(@"\r?\n[^\n]+bool operator!=\((?[^\n]+) (?[a-zA-Z0-9]+), \k (?[a-zA-Z0-9]+)\) => !\((\k|\k) == (\k|\k)\);"), "", 10), // public override bool Equals(object obj) => obj is Range range ? Equals(range) : false; // (new Regex(@"\r?\n[^\n]+override bool Equals\((System\.)?[Oo]bject (?[a-zA-Z0-9]+)\) => \k is [^\n]+ (?[a-zA-Z0-9]+) \? Equals\(\k\) : false;"), "", 10), @@ -358,7 +358,7 @@ public class CSharpToCppTransformer : TextTransformer (new Regex(@"(\r?\n[\t ]+)[a-zA-Z0-9]+ ([a-zA-Z0-9]+) = new ([a-zA-Z0-9]+)\[([_a-zA-Z0-9]+)\];"), "$1$3 $2[$4] = { {0} };", 0), // bool Equals(Range other) { ... } // bool operator ==(const Key &other) const { ... } - (new Regex(@"(?\r?\n[^\n]+bool )Equals\((?[^\n{]+) (?[a-zA-Z0-9]+)\)(?(\s|\n)*{)"), "${before}operator ==(const ${type} &${variable}) const${after}", 0), + (new Regex(@"(?\r?\n[^\n]+bool )Equals\((?[^\n{]+) (?[a-zA-Z0-9]+)\)(?(\s|\n)*{)"), "${before}operator==(const ${type} &${variable}) const${after}", 0), // Insert scope borders. // class Range { ... public: override std::string ToString() { return ...; } // class Range {/*~Range~*/ ... public: override std::string ToString() { return ...; } diff --git a/python/cs2cpp/cs2cpp.py b/python/cs2cpp/cs2cpp.py index 44ab7bb..a1ec78d 100644 --- a/python/cs2cpp/cs2cpp.py +++ b/python/cs2cpp/cs2cpp.py @@ -65,10 +65,10 @@ def __init__( SubRule(r"Comparer<[^>\n]+>\.Default\.Compare\(\s*(?P[^,)\n]+),\s*(?P[^\)\n]+)\s*\)\s*(?P[<>=]=?)\s*0(?P\D)", r"\g \g \g\g", max_repeat=0), # public static bool operator ==(Range left, Range right) => left.Equals(right); # - SubRule(r"\r?\n[^\n]+bool operator ==\((?P[^\n]+) (?P[a-zA-Z0-9]+), \k (?P[a-zA-Z0-9]+)\) => (\k|\k)\.Equals\((\k|\k)\);", r"", max_repeat=10), + SubRule(r"\r?\n[^\n]+bool operator==\((?P[^\n]+) (?P[a-zA-Z0-9]+), \k (?P[a-zA-Z0-9]+)\) => (\k|\k)\.Equals\((\k|\k)\);", r"", max_repeat=10), # public static bool operator !=(Range left, Range right) => !(left == right); # - SubRule(r"\r?\n[^\n]+bool operator !=\((?P[^\n]+) (?P[a-zA-Z0-9]+), \k (?P[a-zA-Z0-9]+)\) => !\((\k|\k) == (\k|\k)\);", r"", max_repeat=10), + SubRule(r"\r?\n[^\n]+bool operator!=\((?P[^\n]+) (?P[a-zA-Z0-9]+), \k (?P[a-zA-Z0-9]+)\) => !\((\k|\k) == (\k|\k)\);", r"", max_repeat=10), # public override bool Equals(object obj) => obj is Range range ? Equals(range) : false; # SubRule(r"\r?\n[^\n]+override bool Equals\((System\.)?[Oo]bject (?P[a-zA-Z0-9]+)\) => \k is [^\n]+ (?P[a-zA-Z0-9]+) \? Equals\(\k\) : false;", r"", max_repeat=10), @@ -357,7 +357,7 @@ def __init__( SubRule(r"(\r?\n[\t ]+)[a-zA-Z0-9]+ ([a-zA-Z0-9]+) = new ([a-zA-Z0-9]+)\[([_a-zA-Z0-9]+)\];", r"\1\3 \2[\4] = { {0} };", max_repeat=0), # bool Equals(Range other) { ... } # bool operator ==(const Key &other) const { ... } - SubRule(r"(?P\r?\n[^\n]+bool )Equals\((?P[^\n{]+) (?P[a-zA-Z0-9]+)\)(?P(\s|\n)*{)", r"\goperator ==(const \g &\g) const\g", max_repeat=0), + SubRule(r"(?P\r?\n[^\n]+bool )Equals\((?P[^\n{]+) (?P[a-zA-Z0-9]+)\)(?P(\s|\n)*{)", r"\goperator==(const \g &\g) const\g", max_repeat=0), # Insert scope borders. # class Range { ... public: override std::string ToString() { return ...; } # class Range {/*~Range~*/ ... public: override std::string ToString() { return ...; }