1 instantiation of ReturnStatementSyntax
Microsoft.CodeAnalysis.CSharp (1)
_generated\1\Syntax.xml.Internal.Generated.cs (1)
11749internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.ReturnStatementSyntax(this, parent, position);
97 references to ReturnStatementSyntax
Microsoft.AspNetCore.Components.Analyzers (1)
ComponentParameterAnalyzer.cs (1)
183if (getter.Body is { Statements: { Count: 1 } } && getter.Body.Statements[0] is ReturnStatementSyntax returnStatement)
Microsoft.CodeAnalysis.CSharp (25)
_generated\0\Syntax.xml.Main.Generated.cs (7)
392public virtual TResult? VisitReturnStatement(ReturnStatementSyntax node) => this.DefaultVisit(node); 1144public virtual void VisitReturnStatement(ReturnStatementSyntax node) => this.DefaultVisit(node); 1895public override SyntaxNode? VisitReturnStatement(ReturnStatementSyntax node) 4254public static ReturnStatementSyntax ReturnStatement(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken returnKeyword, ExpressionSyntax? expression, SyntaxToken semicolonToken) 4258return (ReturnStatementSyntax)Syntax.InternalSyntax.SyntaxFactory.ReturnStatement(attributeLists.Node.ToGreenList<Syntax.InternalSyntax.AttributeListSyntax>(), (Syntax.InternalSyntax.SyntaxToken)returnKeyword.Node!, expression == null ? null : (Syntax.InternalSyntax.ExpressionSyntax)expression.Green, (Syntax.InternalSyntax.SyntaxToken)semicolonToken.Node!).CreateRed(); 4262public static ReturnStatementSyntax ReturnStatement(SyntaxList<AttributeListSyntax> attributeLists, ExpressionSyntax? expression) 4267public static ReturnStatementSyntax ReturnStatement(ExpressionSyntax? expression = default)
_generated\2\Syntax.xml.Syntax.Generated.cs (7)
7299public ReturnStatementSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken returnKeyword, ExpressionSyntax? expression, SyntaxToken semicolonToken) 7303var newNode = SyntaxFactory.ReturnStatement(attributeLists, returnKeyword, expression, semicolonToken); 7312public new ReturnStatementSyntax WithAttributeLists(SyntaxList<AttributeListSyntax> attributeLists) => Update(attributeLists, this.ReturnKeyword, this.Expression, this.SemicolonToken); 7313public ReturnStatementSyntax WithReturnKeyword(SyntaxToken returnKeyword) => Update(this.AttributeLists, returnKeyword, this.Expression, this.SemicolonToken); 7314public ReturnStatementSyntax WithExpression(ExpressionSyntax? expression) => Update(this.AttributeLists, this.ReturnKeyword, expression, this.SemicolonToken); 7315public ReturnStatementSyntax WithSemicolonToken(SyntaxToken semicolonToken) => Update(this.AttributeLists, this.ReturnKeyword, this.Expression, semicolonToken); 7318public new ReturnStatementSyntax AddAttributeLists(params AttributeListSyntax[] items) => WithAttributeLists(this.AttributeLists.AddRange(items));
Binder\Binder_Statements.cs (2)
101result = BindReturn((ReturnStatementSyntax)node, diagnostics); 3036private BoundStatement BindReturn(ReturnStatementSyntax syntax, BindingDiagnosticBag diagnostics)
Binder\ExpressionVariableFinder.cs (1)
183public override void VisitReturnStatement(ReturnStatementSyntax node)
Binder\LocalBinderFactory.cs (1)
962public override void VisitReturnStatement(ReturnStatementSyntax node)
FlowAnalysis\DataFlowsInWalker.cs (1)
121if (node != null && node is ReturnStatementSyntax && RegionContains(node.Span))
FlowAnalysis\DataFlowsOutWalker.cs (1)
266if (!_dataFlowsOut.Contains(parameter) && (node == null || node is ReturnStatementSyntax))
Syntax\LookupPosition.cs (2)
349return ((ReturnStatementSyntax)statement).ReturnKeyword; 412return ((ReturnStatementSyntax)statement).SemicolonToken;
Syntax\ReturnStatementSyntax.cs (2)
11public ReturnStatementSyntax Update(SyntaxToken returnKeyword, ExpressionSyntax? expression, SyntaxToken semicolonToken) 20public static ReturnStatementSyntax ReturnStatement(SyntaxToken returnKeyword, ExpressionSyntax? expression, SyntaxToken semicolonToken)
Syntax\SyntaxFacts.cs (1)
616node.DescendantNodesAndSelf(child => !IsNestedFunction(child) && !(node is ExpressionSyntax)).Any(n => n is ReturnStatementSyntax { Expression: { } });
Microsoft.CodeAnalysis.CSharp.CodeStyle (11)
src\roslyn\src\Analyzers\CSharp\Analyzers\ConvertSwitchStatementToExpression\ConvertSwitchStatementToExpressionDiagnosticAnalyzer.Analyzer.cs (1)
271public override SyntaxKind VisitReturnStatement(ReturnStatementSyntax node)
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveUnnecessaryLambdaExpression\CSharpRemoveUnnecessaryLambdaExpressionDiagnosticAnalyzer.cs (1)
321if (statement is ReturnStatementSyntax { Expression: { } expression })
src\roslyn\src\Analyzers\CSharp\Analyzers\SimplifyPropertyAccessor\CSharpSimplifyPropertyAccessorDiagnosticAnalyzer.cs (1)
50if (accessor is (SyntaxKind.GetAccessorDeclaration) { Body.Statements: [ReturnStatementSyntax { Expression.RawKind: (int)SyntaxKind.FieldExpression }] }
src\roslyn\src\Analyzers\CSharp\Analyzers\UseAutoProperty\CSharpUseAutoPropertyAnalyzer.cs (1)
194accessorDeclaration.ExpressionBody?.Expression ?? GetSingleStatementFromAccessor<ReturnStatementSyntax>(accessorDeclaration)?.Expression,
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCollectionExpression\UseCollectionExpressionHelpers.cs (1)
413if (locallyScopedExpression.Parent is ReturnStatementSyntax or ArrowExpressionClauseSyntax)
src\roslyn\src\Analyzers\CSharp\Analyzers\UseSimpleUsingStatement\UseSimpleUsingStatementDiagnosticAnalyzer.cs (1)
256if (nextStatement is ReturnStatementSyntax returnStatement)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\BlockSyntaxExtensions.cs (1)
211else if (firstStatement is ReturnStatementSyntax returnStatement)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ExpressionSyntaxExtensions.cs (2)
929ReturnStatementSyntax returnStatement => GetTargetTypeForReturnStatement(returnStatement), 971ITypeSymbol? GetTargetTypeForReturnStatement(ReturnStatementSyntax returnStatement)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ParenthesizedExpressionSyntaxExtensions.cs (1)
169(nodeParent is ReturnStatementSyntax returnStatement && returnStatement.Expression == node) ||
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpSyntaxFacts.cs (1)
265=> ((ReturnStatementSyntax)node).Expression;
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (8)
src\roslyn\src\Analyzers\CSharp\CodeFixes\ConvertSwitchStatementToExpression\ConvertSwitchStatementToExpressionCodeFixProvider.Rewriter.cs (1)
277public override ExpressionSyntax VisitReturnStatement(ReturnStatementSyntax node)
src\roslyn\src\Analyzers\CSharp\CodeFixes\FixReturnType\CSharpFixReturnTypeCodeFixProvider.cs (1)
67var returnedValue = node is ReturnStatementSyntax returnStatement ? returnStatement.Expression : node;
src\roslyn\src\Analyzers\CSharp\CodeFixes\Iterator\CSharpAddYieldCodeFixProvider.cs (1)
48if (node is not ReturnStatementSyntax returnStatement)
src\roslyn\src\Analyzers\CSharp\CodeFixes\RemoveAsyncModifier\CSharpRemoveAsyncModifierCodeFixProvider.cs (1)
24internal sealed partial class CSharpRemoveAsyncModifierCodeFixProvider() : AbstractRemoveAsyncModifierCodeFixProvider<ReturnStatementSyntax, ExpressionSyntax>
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseConditionalExpression\CSharpUseConditionalExpressionForReturnCodeFixProvider.cs (1)
54if (returnOperation.Syntax is ReturnStatementSyntax { Expression: CheckedExpressionSyntax exp })
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (3)
179ReturnStatementSyntax returnStatement => InferTypeForReturnStatement(returnStatement), 245ReturnStatementSyntax returnStatement => InferTypeForReturnStatement(returnStatement, token), 2100ReturnStatementSyntax returnStatement, SyntaxToken? previousToken = null)
Microsoft.CodeAnalysis.CSharp.Features (33)
CodeRefactorings\InlineMethod\CSharpInlineMethodRefactoringProvider.cs (1)
43ReturnStatementSyntax returnStatementSyntax => returnStatementSyntax.Expression,
ConvertAutoPropertyToFullProperty\CSharpConvertAutoPropertyToFullPropertyCodeRefactoringProvider.cs (1)
69var getAccessorStatement = ReturnStatement(backingFieldExpression);
ConvertLinq\ConvertForEachToLinqQuery\AbstractToMethodConverter.cs (1)
108ForEachInfo.ForEachStatement.GetNextStatement() is ReturnStatementSyntax returnStatement &&
ConvertLinq\CSharpConvertLinqQueryToForEachProvider.cs (3)
229return TryConvertIfInReturnStatement((ReturnStatementSyntax)parent, queryExpressionProcessingInfo, out documentUpdateInfo); 728ReturnStatementSyntax returnStatement, 753if (memberDeclarationNode.DescendantNodes().OfType<ReturnStatementSyntax>().Count() == 1)
Debugging\CSharpProximityExpressionsService.RelevantExpressionsCollector.cs (1)
26public override void VisitReturnStatement(ReturnStatementSyntax node)
EditAndContinue\CSharpEditAndContinueAnalyzer.cs (1)
2830return ((ReturnStatementSyntax)statement).Expression!;
ExtractMethod\CSharpMethodExtractor.Analyzer.cs (1)
45returnStatementCount: controlFlowAnalysis.ExitPoints.Count(n => n is ReturnStatementSyntax),
ExtractMethod\CSharpMethodExtractor.CSharpCodeGenerator.cs (5)
444var returnStatement = flowControlInformation.TryGetBreakFlowValue(out var flowValue) 452var returnStatement = flowControlInformation.TryGetContinueFlowValue(out var flowValue) 457else if (current is ReturnStatementSyntax returnStatement) 494ReturnStatementSyntax CreateReturnStatementForReturnedVariables() 565if (statements is [ReturnStatementSyntax { Expression: null }])
ExtractMethod\CSharpMethodExtractor.PostProcessor.cs (1)
236if (statements.ElementAtOrDefault(0) is not LocalDeclarationStatementSyntax declaration || statements.ElementAtOrDefault(1) is not ReturnStatementSyntax returnStatement)
ExtractMethod\CSharpSelectionResult.cs (2)
134=> exitPoints.Any(n => n is not (BreakStatementSyntax or ContinueStatementSyntax or ReturnStatementSyntax)); 137=> exitPoints.OfType<ReturnStatementSyntax>().ToImmutableArray().CastArray<StatementSyntax>();
ExtractMethod\CSharpSelectionValidator.Validator.cs (1)
69ReturnStatementSyntax or
GenerateConstructors\CSharpGenerateConstructorsCodeRefactoringProvider.cs (1)
86if (body is ReturnStatementSyntax returnStatement)
Highlighting\KeywordHighlighters\ReturnStatementHighlighter.cs (3)
22internal sealed class ReturnStatementHighlighter : AbstractKeywordHighlighter<ReturnStatementSyntax> 31ReturnStatementSyntax returnStatement, List<TextSpan> spans, CancellationToken cancellationToken) 52case ReturnStatementSyntax statement:
src\roslyn\src\Analyzers\CSharp\Analyzers\ConvertSwitchStatementToExpression\ConvertSwitchStatementToExpressionDiagnosticAnalyzer.Analyzer.cs (1)
271public override SyntaxKind VisitReturnStatement(ReturnStatementSyntax node)
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveUnnecessaryLambdaExpression\CSharpRemoveUnnecessaryLambdaExpressionDiagnosticAnalyzer.cs (1)
321if (statement is ReturnStatementSyntax { Expression: { } expression })
src\roslyn\src\Analyzers\CSharp\Analyzers\SimplifyPropertyAccessor\CSharpSimplifyPropertyAccessorDiagnosticAnalyzer.cs (1)
50if (accessor is (SyntaxKind.GetAccessorDeclaration) { Body.Statements: [ReturnStatementSyntax { Expression.RawKind: (int)SyntaxKind.FieldExpression }] }
src\roslyn\src\Analyzers\CSharp\Analyzers\UseAutoProperty\CSharpUseAutoPropertyAnalyzer.cs (1)
194accessorDeclaration.ExpressionBody?.Expression ?? GetSingleStatementFromAccessor<ReturnStatementSyntax>(accessorDeclaration)?.Expression,
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCollectionExpression\UseCollectionExpressionHelpers.cs (1)
413if (locallyScopedExpression.Parent is ReturnStatementSyntax or ArrowExpressionClauseSyntax)
src\roslyn\src\Analyzers\CSharp\Analyzers\UseSimpleUsingStatement\UseSimpleUsingStatementDiagnosticAnalyzer.cs (1)
256if (nextStatement is ReturnStatementSyntax returnStatement)
src\roslyn\src\Analyzers\CSharp\CodeFixes\ConvertSwitchStatementToExpression\ConvertSwitchStatementToExpressionCodeFixProvider.Rewriter.cs (1)
277public override ExpressionSyntax VisitReturnStatement(ReturnStatementSyntax node)
src\roslyn\src\Analyzers\CSharp\CodeFixes\FixReturnType\CSharpFixReturnTypeCodeFixProvider.cs (1)
67var returnedValue = node is ReturnStatementSyntax returnStatement ? returnStatement.Expression : node;
src\roslyn\src\Analyzers\CSharp\CodeFixes\Iterator\CSharpAddYieldCodeFixProvider.cs (1)
48if (node is not ReturnStatementSyntax returnStatement)
src\roslyn\src\Analyzers\CSharp\CodeFixes\RemoveAsyncModifier\CSharpRemoveAsyncModifierCodeFixProvider.cs (1)
24internal sealed partial class CSharpRemoveAsyncModifierCodeFixProvider() : AbstractRemoveAsyncModifierCodeFixProvider<ReturnStatementSyntax, ExpressionSyntax>
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseConditionalExpression\CSharpUseConditionalExpressionForReturnCodeFixProvider.cs (1)
54if (returnOperation.Syntax is ReturnStatementSyntax { Expression: CheckedExpressionSyntax exp })
Microsoft.CodeAnalysis.CSharp.NetAnalyzers (1)
Microsoft.NetCore.Analyzers\Performance\CSharpUseSearchValues.cs (1)
79statement is ReturnStatementSyntax returnStatement)
Microsoft.CodeAnalysis.CSharp.Workspaces (10)
Simplification\CSharpSimplificationService.Expander.cs (2)
131public override SyntaxNode VisitReturnStatement(ReturnStatementSyntax node) 135if (newNode is ReturnStatementSyntax newReturnStatement)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\BlockSyntaxExtensions.cs (1)
211else if (firstStatement is ReturnStatementSyntax returnStatement)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ExpressionSyntaxExtensions.cs (2)
929ReturnStatementSyntax returnStatement => GetTargetTypeForReturnStatement(returnStatement), 971ITypeSymbol? GetTargetTypeForReturnStatement(ReturnStatementSyntax returnStatement)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ParenthesizedExpressionSyntaxExtensions.cs (1)
169(nodeParent is ReturnStatementSyntax returnStatement && returnStatement.Expression == node) ||
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpSyntaxFacts.cs (1)
265=> ((ReturnStatementSyntax)node).Expression;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (3)
179ReturnStatementSyntax returnStatement => InferTypeForReturnStatement(returnStatement), 245ReturnStatementSyntax returnStatement => InferTypeForReturnStatement(returnStatement, token), 2100ReturnStatementSyntax returnStatement, SyntaxToken? previousToken = null)
Roslyn.Diagnostics.CSharp.Analyzers (8)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\BlockSyntaxExtensions.cs (1)
211else if (firstStatement is ReturnStatementSyntax returnStatement)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ExpressionSyntaxExtensions.cs (2)
929ReturnStatementSyntax returnStatement => GetTargetTypeForReturnStatement(returnStatement), 971ITypeSymbol? GetTargetTypeForReturnStatement(ReturnStatementSyntax returnStatement)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ParenthesizedExpressionSyntaxExtensions.cs (1)
169(nodeParent is ReturnStatementSyntax returnStatement && returnStatement.Expression == node) ||
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpSyntaxFacts.cs (1)
265=> ((ReturnStatementSyntax)node).Expression;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (3)
179ReturnStatementSyntax returnStatement => InferTypeForReturnStatement(returnStatement), 245ReturnStatementSyntax returnStatement => InferTypeForReturnStatement(returnStatement, token), 2100ReturnStatementSyntax returnStatement, SyntaxToken? previousToken = null)