Skip to content

DynamicallyAccessedMembersAnalyzer throws for InlineArrayAccessOperation #88684

Closed
@tannergooding

Description

@tannergooding

As per the title, the DynamicallyAccessedMembersAnalyzer currently throws when encountering an InlineArrayAccessOperation:

Severity	Code	Description	Project	File	Line	Suppression State
Error	AD0001	Analyzer 'ILLink.RoslynAnalyzer.DynamicallyAccessedMembersAnalyzer' threw an exception of type 'System.NotImplementedException' with message 'Microsoft.CodeAnalysis.Operations.InlineArrayAccessOperation: D:\Users\tagoo\source\repos\terrafx.interop.windows\samples\DirectX\D3D12\HelloConstBuffer12.cs: (177,8)-(177,29)'.
Exception occurred with following context:
Compilation: TerraFX.Samples.DirectX
ISymbol: CreatePipelineState (Method)

System.NotImplementedException: Microsoft.CodeAnalysis.Operations.InlineArrayAccessOperation: D:\Users\tagoo\source\repos\terrafx.interop.windows\samples\DirectX\D3D12\HelloConstBuffer12.cs: (177,8)-(177,29)
   at ILLink.RoslynAnalyzer.DataFlow.LocalDataFlowVisitor`2.VisitSimpleAssignment(ISimpleAssignmentOperation operation, LocalDataFlowState`2 state)
   at ILLink.RoslynAnalyzer.DataFlow.OperationWalker`2.Visit(IOperation operation, TArgument argument)
   at ILLink.RoslynAnalyzer.TrimAnalysis.TrimAnalysisVisitor.Visit(IOperation operation, LocalDataFlowState`2 argument)
   at ILLink.RoslynAnalyzer.DataFlow.LocalDataFlowVisitor`2.VisitExpressionStatement(IExpressionStatementOperation operation, LocalDataFlowState`2 state)
   at ILLink.RoslynAnalyzer.DataFlow.OperationWalker`2.Visit(IOperation operation, TArgument argument)
   at ILLink.RoslynAnalyzer.TrimAnalysis.TrimAnalysisVisitor.Visit(IOperation operation, LocalDataFlowState`2 argument)
   at ILLink.RoslynAnalyzer.DataFlow.LocalDataFlowVisitor`2.Transfer(BlockProxy block, LocalDataFlowState`2 state)
   at ILLink.Shared.DataFlow.ForwardDataFlowAnalysis`7.Fixpoint(TControlFlowGraph cfg, TLattice lattice, TTransfer transfer)
   at ILLink.RoslynAnalyzer.DataFlow.LocalDataFlowAnalysis`3.AnalyzeMethod(MethodBodyValue method, InterproceduralState`2& interproceduralState)
   at ILLink.RoslynAnalyzer.DataFlow.LocalDataFlowAnalysis`3.InterproceduralAnalyze()
   at ILLink.RoslynAnalyzer.DynamicallyAccessedMembersAnalyzer.<>c.<Initialize>b__8_1(OperationBlockAnalysisContext context)
   at Microsoft.CodeAnalysis.Diagnostics.AnalyzerExecutor.<>c__54`1.<ExecuteBlockActions>b__54_1(ValueTuple`2 data)
   at Microsoft.CodeAnalysis.Diagnostics.AnalyzerExecutor.ExecuteAndCatchIfThrows_NoLock[TArg](DiagnosticAnalyzer analyzer, Action`1 analyze, TArg argument, Nullable`1 info, CancellationToken cancellationToken)
-----

Suppress the following diagnostics to disable this analyzer: IL2026, IL2032, IL2041, IL2043, IL2055, IL2057, IL2058, IL2059, IL2060, IL2062, IL2063, IL2064, IL2065, IL2066, IL2067, IL2068, IL2069, IL2070, IL2071, IL2072, IL2073, IL2074, IL2075, IL2076, IL2077, IL2078, IL2079, IL2080, IL2081, IL2082, IL2083, IL2084, IL2085, IL2086, IL2087, IL2088, IL2089, IL2090, IL2091, IL2092, IL2093, IL2094, IL2095, IL2096, IL2097, IL2098, IL2099, IL2103, IL2106, IL2110, IL2111	TerraFX.Samples.DirectX (net8.0)	D:\Users\tagoo\source\repos\terrafx.interop.windows\samples\DirectX\TerraFX.Samples.DirectX.csproj	1	Active

Metadata

Metadata

Assignees

No one assigned

    Labels

    area-Tools-ILLink.NET linker development as well as trimming analyzers

    Type

    No type

    Projects

    Status

    No status

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions