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