154 references to DeclarationKind
Microsoft.CodeAnalysis.CSharp (133)
Compilation\CSharpCompilation.cs (3)
5087if (current.Kind == DeclarationKind.Namespace) 5127if (_includeMember || _includeType || child.Kind == DeclarationKind.Namespace) 5195if (declaration.Kind == DeclarationKind.Namespace)
Declarations\Declaration.cs (1)
67public abstract DeclarationKind Kind { get; }
Declarations\DeclarationKind.cs (11)
33internal static DeclarationKind ToDeclarationKind(this SyntaxKind kind) 37case SyntaxKind.ClassDeclaration: return DeclarationKind.Class; 38case SyntaxKind.InterfaceDeclaration: return DeclarationKind.Interface; 39case SyntaxKind.StructDeclaration: return DeclarationKind.Struct; 40case SyntaxKind.UnionDeclaration: return DeclarationKind.Union; 43return DeclarationKind.Namespace; 44case SyntaxKind.EnumDeclaration: return DeclarationKind.Enum; 45case SyntaxKind.DelegateDeclaration: return DeclarationKind.Delegate; 46case SyntaxKind.RecordDeclaration: return DeclarationKind.Record; 47case SyntaxKind.RecordStructDeclaration: return DeclarationKind.RecordStruct; 48case SyntaxKind.ExtensionBlockDeclaration: return DeclarationKind.Extension;
Declarations\DeclarationTable.cs (4)
171private static readonly Predicate<Declaration> s_isNamespacePredicate = d => d.Kind == DeclarationKind.Namespace; 172private static readonly Predicate<Declaration> s_isTypePredicate = d => d.Kind != DeclarationKind.Namespace; 305if (current.Kind == DeclarationKind.Namespace) 336if (includeMember || includeType || childNamespaceOrType.Kind == DeclarationKind.Namespace)
Declarations\DeclarationTreeBuilder.cs (34)
104DeclarationKind.Namespace => throw ExceptionUtilities.Unreachable(), 107DeclarationKind.Delegate => false, 109DeclarationKind.Class or 110DeclarationKind.Interface or 111DeclarationKind.Struct or 112DeclarationKind.Union or 113DeclarationKind.Enum or 114DeclarationKind.Script or 115DeclarationKind.Submission or 116DeclarationKind.ImplicitClass or 117DeclarationKind.Record or 118DeclarationKind.RecordStruct => true, 119DeclarationKind.Extension => true, 221kind: DeclarationKind.ImplicitClass, 246kind: DeclarationKind.Class, 281if (decl.Kind == DeclarationKind.Namespace) 336kind: _isSubmission ? DeclarationKind.Submission : DeclarationKind.Script, 660return VisitTypeDeclaration(node, DeclarationKind.Class); 667SyntaxKind.StructDeclaration => DeclarationKind.Struct, 668SyntaxKind.UnionDeclaration => DeclarationKind.Union, 677return VisitTypeDeclaration(node, DeclarationKind.Interface); 684SyntaxKind.RecordDeclaration => DeclarationKind.Record, 685SyntaxKind.RecordStructDeclaration => DeclarationKind.RecordStruct, 694return VisitTypeDeclaration(node, DeclarationKind.Extension); 697private SingleTypeDeclaration VisitTypeDeclaration(TypeDeclarationSyntax node, DeclarationKind kind) 782if (modifier.IsKind(SyntaxKind.StaticKeyword) && kind == DeclarationKind.Class) 786else if (modifier.IsKind(SyntaxKind.ReadOnlyKeyword) && kind is DeclarationKind.Struct or DeclarationKind.RecordStruct) 790else if (modifier.IsKind(SyntaxKind.RefKeyword) && kind is DeclarationKind.Struct or DeclarationKind.RecordStruct) 796bool isExtension = kind == DeclarationKind.Extension; 846kind: DeclarationKind.Delegate, 884kind: DeclarationKind.Enum,
Declarations\MergedNamespaceDeclaration.cs (2)
38public override DeclarationKind Kind 42return DeclarationKind.Namespace;
Declarations\MergedTypeDeclaration.cs (2)
105public override DeclarationKind Kind 273string identifier = (Kind is DeclarationKind.Extension) ? "extension" : Name;
Declarations\SingleNamespaceDeclaration.cs (2)
26public override DeclarationKind Kind 30return DeclarationKind.Namespace;
Declarations\SingleTypeDeclaration.cs (7)
19private readonly DeclarationKind _kind; 78DeclarationKind kind, 91Debug.Assert(kind != DeclarationKind.Namespace); 102public override DeclarationKind Kind 276if (thisDecl._kind is DeclarationKind.Enum or DeclarationKind.Delegate or DeclarationKind.Extension)
Symbols\EnumConversions.cs (13)
13internal static TypeKind ToTypeKind(this DeclarationKind kind) 17case DeclarationKind.Class: 18case DeclarationKind.Script: 19case DeclarationKind.ImplicitClass: 20case DeclarationKind.Record: 23case DeclarationKind.Submission: 26case DeclarationKind.Delegate: 29case DeclarationKind.Enum: 32case DeclarationKind.Interface: 35case DeclarationKind.Struct: 36case DeclarationKind.Union: 37case DeclarationKind.RecordStruct: 40case DeclarationKind.Extension:
Symbols\Source\ImplicitNamedTypeSymbol.cs (3)
24Debug.Assert(declaration.Kind == DeclarationKind.ImplicitClass || 25declaration.Kind == DeclarationKind.Submission || 26declaration.Kind == DeclarationKind.Script);
Symbols\Source\SourceMemberContainerSymbol.cs (20)
947var kind = this.declaration.Declarations[0].Kind; 948return kind == DeclarationKind.Script || kind == DeclarationKind.Submission; 956return this.declaration.Declarations[0].Kind == DeclarationKind.ImplicitClass; 964return this.declaration.Declarations[0].Kind == DeclarationKind.Record; 972return this.declaration.Declarations[0].Kind == DeclarationKind.RecordStruct; 980return this.declaration.Declarations[0].Kind is DeclarationKind.Union; 1567if (_lazyMembersDictionary != null || declaration.ContainsExtensionDeclarations || declaration.MemberNames.Contains(name) || declaration.Kind is DeclarationKind.Record or DeclarationKind.RecordStruct or DeclarationKind.Union) 2030if (declaration.Kind != DeclarationKind.Record && 2031declaration.Kind != DeclarationKind.RecordStruct) 4806if (declaration.Kind is not (DeclarationKind.Record or DeclarationKind.RecordStruct or DeclarationKind.Union) && declaredMembersAndInitializers.PrimaryConstructor is null) 4814if (declaration.Kind is not (DeclarationKind.Record or DeclarationKind.RecordStruct or DeclarationKind.Union)) 4831if (declaration.Kind is DeclarationKind.Union) 4938bool isRecordClass = declaration.Kind == DeclarationKind.Record;
Symbols\Source\SourceNamedTypeSymbol.cs (9)
81case DeclarationKind.Struct: 82case DeclarationKind.Union: 83case DeclarationKind.Interface: 84case DeclarationKind.Enum: 85case DeclarationKind.Delegate: 86case DeclarationKind.Class: 87case DeclarationKind.Record: 88case DeclarationKind.RecordStruct: 89case DeclarationKind.Extension:
Symbols\Source\SourceNamedTypeSymbol_Bases.cs (4)
128if (declaration.Kind == DeclarationKind.Record) 372case DeclarationKind.Record or DeclarationKind.RecordStruct: 378case DeclarationKind.Union:
Symbols\Source\SourceNamespaceSymbol.cs (13)
406case DeclarationKind.Namespace: 409case DeclarationKind.Struct: 410case DeclarationKind.Union: 411case DeclarationKind.Interface: 412case DeclarationKind.Enum: 413case DeclarationKind.Delegate: 414case DeclarationKind.Class: 415case DeclarationKind.Record: 416case DeclarationKind.RecordStruct: 417case DeclarationKind.Extension: 420case DeclarationKind.Script: 421case DeclarationKind.Submission: 422case DeclarationKind.ImplicitClass:
Syntax\TypeDeclarationSyntax.cs (5)
52internal static SyntaxKind GetTypeDeclarationKeywordKind(DeclarationKind kind) 56case DeclarationKind.Class: 58case DeclarationKind.Struct: 60case DeclarationKind.Union: 62case DeclarationKind.Interface:
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (21)
DeclarationTests.cs (21)
73Assert.Equal(DeclarationKind.Namespace, na1.Kind); 74Assert.Equal(DeclarationKind.Namespace, na2.Kind); 83Assert.Equal(DeclarationKind.Namespace, nb1.Kind); 84Assert.Equal(DeclarationKind.Namespace, nb2.Kind); 91Assert.Equal(DeclarationKind.Class, ct1.Kind); 92Assert.Equal(DeclarationKind.Class, ct2.Kind); 103Assert.Equal(DeclarationKind.Class, c1.Kind); 110Assert.Equal(DeclarationKind.Class, d1.Kind); 111Assert.Equal(DeclarationKind.Class, d2.Kind); 133Assert.Equal(DeclarationKind.Namespace, mr.Kind); 137Assert.Equal(DeclarationKind.Namespace, na.Kind); 141Assert.Equal(DeclarationKind.Namespace, nb.Kind); 146Assert.Equal(DeclarationKind.Class, ct.Kind); 151Assert.Equal(DeclarationKind.Class, c.Kind); 156Assert.Equal(DeclarationKind.Class, d.Kind); 168Assert.Equal(DeclarationKind.Namespace, mr.Kind); 172Assert.Equal(DeclarationKind.Namespace, na.Kind); 176Assert.Equal(DeclarationKind.Namespace, nb.Kind); 181Assert.Equal(DeclarationKind.Class, ct.Kind); 186Assert.Equal(DeclarationKind.Class, c.Kind); 191Assert.Equal(DeclarationKind.Class, d.Kind);