File: Editing\DeclarationKind.cs
Web Access
Project: src\src\Workspaces\Core\Portable\Microsoft.CodeAnalysis.Workspaces.csproj (Microsoft.CodeAnalysis.Workspaces)
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
 
using System;
using System.ComponentModel;
 
#if CODE_STYLE
namespace Microsoft.CodeAnalysis.Internal.Editing;
#else
namespace Microsoft.CodeAnalysis.Editing;
#endif
 
/// <devdocs>
/// This should contain only language-agnostic declarations. Things like record struct should fall under struct, etc.
/// </devdocs>
public enum DeclarationKind
{
    None,
    CompilationUnit,
 
    /// <summary>
    /// Represents a class declaration, including record class declarations in C#.
    /// </summary>
    Class,
 
    /// <summary>
    /// Represents a struct declaration, including record struct declarations in C#.
    /// </summary>
    Struct,
    Interface,
    Enum,
    Delegate,
    Method,
    Operator,
    ConversionOperator,
    Constructor,
    Destructor,
    Field,
    Property,
    Indexer,
    EnumMember,
    Event,
    CustomEvent,
    Namespace,
    NamespaceImport,
    Parameter,
    Variable,
    Attribute,
    LambdaExpression,
    GetAccessor,
 
    /// <summary>
    /// Represents set accessor declaration of a property, including init accessors in C#.
    /// </summary>
    SetAccessor,
 
    AddAccessor,
    RemoveAccessor,
    RaiseAccessor,
 
    [Obsolete($"This value is not used. Use {nameof(Class)} instead.")]
    [EditorBrowsable(EditorBrowsableState.Never)]
    RecordClass,
}