diff --git a/Src/CSharpier.FakeGenerators/Ignored.cs b/Src/CSharpier.FakeGenerators/Ignored.cs index 45e2ee746..da765a349 100644 --- a/Src/CSharpier.FakeGenerators/Ignored.cs +++ b/Src/CSharpier.FakeGenerators/Ignored.cs @@ -30,7 +30,11 @@ public static class Ignored { typeof(IndexerDeclarationSyntax), new[] { "semicolon" } }, { typeof(SyntaxTrivia), new[] { "token" } }, { typeof(SyntaxToken), new[] { "value", "valueText" } }, - { typeof(ParameterSyntax), new[] { "exclamationExclamationToken" } } + { typeof(ParameterSyntax), new[] { "exclamationExclamationToken" } }, + { typeof(ConversionOperatorDeclarationSyntax), new[] { "checkedKeyword" } }, + { typeof(OperatorDeclarationSyntax), new[] { "checkedKeyword" } }, + { typeof(ConversionOperatorMemberCrefSyntax), new[] { "checkedKeyword" } }, + { typeof(OperatorMemberCrefSyntax), new[] { "checkedKeyword" } } }; public static readonly HashSet UnsupportedNodes = diff --git a/Src/CSharpier/SyntaxPrinter/SyntaxNodePrinters/InterpolatedStringExpression.cs b/Src/CSharpier/SyntaxPrinter/SyntaxNodePrinters/InterpolatedStringExpression.cs index 46f05dde8..48eec5c60 100644 --- a/Src/CSharpier/SyntaxPrinter/SyntaxNodePrinters/InterpolatedStringExpression.cs +++ b/Src/CSharpier/SyntaxPrinter/SyntaxNodePrinters/InterpolatedStringExpression.cs @@ -12,10 +12,19 @@ public static Doc Print(InterpolatedStringExpressionSyntax node, FormattingConte docs.AddRange(node.Contents.Select(o => Node.Print(o, context))); docs.Add(Token.Print(node.StringEndToken, context)); + if ( + node.StringStartToken.RawSyntaxKind() is SyntaxKind.InterpolatedVerbatimStringStartToken + ) + { + return Doc.Concat(docs); + } + return Doc.Concat( // pull out the leading trivia so it doesn't get forced flat Token.PrintLeadingTrivia(node.StringStartToken, context), - Doc.ForceFlat(docs) + node.StringStartToken.RawSyntaxKind() is SyntaxKind.InterpolatedVerbatimStringStartToken + ? Doc.Concat(docs) + : Doc.ForceFlat(docs) ); } }