Closed BertDeTemmerman closed 4 years ago
This should have been fixed in master
Hi all!
It seems that this issue still exists, but in specific situations only.
We're receiving warning in compiler version: 5.0.329509, but only for Page extensions where we modify fields of type Option (such as "VAT Statement" page, field "Amount Type" or "Purchase Journal" page, field "Bal. Gen. Posting Type").
{ "resource": "/d:/Repository/BH-NAV-3/app.json", "owner": "_generated_diagnostic_collectionname#0", "code": "AD0001", "severity": 4, "message": "Analyzer 'Microsoft.Dynamics.Nav.CodeCop.Localizability.Rule218TooltipMustBeFilledOnPageForFieldsAndActions' threw an exception of type 'System.NullReferenceException' with message 'System.NullReferenceException: Object reference not set to an instance of an object.\r\n at Microsoft.Dynamics.Nav.CodeCop.Localizability.Rule218TooltipMustBeFilledOnPageForFieldsAndActions.ExtractCountOfOptions(ISymbol symbol) in D:\a\1\s\source\Prod\Microsoft.Dynamics.Nav.CodeCop\Localizability\Rule218TooltipMustBeFilledOnPageForFieldsAndActions.cs:line 295\r\n at Microsoft.Dynamics.Nav.CodeCop.Localizability.Rule218TooltipMustBeFilledOnPageForFieldsAndActions.AnalyzeCaptions(SymbolAnalysisContext symbolAnalysisContext, SyntaxNode node, IdentifierNameSyntax identifierName, ISymbol symbol) in D:\a\1\s\source\Prod\Microsoft.Dynamics.Nav.CodeCop\Localizability\Rule218TooltipMustBeFilledOnPageForFieldsAndActions.cs:line 275\r\n at Microsoft.Dynamics.Nav.CodeCop.Localizability.Rule218TooltipMustBeFilledOnPageForFieldsAndActions.AnalyzeModifiedControlsAndActions(SymbolAnalysisContext symbolAnalysisContext, SyntaxNode node, ISymbol symbol) in D:\a\1\s\source\Prod\Microsoft.Dynamics.Nav.CodeCop\Localizability\Rule218TooltipMustBeFilledOnPageForFieldsAndActions.cs:line 123\r\n at Microsoft.Dynamics.Nav.CodeCop.Localizability.Rule218TooltipMustBeFilledOnPageForFieldsAndActions.AnalyzePageModifyFields(SymbolAnalysisContext symbolAnalysisContext, ImmutableArray
1 changeSymbols) in D:\\a\\1\\s\\source\\Prod\\Microsoft.Dynamics.Nav.CodeCop\\Localizability\\Rule218TooltipMustBeFilledOnPageForFieldsAndActions.cs:line 98\r\n at Microsoft.Dynamics.Nav.CodeCop.Localizability.Rule218TooltipMustBeFilledOnPageForFieldsAndActions.AnalyzePage(SymbolAnalysisContext symbolAnalysisContext) in D:\\a\\1\\s\\source\\Prod\\Microsoft.Dynamics.Nav.CodeCop\\Localizability\\Rule218TooltipMustBeFilledOnPageForFieldsAndActions.cs:line 61\r\n at Microsoft.Dynamics.Nav.CodeAnalysis.Diagnostics.AnalyzerExecutor.<>c__DisplayClass49_2.<ExecuteSymbolActionsCore>b__0() in D:\\a\\1\\s\\source\\Prod\\Microsoft.Dynamics.Nav.CodeAnalysis\\DiagnosticAnalyzer\\AnalyzerExecutor.cs:line 655\r\n at Microsoft.Dynamics.Nav.CodeAnalysis.Diagnostics.AnalyzerExecutor.ExecuteAndCatchIfThrows_NoLock(DiagnosticAnalyzer analyzer, Action analyze, Nullable
1 info) in D:\a\1\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\DiagnosticAnalyzer\AnalyzerExecutor.cs:line 1099'", "source": "AL", "startLineNumber": 1, "startColumn": 1, "endLineNumber": 1, "endColumn": 1 }
AL Language: 6.1.362735
Analyzer 'Microsoft.Dynamics.Nav.CodeCop.Localizability.Rule218TooltipMustBeFilledOnPageForFieldsAndActions' threw an exception of type 'System.InvalidCastException' with message 'System.InvalidCastException: Unable to cast object of type 'Microsoft.Dynamics.Nav.CodeAnalysis.Syntax.MethodDeclarationSyntax' to type 'Microsoft.Dynamics.Nav.CodeAnalysis.Syntax.VariableDeclarationBaseSyntax'.\r\n
at Microsoft.Dynamics.Nav.CodeCop.Localizability.Rule218TooltipMustBeFilledOnPageForFieldsAndActions.ExtractCountOfOptions(ISymbol symbol) in D:\a\1\s\source\Prod\Microsoft.Dynamics.Nav.CodeCop\Localizability\Rule218TooltipMustBeFilledOnPageForFieldsAndActions.cs:line 318\r\n
at Microsoft.Dynamics.Nav.CodeCop.Localizability.Rule218TooltipMustBeFilledOnPageForFieldsAndActions.AnalyzeCaptions(SymbolAnalysisContext symbolAnalysisContext, SyntaxNode node, IdentifierNameSyntax identifierName, ISymbol symbol) in D:\a\1\s\source\Prod\Microsoft.Dynamics.Nav.CodeCop\Localizability\Rule218TooltipMustBeFilledOnPageForFieldsAndActions.cs:line 293\r\n
at Microsoft.Dynamics.Nav.CodeCop.Localizability.Rule218TooltipMustBeFilledOnPageForFieldsAndActions.AnalyzePageFields(SymbolAnalysisContext symbolAnalysisContext, ImmutableArray1 controlSymbols, PageTypeKind pageTypeKind) in D:\\a\\1\\s\\source\\Prod\\Microsoft.Dynamics.Nav.CodeCop\\Localizability\\Rule218TooltipMustBeFilledOnPageForFieldsAndActions.cs:line 76\r\n at Microsoft.Dynamics.Nav.CodeCop.Localizability.Rule218TooltipMustBeFilledOnPageForFieldsAndActions.AnalyzePage(SymbolAnalysisContext symbolAnalysisContext) in D:\\a\\1\\s\\source\\Prod\\Microsoft.Dynamics.Nav.CodeCop\\Localizability\\Rule218TooltipMustBeFilledOnPageForFieldsAndActions.cs:line 52\r\n at Microsoft.Dynamics.Nav.CodeAnalysis.Diagnostics.AnalyzerExecutor.<>c__DisplayClass49_2.<ExecuteSymbolActionsCore>b__0() in D:\\a\\1\\s\\source\\Prod\\Microsoft.Dynamics.Nav.CodeAnalysis\\DiagnosticAnalyzer\\AnalyzerExecutor.cs:line 656\r\n at Microsoft.Dynamics.Nav.CodeAnalysis.Diagnostics.AnalyzerExecutor.ExecuteAndCatchIfThrows_NoLock(DiagnosticAnalyzer analyzer, Action analyze, Nullable
1 info) in D:\a\1\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\DiagnosticAnalyzer\AnalyzerExecutor.cs:line 1100'
The bug still seems to exist.
@MarcHansenMicrosoft Could you take a look again please?
Should we create a new issue for this problem or will there be more information here? Or are all infomations concerning AD0001 summarized here: #5889 ? Since this is the only issue for AD0001 which is not closed.
Describe the bug Opend existing project with the 5.x compiler, below warning appears on app.json A custom ruleset to ignore rule 218 exist. (first reported in #5773 )
To Reproduce Steps and to reproduce the behavior:
AL Code to reproduce the issue
/ Expected behavior everything okScreenshots
5. Versions:
5.0.277602