// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Collections.Immutable;
usingSystem.Diagnostics;
...
...
@@ -19,41 +18,50 @@ internal abstract class AbstractRemoveUnusedMembersDiagnosticAnalyzer<TDocumenta
// We register following actions in the compilation:
// 1. A symbol action for member symbols to ensure the member's unused state is initialized to true for every private member symbol.
// 2. Operation actions for member references and invocations to detect member usages, i.e. read or read reference taken.
// 2. Operation actions for member references, invocations and object creations to detect member usages, i.e. read or read reference taken.
// 3. Operation action for field initializers to detect non-constant initialization.
// 4. Operation action for invalid operations to bail out on erroneous code.
// 5. A symbol start/end action for named types to report diagnostics for candidate members that have no usage in executable code.
//
// Note that we need to register separately for OperationKind.Invocation due to https://github.com/dotnet/roslyn/issues/26206
// Note that we need to register separately for OperationKind.Invocation and OperationKind.ObjectCreation due to https://github.com/dotnet/roslyn/issues/26206