Skip to content

Commit 897df9c

Browse files
committed
More cases for tranlation of object to void pointer.
Type of ArgumentNullException is translated to std::invalid_argument. Assert.Throws translated to Assert::ExpectException.
1 parent f42f198 commit 897df9c

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

csharp/Platform.RegularExpressions.Transformer.CSharpToCpp/CSharpToCppTransformer.cs

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,10 @@ public class CSharpToCppTransformer : Transformer
209209
(new Regex(@"class ([a-zA-Z0-9]+)Tests"), "TEST_CLASS($1)", null, 0),
210210
// Assert.Equal
211211
// Assert::AreEqual
212-
(new Regex(@"Assert\.Equal"), "Assert::AreEqual", null, 0),
212+
(new Regex(@"(Assert)\.Equal"), "$1::AreEqual", null, 0),
213+
// Assert.Throws
214+
// Assert::ExpectException
215+
(new Regex(@"(Assert)\.Throws"), "$1::ExpectException", null, 0),
213216
// $"Argument {argumentName} is null."
214217
// ((std::string)"Argument ").append(argumentName).append(" is null.").data()
215218
(new Regex(@"\$""(?<left>(\\""|[^""\r\n])*){(?<expression>[_a-zA-Z0-9]+)}(?<right>(\\""|[^""\r\n])*)"""), "((std::string)$\"${left}\").append(${expression}).append(\"${right}\").data()", null, 10),
@@ -398,6 +401,12 @@ public class CSharpToCppTransformer : Transformer
398401
// object x
399402
// void *x
400403
(new Regex(@"(?<before>\r?\n[^""\r\n]*(""(\\""|[^""\r\n])*""[^""\r\n]*)*)(?<=\W)([O|o]bject|System\.Object) (?<after>\w)"), "${before}void *${after}", null, 10),
404+
// <object>
405+
// <void*>
406+
(new Regex(@"(?<before>\r?\n[^""\r\n]*(""(\\""|[^""\r\n])*""[^""\r\n]*)*)(?<=\W)([O|o]bject|System\.Object)(?<after>\w)"), "${before}void*${after}", null, 10),
407+
// ArgumentNullException
408+
// std::invalid_argument
409+
(new Regex(@"(?<before>\r?\n[^""\r\n]*(""(\\""|[^""\r\n])*""[^""\r\n]*)*)(?<=\W)(System\.)?ArgumentNullException(?<after>\w)"), "${before}std::invalid_argument${after}", null, 10),
401410
// #region Always
402411
//
403412
(new Regex(@"(^|\r?\n)[ \t]*\#(region|endregion)[^\r\n]*(\r?\n|$)"), "", null, 0),

0 commit comments

Comments
 (0)