Skip to content

Commit 07f9100

Browse files
committed
Version 0.0.20. Added support for NotSupportedException, NotImplementedException, ArgumentException and ArgumentNullException exceptions.
1 parent 9fe7d78 commit 07f9100

File tree

2 files changed

+15
-2
lines changed

2 files changed

+15
-2
lines changed

Platform.RegularExpressions.Transformer.CSharpToCpp/CSharpToCppTransformer.cs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -248,6 +248,19 @@ public class CSharpToCppTransformer : Transformer
248248
// /*method-start*/
249249
//
250250
(new Regex(@"/\*method-(start|end)\*/"), "", null, 0),
251+
// throw new ArgumentNullException(argumentName, message);
252+
// throw std::invalid_argument(((std::string)"Argument ").append(argumentName).append(" is null: ").append(message).append("."));
253+
(new Regex(@"throw new ArgumentNullException\((?<argument>[a-zA-Z]*[Aa]rgument[a-zA-Z]*), (?<message>[a-zA-Z]*[Mm]essage[a-zA-Z]*)\);"), "throw std::invalid_argument(((std::string)\"Argument \").append(${argument}).append(\" is null: \").append(${message}).append(\".\"));", null, 0),
254+
// throw new ArgumentException(message, argumentName);
255+
// throw std::invalid_argument(((std::string)"Invalid ").append(argumentName).append(" argument: ").append(message).append("."));
256+
(new Regex(@"throw new ArgumentException\((?<message>[a-zA-Z]*[Mm]essage[a-zA-Z]*), (?<argument>[a-zA-Z]*[Aa]rgument[a-zA-Z]*)\);"), "throw std::invalid_argument(((std::string)\"Invalid \").append(${argument}).append(\" argument: \").append(${message}).append(\".\"));", null, 0),
257+
// throw new NotSupportedException();
258+
// throw std::logic_error("Not supported exception.");
259+
(new Regex(@"throw new NotSupportedException\(\);"), "throw std::logic_error(\"Not supported exception.\");", null, 0),
260+
// throw new NotImplementedException();
261+
// throw std::logic_error("Not implemented exception.");
262+
(new Regex(@"throw new NotImplementedException\(\);"), "throw std::logic_error(\"Not implemented exception.\");", null, 0),
263+
251264
}.Cast<ISubstitutionRule>().ToList();
252265

253266
public static readonly IList<ISubstitutionRule> LastStage = new List<SubstitutionRule>

Platform.RegularExpressions.Transformer.CSharpToCpp/Platform.RegularExpressions.Transformer.CSharpToCpp.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<Description>LinksPlatform's Platform.RegularExpressions.Transformer.CSharpToCpp Class Library</Description>
55
<Copyright>Konstantin Diachenko</Copyright>
66
<AssemblyTitle>Platform.RegularExpressions.Transformer.CSharpToCpp</AssemblyTitle>
7-
<VersionPrefix>0.0.19</VersionPrefix>
7+
<VersionPrefix>0.0.20</VersionPrefix>
88
<Authors>Konstantin Diachenko</Authors>
99
<TargetFrameworks>net471;netstandard2.0;netstandard2.1</TargetFrameworks>
1010
<AssemblyName>Platform.RegularExpressions.Transformer.CSharpToCpp</AssemblyName>
@@ -24,7 +24,7 @@
2424
<IncludeSymbols>true</IncludeSymbols>
2525
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
2626
<LangVersion>latest</LangVersion>
27-
<PackageReleaseNotes>Added support for static fields initialization with class instances with parameterless constructors in static classes.</PackageReleaseNotes>
27+
<PackageReleaseNotes>Added support for NotSupportedException, NotImplementedException, ArgumentException and ArgumentNullException exceptions.</PackageReleaseNotes>
2828
</PropertyGroup>
2929

3030
<ItemGroup Condition="$(TargetFramework.StartsWith('net4')) AND '$(MSBuildRuntimeType)' == 'Core' AND '$(OS)' != 'Windows_NT'">

0 commit comments

Comments
 (0)