1 instantiation of DestructorDeclarationSyntax
Microsoft.CodeAnalysis.CSharp (1)
Syntax.xml.Internal.Generated.cs (1)
20654internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.DestructorDeclarationSyntax(this, parent, position);
112 references to DestructorDeclarationSyntax
Microsoft.CodeAnalysis.CSharp (43)
Binder\Binder_Statements.cs (1)
3588ConstructorDeclarationSyntax or DestructorDeclarationSyntax => MessageID.IDS_FeatureExpressionBodiedDeOrConstructor,
Binder\BinderFactory.BinderFactoryVisitor.cs (1)
235public override Binder VisitDestructorDeclaration(DestructorDeclarationSyntax parent)
Binder\LocalBinderFactory.cs (1)
188public override void VisitDestructorDeclaration(DestructorDeclarationSyntax node)
Compilation\SyntaxTreeSemanticModel.cs (2)
883DestructorDeclarationSyntax destructorDecl = (DestructorDeclarationSyntax)memberDecl;
Parser\LanguageParser.cs (1)
5229return ((CSharp.Syntax.DestructorDeclarationSyntax)decl).Modifiers;
src\Compilers\CSharp\CSharpAnalyzerDriver\CSharpDeclarationComputer.cs (1)
460arrowExpr = ((DestructorDeclarationSyntax)node).ExpressionBody;
Symbols\Source\SourceDestructorSymbol.cs (6)
21DestructorDeclarationSyntax syntax, 65private static (DeclarationModifiers, Flags) MakeModifiersAndFlags(NamedTypeSymbol containingType, DestructorDeclarationSyntax syntax, bool isNullableAnalysisEnabled, Location location, BindingDiagnosticBag diagnostics, out bool modifierErrors) 76private static Location GetSymbolLocation(DestructorDeclarationSyntax syntax, out Location location) 84var syntax = GetSyntax(); 89internal DestructorDeclarationSyntax GetSyntax() 92return (DestructorDeclarationSyntax)syntaxReferenceOpt.GetSyntax();
Symbols\Source\SourceMemberContainerSymbol.cs (2)
5590var destructorSyntax = (DestructorDeclarationSyntax)m;
Syntax.xml.Main.Generated.cs (8)
586public virtual TResult? VisitDestructorDeclaration(DestructorDeclarationSyntax node) => this.DefaultVisit(node); 1330public virtual void VisitDestructorDeclaration(DestructorDeclarationSyntax node) => this.DefaultVisit(node); 2073public override SyntaxNode? VisitDestructorDeclaration(DestructorDeclarationSyntax node) 5576public static DestructorDeclarationSyntax DestructorDeclaration(SyntaxList<AttributeListSyntax> attributeLists, SyntaxTokenList modifiers, SyntaxToken tildeToken, SyntaxToken identifier, ParameterListSyntax parameterList, BlockSyntax? body, ArrowExpressionClauseSyntax? expressionBody, SyntaxToken semicolonToken) 5587return (DestructorDeclarationSyntax)Syntax.InternalSyntax.SyntaxFactory.DestructorDeclaration(attributeLists.Node.ToGreenList<Syntax.InternalSyntax.AttributeListSyntax>(), modifiers.Node.ToGreenList<Syntax.InternalSyntax.SyntaxToken>(), (Syntax.InternalSyntax.SyntaxToken)tildeToken.Node!, (Syntax.InternalSyntax.SyntaxToken)identifier.Node!, (Syntax.InternalSyntax.ParameterListSyntax)parameterList.Green, body == null ? null : (Syntax.InternalSyntax.BlockSyntax)body.Green, expressionBody == null ? null : (Syntax.InternalSyntax.ArrowExpressionClauseSyntax)expressionBody.Green, (Syntax.InternalSyntax.SyntaxToken?)semicolonToken.Node).CreateRed(); 5591public static DestructorDeclarationSyntax DestructorDeclaration(SyntaxList<AttributeListSyntax> attributeLists, SyntaxTokenList modifiers, SyntaxToken identifier, ParameterListSyntax parameterList, BlockSyntax? body, ArrowExpressionClauseSyntax? expressionBody) 5595public static DestructorDeclarationSyntax DestructorDeclaration(SyntaxToken identifier) 5599public static DestructorDeclarationSyntax DestructorDeclaration(string identifier)
Syntax.xml.Syntax.Generated.cs (15)
12962public DestructorDeclarationSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxTokenList modifiers, SyntaxToken tildeToken, SyntaxToken identifier, ParameterListSyntax parameterList, BlockSyntax? body, ArrowExpressionClauseSyntax? expressionBody, SyntaxToken semicolonToken) 12966var newNode = SyntaxFactory.DestructorDeclaration(attributeLists, modifiers, tildeToken, identifier, parameterList, body, expressionBody, semicolonToken); 12975public new DestructorDeclarationSyntax WithAttributeLists(SyntaxList<AttributeListSyntax> attributeLists) => Update(attributeLists, this.Modifiers, this.TildeToken, this.Identifier, this.ParameterList, this.Body, this.ExpressionBody, this.SemicolonToken); 12977public new DestructorDeclarationSyntax WithModifiers(SyntaxTokenList modifiers) => Update(this.AttributeLists, modifiers, this.TildeToken, this.Identifier, this.ParameterList, this.Body, this.ExpressionBody, this.SemicolonToken); 12978public DestructorDeclarationSyntax WithTildeToken(SyntaxToken tildeToken) => Update(this.AttributeLists, this.Modifiers, tildeToken, this.Identifier, this.ParameterList, this.Body, this.ExpressionBody, this.SemicolonToken); 12979public DestructorDeclarationSyntax WithIdentifier(SyntaxToken identifier) => Update(this.AttributeLists, this.Modifiers, this.TildeToken, identifier, this.ParameterList, this.Body, this.ExpressionBody, this.SemicolonToken); 12981public new DestructorDeclarationSyntax WithParameterList(ParameterListSyntax parameterList) => Update(this.AttributeLists, this.Modifiers, this.TildeToken, this.Identifier, parameterList, this.Body, this.ExpressionBody, this.SemicolonToken); 12983public new DestructorDeclarationSyntax WithBody(BlockSyntax? body) => Update(this.AttributeLists, this.Modifiers, this.TildeToken, this.Identifier, this.ParameterList, body, this.ExpressionBody, this.SemicolonToken); 12985public new DestructorDeclarationSyntax WithExpressionBody(ArrowExpressionClauseSyntax? expressionBody) => Update(this.AttributeLists, this.Modifiers, this.TildeToken, this.Identifier, this.ParameterList, this.Body, expressionBody, this.SemicolonToken); 12987public new DestructorDeclarationSyntax WithSemicolonToken(SyntaxToken semicolonToken) => Update(this.AttributeLists, this.Modifiers, this.TildeToken, this.Identifier, this.ParameterList, this.Body, this.ExpressionBody, semicolonToken); 12990public new DestructorDeclarationSyntax AddAttributeLists(params AttributeListSyntax[] items) => WithAttributeLists(this.AttributeLists.AddRange(items)); 12992public new DestructorDeclarationSyntax AddModifiers(params SyntaxToken[] items) => WithModifiers(this.Modifiers.AddRange(items)); 12994public new DestructorDeclarationSyntax AddParameterListParameters(params ParameterSyntax[] items) => WithParameterList(this.ParameterList.WithParameters(this.ParameterList.Parameters.AddRange(items))); 12996public new DestructorDeclarationSyntax AddBodyAttributeLists(params AttributeListSyntax[] items) 13002public new DestructorDeclarationSyntax AddBodyStatements(params StatementSyntax[] items)
Syntax\DestructorDeclarationSyntax.cs (5)
13public DestructorDeclarationSyntax Update( 37public static DestructorDeclarationSyntax DestructorDeclaration( 53public static DestructorDeclarationSyntax DestructorDeclaration( 71public static DestructorDeclarationSyntax DestructorDeclaration( 87public static DestructorDeclarationSyntax DestructorDeclaration(
Microsoft.CodeAnalysis.CSharp.CodeStyle (3)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\MemberDeclarationSyntaxExtensions.cs (1)
58return ((DestructorDeclarationSyntax)member).Identifier;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\TokenBasedFormattingRule.cs (1)
540if (previousToken.Kind() == SyntaxKind.TildeToken && (previousToken.Parent is PrefixUnaryExpressionSyntax or DestructorDeclarationSyntax))
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\FormattingRangeHelper.cs (1)
127DestructorDeclarationSyntax or
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (6)
src\Analyzers\CSharp\CodeFixes\ImplementInterface\CSharpImplementInterfaceService.cs (1)
112var methodDecl = SyntaxFactory.DestructorDeclaration(classType.Name).AddBodyStatements(disposeStatement);
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\DestructorGenerator.cs (5)
31var destructorDeclaration = GenerateDestructorDeclaration(destructor, info, cancellationToken); 41internal static DestructorDeclarationSyntax GenerateDestructorDeclaration( 44var reusableSyntax = GetReuseableSyntaxNodeForSymbol<DestructorDeclarationSyntax>(destructor, info); 52var declaration = DestructorDeclaration(
Microsoft.CodeAnalysis.CSharp.EditorFeatures.UnitTests (2)
Structure\DestructorDeclarationStructureTests.cs (1)
15public sealed class DestructorDeclarationStructureTests : AbstractCSharpSyntaxNodeStructureTests<DestructorDeclarationSyntax>
Structure\MetadataAsSource\DestructorDeclarationStructureTests.cs (1)
15public sealed class DestructorDeclarationStructureTests : AbstractCSharpSyntaxNodeStructureTests<DestructorDeclarationSyntax>
Microsoft.CodeAnalysis.CSharp.Emit3.UnitTests (1)
Diagnostics\GetDiagnosticsTests.cs (1)
1156DestructorDeclarationSyntax destructorDecl => destructorDecl.Identifier.GetLocation(),
Microsoft.CodeAnalysis.CSharp.Features (16)
CodeLens\CSharpCodeLensMemberFinder.cs (1)
119public override void VisitDestructorDeclaration(DestructorDeclarationSyntax node)
EditAndContinue\CSharpEditAndContinueAnalyzer.cs (2)
1693var destructorDeclaration = (DestructorDeclarationSyntax)node;
EditAndContinue\SyntaxComparer.cs (1)
1471return ((DestructorDeclarationSyntax)node).Identifier;
EditAndContinue\SyntaxUtilities.cs (1)
27DestructorDeclarationSyntax destructorDeclaration => CreateSimpleBody(BlockOrExpression(destructorDeclaration.Body, destructorDeclaration.ExpressionBody)),
LineSeparators\CSharpLineSeparatorService.cs (1)
176if (node is DestructorDeclarationSyntax destructorDecl)
Organizing\Organizers\DestructorDeclarationOrganizer.cs (3)
17internal sealed class DestructorDeclarationOrganizer : AbstractSyntaxNodeOrganizer<DestructorDeclarationSyntax> 25protected override DestructorDeclarationSyntax Organize( 26DestructorDeclarationSyntax syntax,
SolutionExplorer\CSharpSolutionExplorerSymbolTreeItemProvider.cs (1)
158case DestructorDeclarationSyntax destructorDeclaration:
src\Analyzers\CSharp\CodeFixes\ImplementInterface\CSharpImplementInterfaceService.cs (1)
112var methodDecl = SyntaxFactory.DestructorDeclaration(classType.Name).AddBodyStatements(disposeStatement);
src\Compilers\CSharp\CSharpAnalyzerDriver\CSharpDeclarationComputer.cs (1)
460arrowExpr = ((DestructorDeclarationSyntax)node).ExpressionBody;
Structure\CSharpBlockStructureProvider.cs (1)
29builder.Add<DestructorDeclarationSyntax, DestructorDeclarationStructureProvider>();
Structure\CSharpStructureHelpers.cs (1)
272DestructorDeclarationSyntax destructorDeclaration => destructorDeclaration.TildeToken,
Structure\Providers\DestructorDeclarationStructureProvider.cs (2)
12internal sealed class DestructorDeclarationStructureProvider : AbstractSyntaxNodeStructureProvider<DestructorDeclarationSyntax> 16DestructorDeclarationSyntax destructorDeclaration,
Microsoft.CodeAnalysis.CSharp.Features.UnitTests (1)
Copilot\CSharpImplementNotImplementedExceptionFixProviderTests.cs (1)
546DestructorDeclarationSyntax destructor => destructor.TildeToken.Text + destructor.Identifier.Text,
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (2)
Semantics\ExpressionBodiedMemberTests.cs (2)
580Assert.Contains("P1", model.LookupNames(tree.GetRoot().DescendantNodes().OfType<DestructorDeclarationSyntax>().Single().Body.Position)); 582var node2 = tree.GetRoot().DescendantNodes().OfType<DestructorDeclarationSyntax>().Single()
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (2)
Symbols\DestructorTests.cs (2)
407var destructorDecl = tree.GetCompilationUnitRoot().DescendantNodes().OfType<DestructorDeclarationSyntax>().Single();
Microsoft.CodeAnalysis.CSharp.Syntax.UnitTests (8)
Generated\Syntax.Test.xml.Generated.cs (5)
10930private static DestructorDeclarationSyntax GenerateDestructorDeclaration() 13512var node = GenerateDestructorDeclaration(); 13522var newNode = node.WithAttributeLists(node.AttributeLists).WithModifiers(node.Modifiers).WithTildeToken(node.TildeToken).WithIdentifier(node.Identifier).WithParameterList(node.ParameterList).WithBody(node.Body).WithExpressionBody(node.ExpressionBody).WithSemicolonToken(node.SemicolonToken); 19203var oldNode = GenerateDestructorDeclaration(); 19219var oldNode = GenerateDestructorDeclaration();
IncrementalParsing\TypeChanges.cs (1)
33Assert.IsType<DestructorDeclarationSyntax>(classType.Members[0]);
Parsing\DeclarationParsingTests.cs (2)
3587var cn = (DestructorDeclarationSyntax)cs.Members[0];
Microsoft.CodeAnalysis.CSharp.Workspaces (11)
Classification\ClassificationHelpers.cs (1)
220else if (token.Parent is DestructorDeclarationSyntax destructorDeclaration && destructorDeclaration.Identifier == token)
CodeGeneration\CSharpSyntaxGenerator.cs (2)
2393return ((DestructorDeclarationSyntax)declaration).WithParameterList(list); 2638SyntaxKind.DestructorDeclaration => ((DestructorDeclarationSyntax)declaration).Body?.Statements,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\MemberDeclarationSyntaxExtensions.cs (1)
58return ((DestructorDeclarationSyntax)member).Identifier;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\TokenBasedFormattingRule.cs (1)
540if (previousToken.Kind() == SyntaxKind.TildeToken && (previousToken.Parent is PrefixUnaryExpressionSyntax or DestructorDeclarationSyntax))
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\FormattingRangeHelper.cs (1)
127DestructorDeclarationSyntax or
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\DestructorGenerator.cs (5)
31var destructorDeclaration = GenerateDestructorDeclaration(destructor, info, cancellationToken); 41internal static DestructorDeclarationSyntax GenerateDestructorDeclaration( 44var reusableSyntax = GetReuseableSyntaxNodeForSymbol<DestructorDeclarationSyntax>(destructor, info); 52var declaration = DestructorDeclaration(
Microsoft.CodeAnalysis.CSharp.Workspaces.UnitTests (1)
CodeGeneration\SyntaxGeneratorTests.cs (1)
2694VerifySyntax<DestructorDeclarationSyntax>(
Microsoft.DotNet.GenFacades (1)
NotSupportedAssemblyGenerator.cs (1)
163public override SyntaxNode VisitDestructorDeclaration(DestructorDeclarationSyntax node)
Microsoft.VisualStudio.LanguageServices.CSharp (7)
CodeModel\CSharpCodeModelService.cs (5)
816return "~" + ((DestructorDeclarationSyntax)node).Identifier.ToString(); 896return ((DestructorDeclarationSyntax)node).WithIdentifier(newIdentifier); 939var destructor = ((DestructorDeclarationSyntax)member).WithIdentifier(newIdentifier); 3404else if (container is DestructorDeclarationSyntax destructor)
CodeModel\CSharpCodeModelService.NodeLocator.cs (2)
401startPosition = ((DestructorDeclarationSyntax)node).Identifier.SpanStart; 964endPosition = ((DestructorDeclarationSyntax)node).Identifier.Span.End;
Roslyn.Diagnostics.CSharp.Analyzers (8)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\MemberDeclarationSyntaxExtensions.cs (1)
58return ((DestructorDeclarationSyntax)member).Identifier;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\TokenBasedFormattingRule.cs (1)
540if (previousToken.Kind() == SyntaxKind.TildeToken && (previousToken.Parent is PrefixUnaryExpressionSyntax or DestructorDeclarationSyntax))
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\FormattingRangeHelper.cs (1)
127DestructorDeclarationSyntax or
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\DestructorGenerator.cs (5)
31var destructorDeclaration = GenerateDestructorDeclaration(destructor, info, cancellationToken); 41internal static DestructorDeclarationSyntax GenerateDestructorDeclaration( 44var reusableSyntax = GetReuseableSyntaxNodeForSymbol<DestructorDeclarationSyntax>(destructor, info); 52var declaration = DestructorDeclaration(