Browse Source

Be more strict when constructing a regex for parsing macros.

pull/1511/head
Joao Matos 5 years ago committed by João Matos
parent
commit
80a83ceada
  1. 4
      src/Generator/Library.cs
  2. 2
      tests/CSharp/CSharp.cs

4
src/Generator/Library.cs

@ -146,8 +146,8 @@ namespace CppSharp
{ {
var @enum = new Enumeration { Name = name }; var @enum = new Enumeration { Name = name };
var pattern = string.Join("|", macros); var regexPattern = string.Join("|", macros.Select(pattern => $"({pattern}$)"));
var regex = new Regex(pattern); var regex = new Regex(regexPattern);
int maxItems = 0; int maxItems = 0;
TranslationUnit unitToAttach = null; TranslationUnit unitToAttach = null;

2
tests/CSharp/CSharp.cs

@ -56,7 +56,7 @@ namespace CppSharp.Tests
select macro.Name).ToList(); select macro.Name).ToList();
var enumTest = ctx.GenerateEnumFromMacros("MyMacroTestEnum", list.ToArray()); var enumTest = ctx.GenerateEnumFromMacros("MyMacroTestEnum", list.ToArray());
ctx.GenerateEnumFromMacros("MyMacroTest2Enum", "MY_MACRO_TEST2_*"); ctx.GenerateEnumFromMacros("MyMacroTest2Enum", "MY_MACRO_TEST2_.*");
enumTest.Namespace = new Namespace() enumTest.Namespace = new Namespace()
{ {

Loading…
Cancel
Save