From adc325fe78a706b6a7087b3a6a8e808c594c275f Mon Sep 17 00:00:00 2001 From: Daniel Marbach Date: Tue, 5 Nov 2019 20:19:41 +0000 Subject: [PATCH] Update src/PublicApiGenerator/CodeNormalizer.cs Co-Authored-By: Joseph Musser --- src/PublicApiGenerator/CodeNormalizer.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/PublicApiGenerator/CodeNormalizer.cs b/src/PublicApiGenerator/CodeNormalizer.cs index c60c724..0ac88e2 100644 --- a/src/PublicApiGenerator/CodeNormalizer.cs +++ b/src/PublicApiGenerator/CodeNormalizer.cs @@ -34,7 +34,8 @@ public static string NormalizeGeneratedCode(StringWriter writer) gennedClass = Regex.Replace(gennedClass, Set, " { set; }", RegexOptions.IgnorePatternWhitespace); gennedClass = Regex.Replace(gennedClass, @"\s+{\s+}", " { }", RegexOptions.IgnorePatternWhitespace); gennedClass = Regex.Replace(gennedClass, @"\)\s+;", ");", RegexOptions.IgnorePatternWhitespace); - gennedClass = Regex.Replace(gennedClass, $@"(?s)(?<=\[[^\]]*)(Attribute)?({AttributeMarker}(\(\))?(?=\])|{AttributeMarker}(?=\(.+\)\])|{AttributeMarker}(?=new.+\}}\)\]))", string.Empty, RegexOptions.IgnorePatternWhitespace); + var attributeMarkerEscaped = Regex.Escape(AttributeMarker); + gennedClass = Regex.Replace(gennedClass, $@"(Attribute)?({attributeMarkerEscaped}(\(\))?(?=\])|{attributeMarkerEscaped}(?=\(.+\)\])|{attributeMarkerEscaped}(?=new.+\}}\)\]))", string.Empty, RegexOptions.Singleline | RegexOptions.IgnorePatternWhitespace); gennedClass = gennedClass.Replace("class " + StaticMarker, "static class "); gennedClass = gennedClass.Replace("struct " + ReadonlyMarker, "readonly struct ");