From c09f19514876869c6aca76efb9bd965574f84afc Mon Sep 17 00:00:00 2001 From: YoshiRulz Date: Fri, 12 Jul 2024 23:27:09 +1000 Subject: [PATCH] Fix bug in `HawkSourceAnalyzer` --- .../BizHawk.Analyzer/HawkSourceAnalyzer.cs | 4 ++-- .../HawkSourceAnalyzerTests.cs | 6 ++++++ References/BizHawk.Analyzer.dll | Bin 40448 -> 40448 bytes 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/ExternalProjects/BizHawk.Analyzer/HawkSourceAnalyzer.cs b/ExternalProjects/BizHawk.Analyzer/HawkSourceAnalyzer.cs index ea24450caa..810fbb2be7 100644 --- a/ExternalProjects/BizHawk.Analyzer/HawkSourceAnalyzer.cs +++ b/ExternalProjects/BizHawk.Analyzer/HawkSourceAnalyzer.cs @@ -134,14 +134,14 @@ public class HawkSourceAnalyzer : DiagnosticAnalyzer snac.ReportDiagnostic(Diagnostic.Create(DiagNoDiscardingLocals, snac.Node.GetLocation())); break; case CollectionExpressionSyntax ces: - var cesError = CheckSpacingInList(ces.Elements, ces.OpenBracketToken, ces.ToFullString); + var cesError = CheckSpacingInList(ces.Elements, ces.OpenBracketToken, ces.ToString); if (cesError is not null) snac.ReportDiagnostic(Diagnostic.Create(DiagListExprSpacing, ces.GetLocation(), cesError)); break; case InterpolatedStringExpressionSyntax ises: if (ises.StringStartToken.Text[0] is '@') snac.ReportDiagnostic(Diagnostic.Create(DiagInterpStringIsDollarAt, ises.GetLocation())); break; case ListPatternSyntax lps: - var lpsError = CheckSpacingInList(lps.Patterns, lps.OpenBracketToken, lps.ToFullString); + var lpsError = CheckSpacingInList(lps.Patterns, lps.OpenBracketToken, lps.ToString); if (lpsError is not null) snac.ReportDiagnostic(Diagnostic.Create(DiagListExprSpacing, lps.GetLocation(), lpsError)); break; case QueryExpressionSyntax: diff --git a/ExternalProjects/BizHawk.AnalyzersTests/BizHawk.Analyzer/HawkSourceAnalyzerTests.cs b/ExternalProjects/BizHawk.AnalyzersTests/BizHawk.Analyzer/HawkSourceAnalyzerTests.cs index 472e1a2402..f34fb674a8 100644 --- a/ExternalProjects/BizHawk.AnalyzersTests/BizHawk.Analyzer/HawkSourceAnalyzerTests.cs +++ b/ExternalProjects/BizHawk.AnalyzersTests/BizHawk.Analyzer/HawkSourceAnalyzerTests.cs @@ -118,11 +118,17 @@ public sealed class HawkSourceAnalyzerTests public Task CheckMisuseOfListSyntaxes() => Verify.VerifyAnalyzerAsync(""" public static class Cases { + private static readonly int[] V = [ ]; + private static readonly bool W = V is [ ]; + private static readonly int[] X = W ? [ ] : V; private static readonly int[] Y = [ 0x80, 0x20, 0x40 ]; private static readonly bool Z = Y is [ _, > 20, .. ]; private static readonly int[] A = {|BHI1110:[0x80, 0x20, 0x40 ]|}; private static readonly bool B = A is {|BHI1110:[ _, > 20, ..]|}; private static readonly bool C = A is {|BHI1110:[_, > 20, ..]|}; + private static readonly int[] D = {|BHI1110:[]|}; + private static readonly bool E = D is {|BHI1110:[]|}; + private static readonly int[] F = E ? {|BHI1110:[]|} : D; } """); diff --git a/References/BizHawk.Analyzer.dll b/References/BizHawk.Analyzer.dll index e6a8d9e73c0faa7de0263ee779910f0ada2fddc2..600c82f8d9f2ea2b4d07a099bffff3ab60260b7b 100644 GIT binary patch delta 247 zcmZqJ!_=^cX+j6fqpAt3Hukt#F>hozzWJ)vZV!Rpz~9D#o0|Nm&e;-VIOnVI<^|0g z1T+kj4b4o<(hL*Lk`0rLl9S8~O;e1`OiYu^%nTAuQ!G+Vlg$l{QjIoOOvzznxqord z@yRcy1_;z04r@;TrtQ2$qu)@z+jj3{k7@o2P(foAs31snf!HqNnd(~B?%S-zHgBI+ z$>MLwkj!AnV8&nq#A!fQB9I1&BrzBP=_DY}kinE8g~1rC#uO}K#$W(c2NJblNCnc# R4CX*pMnJaF=K9%b`l$<^|0g z1T-vC4Goe_%u`HLjT4j2O^qx}EliV*lZ;bSQ!J7#ER8J8lTC~b(@Zy4Ovzzn=`M5X zpZsEKfWV8JMSnj`xa~c4!o{@ein((qdrb3JfC|2b2?AB~KjmI{;jV-?zjxM4oz2^) zRkHY7Fr+dVG8ix0{O-ai9o(NkZr_Z0VF{<87P_r#Hm1-0u)IGVoR{R SIaseT(3CU=)6Mm>8<_xg(N#tO