Skip to content

Commit feb426f

Browse files
Fixed additional case the Analyzer was missing
1 parent 44399e4 commit feb426f

2 files changed

Lines changed: 28 additions & 6 deletions

File tree

MN.L10n.Analyzer/MN.L10n.Analyzer.Test/MNL10nAnalyzerUnitTests.cs

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -416,6 +416,32 @@ Vänligen bekräfta ditt intresse genom att klicka på länken nedan.
416416
VerifyCSharpDiagnostic(test, expectations.ToArray());
417417
}
418418

419+
[Fact]
420+
public void Test_MN0009_MissingKeywordsWhenArgumentIsNull()
421+
{
422+
var test = @"
423+
namespace ConsoleApplication1
424+
{
425+
class TypeName
426+
{
427+
public void Main() {
428+
_s(""Testing $someParameter$"", null);
429+
}
430+
}
431+
}";
432+
433+
VerifyCSharpDiagnostic(test, new DiagnosticResult
434+
{
435+
Id = "MN0009",
436+
Message = "L10n is missing '$someParameter$' in the object for keywords",
437+
Severity = DiagnosticSeverity.Error,
438+
Locations =
439+
[
440+
new DiagnosticResultLocation("Test0.cs", 7, 6)
441+
]
442+
});
443+
}
444+
419445
protected override CodeFixProvider GetCSharpCodeFixProvider()
420446
{
421447
return new MNL10nCodeFixProvider();

MN.L10n.Analyzer/MN.L10n.Analyzer/MNL10nAnalyzer.cs

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -126,12 +126,8 @@ private void AnalyzeSyntaxNode(SyntaxNodeAnalysisContext obj)
126126

127127
var argumentAsObject = obj.SemanticModel.GetSymbolInfo(supposedArgument.Expression).Symbol;
128128

129-
if (argumentAsObject == null)
130-
{
131-
return;
132-
}
133-
134-
var missingParameters = l10nParameters.Except(argumentAsObject.ContainingType.MemberNames.Select(p => $"${p}$"))
129+
var missingParameters = argumentAsObject == null ? l10nParameters.ToArray() :
130+
l10nParameters.Except(argumentAsObject.ContainingType.MemberNames.Select(p => $"${p}$"))
135131
.ToArray();
136132

137133
if (missingParameters.Any())

0 commit comments

Comments
 (0)