1 instantiation of RecordDeclarationSyntax
Microsoft.CodeAnalysis.CSharp (1)
_generated\1\Syntax.xml.Internal.Generated.cs (1)
18043internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.RecordDeclarationSyntax(this, parent, position);
123 references to RecordDeclarationSyntax
Microsoft.CodeAnalysis.CSharp (46)
_generated\0\Syntax.xml.Main.Generated.cs (8)
528public virtual TResult? VisitRecordDeclaration(RecordDeclarationSyntax node) => this.DefaultVisit(node); 1282public virtual void VisitRecordDeclaration(RecordDeclarationSyntax node) => this.DefaultVisit(node); 2035public override SyntaxNode? VisitRecordDeclaration(RecordDeclarationSyntax node) 5136public static RecordDeclarationSyntax RecordDeclaration(SyntaxKind kind, SyntaxList<AttributeListSyntax> attributeLists, SyntaxTokenList modifiers, SyntaxToken keyword, SyntaxToken classOrStructKeyword, SyntaxToken identifier, TypeParameterListSyntax? typeParameterList, ParameterListSyntax? parameterList, BaseListSyntax? baseList, SyntaxList<TypeParameterConstraintClauseSyntax> constraintClauses, SyntaxToken openBraceToken, SyntaxList<MemberDeclarationSyntax> members, SyntaxToken closeBraceToken, SyntaxToken semicolonToken) 5170return (RecordDeclarationSyntax)Syntax.InternalSyntax.SyntaxFactory.RecordDeclaration(kind, attributeLists.Node.ToGreenList<Syntax.InternalSyntax.AttributeListSyntax>(), modifiers.Node.ToGreenList<Syntax.InternalSyntax.SyntaxToken>(), (Syntax.InternalSyntax.SyntaxToken)keyword.Node!, (Syntax.InternalSyntax.SyntaxToken?)classOrStructKeyword.Node, (Syntax.InternalSyntax.SyntaxToken)identifier.Node!, typeParameterList == null ? null : (Syntax.InternalSyntax.TypeParameterListSyntax)typeParameterList.Green, parameterList == null ? null : (Syntax.InternalSyntax.ParameterListSyntax)parameterList.Green, baseList == null ? null : (Syntax.InternalSyntax.BaseListSyntax)baseList.Green, constraintClauses.Node.ToGreenList<Syntax.InternalSyntax.TypeParameterConstraintClauseSyntax>(), (Syntax.InternalSyntax.SyntaxToken?)openBraceToken.Node, members.Node.ToGreenList<Syntax.InternalSyntax.MemberDeclarationSyntax>(), (Syntax.InternalSyntax.SyntaxToken?)closeBraceToken.Node, (Syntax.InternalSyntax.SyntaxToken?)semicolonToken.Node).CreateRed(); 5174public static RecordDeclarationSyntax RecordDeclaration(SyntaxKind kind, SyntaxList<AttributeListSyntax> attributeLists, SyntaxTokenList modifiers, SyntaxToken keyword, SyntaxToken identifier, TypeParameterListSyntax? typeParameterList, ParameterListSyntax? parameterList, BaseListSyntax? baseList, SyntaxList<TypeParameterConstraintClauseSyntax> constraintClauses, SyntaxList<MemberDeclarationSyntax> members) 5178public static RecordDeclarationSyntax RecordDeclaration(SyntaxKind kind, SyntaxToken keyword, SyntaxToken identifier) 5182public static RecordDeclarationSyntax RecordDeclaration(SyntaxKind kind, SyntaxToken keyword, string identifier)
_generated\2\Syntax.xml.Syntax.Generated.cs (22)
11221public RecordDeclarationSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxTokenList modifiers, SyntaxToken keyword, SyntaxToken classOrStructKeyword, SyntaxToken identifier, TypeParameterListSyntax? typeParameterList, ParameterListSyntax? parameterList, BaseListSyntax? baseList, SyntaxList<TypeParameterConstraintClauseSyntax> constraintClauses, SyntaxToken openBraceToken, SyntaxList<MemberDeclarationSyntax> members, SyntaxToken closeBraceToken, SyntaxToken semicolonToken) 11225var newNode = SyntaxFactory.RecordDeclaration(this.Kind(), attributeLists, modifiers, keyword, classOrStructKeyword, identifier, typeParameterList, parameterList, baseList, constraintClauses, openBraceToken, members, closeBraceToken, semicolonToken); 11234public new RecordDeclarationSyntax WithAttributeLists(SyntaxList<AttributeListSyntax> attributeLists) => Update(attributeLists, this.Modifiers, this.Keyword, this.ClassOrStructKeyword, this.Identifier, this.TypeParameterList, this.ParameterList, this.BaseList, this.ConstraintClauses, this.OpenBraceToken, this.Members, this.CloseBraceToken, this.SemicolonToken); 11236public new RecordDeclarationSyntax WithModifiers(SyntaxTokenList modifiers) => Update(this.AttributeLists, modifiers, this.Keyword, this.ClassOrStructKeyword, this.Identifier, this.TypeParameterList, this.ParameterList, this.BaseList, this.ConstraintClauses, this.OpenBraceToken, this.Members, this.CloseBraceToken, this.SemicolonToken); 11238public new RecordDeclarationSyntax WithKeyword(SyntaxToken keyword) => Update(this.AttributeLists, this.Modifiers, keyword, this.ClassOrStructKeyword, this.Identifier, this.TypeParameterList, this.ParameterList, this.BaseList, this.ConstraintClauses, this.OpenBraceToken, this.Members, this.CloseBraceToken, this.SemicolonToken); 11239public RecordDeclarationSyntax WithClassOrStructKeyword(SyntaxToken classOrStructKeyword) => Update(this.AttributeLists, this.Modifiers, this.Keyword, classOrStructKeyword, this.Identifier, this.TypeParameterList, this.ParameterList, this.BaseList, this.ConstraintClauses, this.OpenBraceToken, this.Members, this.CloseBraceToken, this.SemicolonToken); 11241public new RecordDeclarationSyntax WithIdentifier(SyntaxToken identifier) => Update(this.AttributeLists, this.Modifiers, this.Keyword, this.ClassOrStructKeyword, identifier, this.TypeParameterList, this.ParameterList, this.BaseList, this.ConstraintClauses, this.OpenBraceToken, this.Members, this.CloseBraceToken, this.SemicolonToken); 11243public new RecordDeclarationSyntax WithTypeParameterList(TypeParameterListSyntax? typeParameterList) => Update(this.AttributeLists, this.Modifiers, this.Keyword, this.ClassOrStructKeyword, this.Identifier, typeParameterList, this.ParameterList, this.BaseList, this.ConstraintClauses, this.OpenBraceToken, this.Members, this.CloseBraceToken, this.SemicolonToken); 11245public new RecordDeclarationSyntax WithParameterList(ParameterListSyntax? parameterList) => Update(this.AttributeLists, this.Modifiers, this.Keyword, this.ClassOrStructKeyword, this.Identifier, this.TypeParameterList, parameterList, this.BaseList, this.ConstraintClauses, this.OpenBraceToken, this.Members, this.CloseBraceToken, this.SemicolonToken); 11247public new RecordDeclarationSyntax WithBaseList(BaseListSyntax? baseList) => Update(this.AttributeLists, this.Modifiers, this.Keyword, this.ClassOrStructKeyword, this.Identifier, this.TypeParameterList, this.ParameterList, baseList, this.ConstraintClauses, this.OpenBraceToken, this.Members, this.CloseBraceToken, this.SemicolonToken); 11249public new RecordDeclarationSyntax WithConstraintClauses(SyntaxList<TypeParameterConstraintClauseSyntax> constraintClauses) => Update(this.AttributeLists, this.Modifiers, this.Keyword, this.ClassOrStructKeyword, this.Identifier, this.TypeParameterList, this.ParameterList, this.BaseList, constraintClauses, this.OpenBraceToken, this.Members, this.CloseBraceToken, this.SemicolonToken); 11251public new RecordDeclarationSyntax WithOpenBraceToken(SyntaxToken openBraceToken) => Update(this.AttributeLists, this.Modifiers, this.Keyword, this.ClassOrStructKeyword, this.Identifier, this.TypeParameterList, this.ParameterList, this.BaseList, this.ConstraintClauses, openBraceToken, this.Members, this.CloseBraceToken, this.SemicolonToken); 11253public new RecordDeclarationSyntax WithMembers(SyntaxList<MemberDeclarationSyntax> members) => Update(this.AttributeLists, this.Modifiers, this.Keyword, this.ClassOrStructKeyword, this.Identifier, this.TypeParameterList, this.ParameterList, this.BaseList, this.ConstraintClauses, this.OpenBraceToken, members, this.CloseBraceToken, this.SemicolonToken); 11255public new RecordDeclarationSyntax WithCloseBraceToken(SyntaxToken closeBraceToken) => Update(this.AttributeLists, this.Modifiers, this.Keyword, this.ClassOrStructKeyword, this.Identifier, this.TypeParameterList, this.ParameterList, this.BaseList, this.ConstraintClauses, this.OpenBraceToken, this.Members, closeBraceToken, this.SemicolonToken); 11257public new RecordDeclarationSyntax WithSemicolonToken(SyntaxToken semicolonToken) => Update(this.AttributeLists, this.Modifiers, this.Keyword, this.ClassOrStructKeyword, this.Identifier, this.TypeParameterList, this.ParameterList, this.BaseList, this.ConstraintClauses, this.OpenBraceToken, this.Members, this.CloseBraceToken, semicolonToken); 11260public new RecordDeclarationSyntax AddAttributeLists(params AttributeListSyntax[] items) => WithAttributeLists(this.AttributeLists.AddRange(items)); 11262public new RecordDeclarationSyntax AddModifiers(params SyntaxToken[] items) => WithModifiers(this.Modifiers.AddRange(items)); 11264public new RecordDeclarationSyntax AddTypeParameterListParameters(params TypeParameterSyntax[] items) 11270public new RecordDeclarationSyntax AddParameterListParameters(params ParameterSyntax[] items) 11276public new RecordDeclarationSyntax AddBaseListTypes(params BaseTypeSyntax[] items) 11282public new RecordDeclarationSyntax AddConstraintClauses(params TypeParameterConstraintClauseSyntax[] items) => WithConstraintClauses(this.ConstraintClauses.AddRange(items)); 11284public new RecordDeclarationSyntax AddMembers(params MemberDeclarationSyntax[] items) => WithMembers(this.Members.AddRange(items));
Binder\BinderFactory.BinderFactoryVisitor.cs (1)
820public override Binder VisitRecordDeclaration(RecordDeclarationSyntax node)
Binder\LocalBinderFactory.cs (1)
168public override void VisitRecordDeclaration(RecordDeclarationSyntax node)
Compilation\SyntaxTreeSemanticModel.cs (1)
2573case ParameterSyntax param when declaredSymbol.Kind == SymbolKind.Property && param.Parent?.Parent is RecordDeclarationSyntax recordDeclaration && recordDeclaration.ParameterList == param.Parent:
Declarations\DeclarationTreeBuilder.cs (3)
690public override SingleNamespaceOrTypeDeclaration VisitRecordDeclaration(RecordDeclarationSyntax node) 726node is RecordDeclarationSyntax or 757if (node is RecordDeclarationSyntax record)
Lowering\Instrumentation\DebugInfoInjector.cs (2)
215original.Syntax is RecordDeclarationSyntax { ParameterList.Parameters.Count: > 0 }) 414Debug.Assert(parameterSyntax is { Parent.Parent: RecordDeclarationSyntax });
Symbols\Source\SourceMethodSymbolWithAttributes.cs (1)
60case RecordDeclarationSyntax recordDecl:
Symbols\Synthesized\Records\SynthesizedRecordCopyCtor.cs (2)
69var recordDeclaration = (RecordDeclarationSyntax)F.Syntax;
Syntax\RecordDeclarationSyntax.cs (5)
13public RecordDeclarationSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxTokenList modifiers, SyntaxToken keyword, SyntaxToken identifier, 27public static RecordDeclarationSyntax RecordDeclaration(SyntaxList<AttributeListSyntax> attributeLists, SyntaxTokenList modifiers, SyntaxToken keyword, SyntaxToken identifier, 35public static RecordDeclarationSyntax RecordDeclaration(SyntaxList<AttributeListSyntax> attributeLists, SyntaxTokenList modifiers, SyntaxToken keyword, SyntaxToken identifier, 46public static RecordDeclarationSyntax RecordDeclaration(SyntaxToken keyword, string identifier) 51public static RecordDeclarationSyntax RecordDeclaration(SyntaxToken keyword, SyntaxToken identifier)
Microsoft.CodeAnalysis.CSharp.CodeStyle (1)
src\roslyn\src\Analyzers\CSharp\Analyzers\NamingStyle\CSharpNamingStyleDiagnosticAnalyzer.cs (1)
35Parent: RecordDeclarationSyntax
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (16)
src\roslyn\src\Analyzers\CSharp\CodeFixes\ConvertToRecord\ConvertToRecordEngine.cs (1)
379private static RecordDeclarationSyntax CreateRecordDeclaration(
src\roslyn\src\Analyzers\CSharp\CodeFixes\TransposeRecordKeyword\CSharpTransposeRecordKeywordCodeFixProvider.cs (7)
30Diagnostic diagnostic, CancellationToken cancellationToken, [NotNullWhen(true)] out RecordDeclarationSyntax? recordDeclaration) 32recordDeclaration = diagnostic.Location.FindNode(cancellationToken) as RecordDeclarationSyntax; 37RecordDeclarationSyntax recordDeclaration, 86if (TryGetRecordDeclaration(diagnostic, cancellationToken, out var recordDeclaration) && 99if (TryGetRecordDeclaration(diagnostic, cancellationToken, out var recordDeclaration)) 105var currentRecordDeclaration = (RecordDeclarationSyntax)current;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\NamedTypeGenerator.cs (3)
87declaration = GenerateRecordMembers(service, info, (RecordDeclarationSyntax)declaration, members, cancellationToken); 103private static RecordDeclarationSyntax GenerateRecordMembers( 106RecordDeclarationSyntax recordDeclaration,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\CSharpSyntaxContext.cs (4)
356IsRecordParameterAttributeContext(out var record) && 372public bool IsRecordParameterAttributeContext([NotNullWhen(true)] out RecordDeclarationSyntax? recordDeclaration) 378token.Parent.Parent is ParameterSyntax { Parent: ParameterListSyntax { Parent: RecordDeclarationSyntax record } }) 558RecordDeclarationSyntax record => record.ClassOrStructKeyword.IsKind(SyntaxKind.StructKeyword)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpRemoveUnnecessaryImportsService.Rewriter.cs (1)
270public override SyntaxNode VisitRecordDeclaration(RecordDeclarationSyntax node)
Microsoft.CodeAnalysis.CSharp.Features (29)
CodeLens\CSharpCodeLensMemberFinder.cs (1)
82public override void VisitRecordDeclaration(RecordDeclarationSyntax node)
ConvertPrimaryToRegularConstructor\ConvertPrimaryToRegularConstructorCodeRefactoringProvider.cs (1)
52if (typeDeclaration is RecordDeclarationSyntax)
EditAndContinue\BreakpointSpans.cs (3)
209if (position >= typeDeclaration.Identifier.SpanStart && node is RecordDeclarationSyntax recordDeclaration) 512internal static TextSpan CreateSpanForCopyConstructor(RecordDeclarationSyntax recordDeclaration) 517internal static IEnumerable<SyntaxToken> GetActiveTokensForCopyConstructor(RecordDeclarationSyntax recordDeclaration, Func<SyntaxNode, IEnumerable<SyntaxToken>> getDescendantTokens)
EditAndContinue\CSharpEditAndContinueAnalyzer.cs (7)
65/// <see cref="RecordDeclarationSyntax"/> for record copy-constructors. 91var recordDeclaration = (RecordDeclarationSyntax)current; 126if (current is { Parent.Parent: RecordDeclarationSyntax }) 652span = BreakpointSpans.CreateSpanForCopyConstructor((RecordDeclarationSyntax)node); 1111if (oldNode is ParameterSyntax { Parent.Parent: RecordDeclarationSyntax } || 1112newNode is ParameterSyntax { Parent.Parent: RecordDeclarationSyntax })
EditAndContinue\DeclarationBody\CopyConstructorDeclarationBody.cs (1)
18internal sealed class CopyConstructorDeclarationBody(RecordDeclarationSyntax recordDeclaration) : InstanceConstructorDeclarationBody
EditAndContinue\SyntaxUtilities.cs (2)
65RecordDeclarationSyntax recordDeclarationSyntax when symbol is not INamedTypeSymbol 69ParameterSyntax { Parent.Parent: RecordDeclarationSyntax } parameterSyntax when symbol is not IParameterSymbol
ExtractMethod\CSharpMethodExtractor.CSharpCodeGenerator.CallSiteContainerRewriter.cs (1)
383public override SyntaxNode VisitRecordDeclaration(RecordDeclarationSyntax node)
Organizing\Organizers\RecordDeclarationOrganizer.cs (3)
15internal sealed class RecordDeclarationOrganizer : AbstractSyntaxNodeOrganizer<RecordDeclarationSyntax> 23protected override RecordDeclarationSyntax Organize( 24RecordDeclarationSyntax syntax,
src\roslyn\src\Analyzers\CSharp\Analyzers\NamingStyle\CSharpNamingStyleDiagnosticAnalyzer.cs (1)
35Parent: RecordDeclarationSyntax
src\roslyn\src\Analyzers\CSharp\CodeFixes\ConvertToRecord\ConvertToRecordEngine.cs (1)
379private static RecordDeclarationSyntax CreateRecordDeclaration(
src\roslyn\src\Analyzers\CSharp\CodeFixes\TransposeRecordKeyword\CSharpTransposeRecordKeywordCodeFixProvider.cs (7)
30Diagnostic diagnostic, CancellationToken cancellationToken, [NotNullWhen(true)] out RecordDeclarationSyntax? recordDeclaration) 32recordDeclaration = diagnostic.Location.FindNode(cancellationToken) as RecordDeclarationSyntax; 37RecordDeclarationSyntax recordDeclaration, 86if (TryGetRecordDeclaration(diagnostic, cancellationToken, out var recordDeclaration) && 99if (TryGetRecordDeclaration(diagnostic, cancellationToken, out var recordDeclaration)) 105var currentRecordDeclaration = (RecordDeclarationSyntax)current;
Structure\CSharpBlockStructureProvider.cs (1)
46builder.Add<RecordDeclarationSyntax, TypeDeclarationStructureProvider>();
Microsoft.CodeAnalysis.CSharp.Workspaces (9)
FindSymbols\CSharpDeclaredSymbolInfoFactoryService.cs (1)
414if (memberDeclaration is RecordDeclarationSyntax { ParameterList: { Parameters.Count: > 0 } parameterList } recordDeclaration)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\NamedTypeGenerator.cs (3)
87declaration = GenerateRecordMembers(service, info, (RecordDeclarationSyntax)declaration, members, cancellationToken); 103private static RecordDeclarationSyntax GenerateRecordMembers( 106RecordDeclarationSyntax recordDeclaration,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\CSharpSyntaxContext.cs (4)
356IsRecordParameterAttributeContext(out var record) && 372public bool IsRecordParameterAttributeContext([NotNullWhen(true)] out RecordDeclarationSyntax? recordDeclaration) 378token.Parent.Parent is ParameterSyntax { Parent: ParameterListSyntax { Parent: RecordDeclarationSyntax record } }) 558RecordDeclarationSyntax record => record.ClassOrStructKeyword.IsKind(SyntaxKind.StructKeyword)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpRemoveUnnecessaryImportsService.Rewriter.cs (1)
270public override SyntaxNode VisitRecordDeclaration(RecordDeclarationSyntax node)
Microsoft.Extensions.Options.SourceGeneration (1)
TypeDeclarationSyntaxReceiver.cs (1)
33else if (syntaxNode is RecordDeclarationSyntax recordSyntax)
Microsoft.Gen.BuildMetadata (1)
TypeDeclarationSyntaxReceiver.cs (1)
38else if (syntaxNode is RecordDeclarationSyntax recordSyntax)
Microsoft.Gen.ComplianceReports (3)
Parser.cs (2)
51if (typeSyntax is RecordDeclarationSyntax recordSyntax) 103private Dictionary<string, ClassifiedItem>? GetClassifiedMembers(RecordDeclarationSyntax recordSyntax,
TypeDeclarationSyntaxReceiver.cs (1)
38else if (syntaxNode is RecordDeclarationSyntax recordSyntax)
Microsoft.Gen.Logging (1)
TypeDeclarationSyntaxReceiver.cs (1)
38else if (syntaxNode is RecordDeclarationSyntax recordSyntax)
Microsoft.Gen.MetadataExtractor (3)
Parser.cs (2)
51if (typeSyntax is RecordDeclarationSyntax recordSyntax) 103private Dictionary<string, ClassifiedItem>? GetClassifiedMembers(RecordDeclarationSyntax recordSyntax,
TypeDeclarationSyntaxReceiver.cs (1)
38else if (syntaxNode is RecordDeclarationSyntax recordSyntax)
Microsoft.Gen.Metrics (1)
TypeDeclarationSyntaxReceiver.cs (1)
38else if (syntaxNode is RecordDeclarationSyntax recordSyntax)
QuarantineTools.Tests (2)
ActiveIssueTests.cs (1)
335case RecordDeclarationSyntax rd:
QuarantineScriptTests.cs (1)
279case RecordDeclarationSyntax rd:
Roslyn.Diagnostics.CSharp.Analyzers (8)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\NamedTypeGenerator.cs (3)
87declaration = GenerateRecordMembers(service, info, (RecordDeclarationSyntax)declaration, members, cancellationToken); 103private static RecordDeclarationSyntax GenerateRecordMembers( 106RecordDeclarationSyntax recordDeclaration,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\CSharpSyntaxContext.cs (4)
356IsRecordParameterAttributeContext(out var record) && 372public bool IsRecordParameterAttributeContext([NotNullWhen(true)] out RecordDeclarationSyntax? recordDeclaration) 378token.Parent.Parent is ParameterSyntax { Parent: ParameterListSyntax { Parent: RecordDeclarationSyntax record } }) 558RecordDeclarationSyntax record => record.ClassOrStructKeyword.IsKind(SyntaxKind.StructKeyword)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpRemoveUnnecessaryImportsService.Rewriter.cs (1)
270public override SyntaxNode VisitRecordDeclaration(RecordDeclarationSyntax node)
System.Text.RegularExpressions.Generator (2)
RegexGenerator.Parser.cs (2)
207typeDec is RecordDeclarationSyntax rds ? $"{typeDec.Keyword.ValueText} {rds.ClassOrStructKeyword}" : typeDec.Keyword.ValueText, 234parent is RecordDeclarationSyntax rds2 ? $"{parent.Keyword.ValueText} {rds2.ClassOrStructKeyword}" : parent.Keyword.ValueText,