137 references to LocalFunction
Microsoft.CodeAnalysis (3)
Operations\ControlFlowGraph.cs (1)
57Debug.Assert(method.MethodKind == MethodKind.LocalFunction);
Operations\ControlFlowGraphBuilder.RegionBuilder.cs (2)
98Debug.Assert(symbol.MethodKind == MethodKind.LocalFunction); 117Debug.Assert(others.All(((IMethodSymbol m, ILocalFunctionOperation _) tuple) => tuple.m.MethodKind == MethodKind.LocalFunction));
Microsoft.CodeAnalysis.CodeStyle (16)
AbstractQualifyMemberAccessDiagnosticAnalyzer.cs (1)
155return symbol == null || symbol.IsStatic || symbol is IMethodSymbol { MethodKind: MethodKind.LocalFunction };
AbstractSpeculationAnalyzer.cs (2)
374if (methodSymbol.MethodKind == MethodKind.LocalFunction && newMethodSymbol.MethodKind == MethodKind.LocalFunction)
AbstractValidateFormatStringDiagnosticAnalyzer.cs (1)
292if (((IMethodSymbol)symbolInfo.Symbol).MethodKind == MethodKind.LocalFunction)
AccessibilityExtensions.cs (1)
40case MethodKind.LocalFunction:
EditorConfigNamingStyleParser_SymbolSpec.cs (2)
131private static readonly SymbolKindOrTypeKind _localFunction = new(MethodKind.LocalFunction); 373case MethodKind.LocalFunction:
ISymbolExtensions.cs (2)
214=> symbol is IMethodSymbol { MethodKind: MethodKind.LocalFunction }; 241=> symbol is IMethodSymbol { MethodKind: MethodKind.Ordinary or MethodKind.LocalFunction };
NamingStyleRules.cs (1)
55MethodKind.LocalFunction;
SymbolEquivalenceComparer.EquivalenceVisitor.cs (1)
198MethodKind.LocalFunction)
SymbolKey.cs (2)
73/// cref="IRangeVariableSymbol"/> and <see cref="MethodKind.LocalFunction"/> <see cref="IMethodSymbol"/>s can also 326IMethodSymbol { MethodKind: MethodKind.LocalFunction } => true,
SymbolKey.SymbolKeyWriter.cs (1)
385case MethodKind.LocalFunction:
SymbolSpecification.cs (1)
84new SymbolKindOrTypeKind(MethodKind.LocalFunction),
SymbolUsageAnalysis.Walker.cs (1)
311case MethodKind.LocalFunction:
Microsoft.CodeAnalysis.CodeStyle.UnitTestUtilities (2)
NamingStylesTestOptionSets.cs (2)
551ImmutableArray.Create(new SymbolSpecification.SymbolKindOrTypeKind(MethodKind.LocalFunction)), 769new SymbolSpecification.SymbolKindOrTypeKind(MethodKind.LocalFunction)),
Microsoft.CodeAnalysis.CSharp (49)
Binder\Binder_Expressions.cs (2)
1788return (containingMethod.MethodKind == MethodKind.AnonymousFunction || containingMethod.MethodKind == MethodKind.LocalFunction) && !IsInsideNameof; // false in EE evaluation method 1948this.ContainingMemberOrLambda is MethodSymbol { MethodKind: MethodKind.AnonymousFunction or MethodKind.LocalFunction } &&
Binder\InMethodBinder.cs (3)
87internal override bool IsNestedFunctionBinder => _methodSymbol.MethodKind == MethodKind.LocalFunction; 272if (((MethodSymbol)newSymbol).MethodKind == MethodKind.LocalFunction) 300if (((MethodSymbol)newSymbol).MethodKind == MethodKind.LocalFunction)
Binder\MethodGroupResolution.cs (1)
88MethodGroup.Methods[0].MethodKind == MethodKind.LocalFunction;
Binder\Semantics\AccessCheck.cs (1)
196case SymbolKind.Method when ((MethodSymbol)symbol).MethodKind == MethodKind.LocalFunction:
FlowAnalysis\AbstractFlowPass.cs (1)
1431Debug.Assert(method?.OriginalDefinition.MethodKind != MethodKind.LocalFunction);
FlowAnalysis\DefiniteAssignment.cs (2)
2208currentMethod.MethodKind == MethodKind.LocalFunction) && 2250if (method.MethodKind == MethodKind.LocalFunction)
FlowAnalysis\DefiniteAssignment.LocalFunctions.cs (1)
163((MethodSymbol)symbol).MethodKind == MethodKind.LocalFunction)
FlowAnalysis\DefiniteAssignment.VariableIdentifier.cs (1)
36SymbolKind.Method when symbol is MethodSymbol m && m.MethodKind == MethodKind.LocalFunction => true,
FlowAnalysis\NullableWalker.cs (2)
2084while (enclosingMemberMethod?.MethodKind is MethodKind.AnonymousFunction or MethodKind.LocalFunction) 7340if (((MethodSymbol)symbol).MethodKind == MethodKind.LocalFunction)
Lowering\ClosureConversion\ClosureConversion.Analysis.Tree.cs (2)
442if (node.Method.MethodKind == MethodKind.LocalFunction) 452if (node.MethodOpt?.MethodKind == MethodKind.LocalFunction)
Lowering\ClosureConversion\ClosureConversion.cs (6)
201(localOrParameter as MethodSymbol)?.MethodKind == MethodKind.LocalFunction); 843var loweredSymbol = (node.Method.MethodKind is MethodKind.LambdaMethod or MethodKind.LocalFunction) ? 861Debug.Assert(localFunc.MethodKind == MethodKind.LocalFunction); 1056if (node.Method.MethodKind == MethodKind.LocalFunction) 1322if (node.MethodOpt?.MethodKind == MethodKind.LocalFunction) 1348if (node.TargetMethod.MethodKind == MethodKind.LocalFunction)
Lowering\DiagnosticsPass_ExpressionTrees.cs (4)
186var diagnostic = _staticLocalOrAnonymousFunction.MethodKind == MethodKind.LocalFunction 201var diagnostic = _staticLocalOrAnonymousFunction.MethodKind == MethodKind.LocalFunction 332else if (method.MethodKind == MethodKind.LocalFunction) 808if ((node.LookupSymbolOpt as MethodSymbol)?.MethodKind == MethodKind.LocalFunction)
Lowering\Instrumentation\CodeCoverageInstrumenter.cs (1)
143Debug.Assert(method.MethodKind != MethodKind.LocalFunction && method.MethodKind != MethodKind.AnonymousFunction);
Lowering\LocalRewriter\DelegateCacheRewriter.cs (1)
129if (targetMethod.MethodKind == MethodKind.LocalFunction)
Lowering\LocalRewriter\LocalRewriter.DecisionDagRewriter.cs (3)
155node.Method.MethodKind == MethodKind.LocalFunction || 217if (conversion.Method.MethodKind == MethodKind.LocalFunction) 241node.MethodOpt?.MethodKind == MethodKind.LocalFunction;
Lowering\SyntheticBoundNodeFactory.cs (2)
71value.MethodKind != MethodKind.LocalFunction) 189CurrentFunction.MethodKind == MethodKind.LocalFunction ||
SymbolDisplay\SymbolDisplayVisitor.cs (1)
330return ((IMethodSymbol)symbol).MethodKind == MethodKind.LocalFunction;
SymbolDisplay\SymbolDisplayVisitor.Members.cs (2)
388if (symbol.MethodKind == MethodKind.LocalFunction) 427case MethodKind.LocalFunction:
Symbols\MethodSymbol.cs (2)
611case MethodKind.LocalFunction: 1030if (!IsStatic || IsAbstract || IsVirtual || MethodKind is not (MethodKind.Ordinary or MethodKind.LocalFunction))
Symbols\PublicModel\MethodSymbol.cs (2)
68case MethodKind.LocalFunction: 69return MethodKind.LocalFunction;
Symbols\Source\LocalFunctionSymbol.cs (1)
294public override MethodKind MethodKind => MethodKind.LocalFunction;
Symbols\Source\ParameterHelpers.cs (1)
210methodOwner?.MethodKind == MethodKind.LocalFunction;
Symbols\Source\SourceMemberContainerSymbol.cs (1)
3806case MethodKind.LocalFunction:
Symbols\Source\SourceMethodSymbolWithAttributes.cs (1)
689else if (this is { MethodKind: MethodKind.LocalFunction, IsStatic: false })
Symbols\Symbol.cs (2)
538case MethodKind.LocalFunction: 599case MethodKind.LocalFunction:
Symbols\Symbol_Attributes.cs (1)
652Debug.Assert(!binder.InAttributeArgument || this is MethodSymbol { MethodKind: MethodKind.LambdaMethod or MethodKind.LocalFunction }, "Possible cycle in attribute binding");
Symbols\SymbolExtensions.cs (2)
150if (method.MethodKind != MethodKind.AnonymousFunction && method.MethodKind != MethodKind.LocalFunction) break; 170if (method.MethodKind == MethodKind.AnonymousFunction || method.MethodKind == MethodKind.LocalFunction)
Microsoft.CodeAnalysis.CSharp.CodeStyle (1)
CastSimplifier.cs (1)
1028method.MethodKind is not (MethodKind.LocalFunction or MethodKind.LambdaMethod) &&
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (1)
J\s\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\SyntaxTreeExtensions.cs\SyntaxTreeExtensions.cs (1)
2008while (enclosingSymbol is IMethodSymbol { MethodKind: MethodKind.LocalFunction or MethodKind.AnonymousFunction } method)
Microsoft.CodeAnalysis.CSharp.CodeStyle.UnitTests (1)
NamingStylesTests.cs (1)
221[InlineData("void Outer() { void [|m|]() {} }", "void Outer() { void M() {} }", MethodKind.LocalFunction, Accessibility.NotApplicable)]
Microsoft.CodeAnalysis.CSharp.EditorFeatures.UnitTests (18)
Completion\CompletionProviders\DeclarationNameCompletionProviderTests.cs (1)
2956SpecificationStyle(new SymbolKindOrTypeKind(MethodKind.LocalFunction), "LocalFunction"),
Completion\CompletionProviders\DeclarationNameCompletionProviderTests_NameDeclarationInfoTests.cs (12)
128new SymbolKindOrTypeKind(MethodKind.LocalFunction)); 167new SymbolKindOrTypeKind(MethodKind.LocalFunction)); 590new SymbolKindOrTypeKind(MethodKind.LocalFunction)); 610new SymbolKindOrTypeKind(MethodKind.LocalFunction)); 632new SymbolKindOrTypeKind(MethodKind.LocalFunction)); 652new SymbolKindOrTypeKind(MethodKind.LocalFunction)); 672new SymbolKindOrTypeKind(MethodKind.LocalFunction)); 694new SymbolKindOrTypeKind(MethodKind.LocalFunction)); 714new SymbolKindOrTypeKind(MethodKind.LocalFunction)); 734new SymbolKindOrTypeKind(MethodKind.LocalFunction)); 754new SymbolKindOrTypeKind(MethodKind.LocalFunction)); 773new SymbolKindOrTypeKind(MethodKind.LocalFunction));
Diagnostics\NamingStyles\EditorConfigNamingStyleParserTests.cs (4)
120new SymbolKindOrTypeKind(MethodKind.LocalFunction) 310var expectedApplicableSymbolKindList = new[] { new SymbolKindOrTypeKind(MethodKind.LocalFunction) }; 344[InlineData("*", new object[] { SymbolKind.Namespace, TypeKind.Class, TypeKind.Struct, TypeKind.Interface, TypeKind.Enum, SymbolKind.Property, MethodKind.Ordinary, MethodKind.LocalFunction, SymbolKind.Field, SymbolKind.Event, TypeKind.Delegate, SymbolKind.Parameter, SymbolKind.TypeParameter, SymbolKind.Local })] 345[InlineData(null, new object[] { SymbolKind.Namespace, TypeKind.Class, TypeKind.Struct, TypeKind.Interface, TypeKind.Enum, SymbolKind.Property, MethodKind.Ordinary, MethodKind.LocalFunction, SymbolKind.Field, SymbolKind.Event, TypeKind.Delegate, SymbolKind.Parameter, SymbolKind.TypeParameter, SymbolKind.Local })]
NamingStylesTests.cs (1)
221[InlineData("void Outer() { void [|m|]() {} }", "void Outer() { void M() {} }", MethodKind.LocalFunction, Accessibility.NotApplicable)]
Microsoft.CodeAnalysis.CSharp.Features (8)
Completion\CompletionProviders\DeclarationName\DeclarationNameInfo.cs (3)
187new SymbolKindOrTypeKind(MethodKind.LocalFunction)), 552? ImmutableArray.Create(new SymbolKindOrTypeKind(MethodKind.LocalFunction)) : 555new SymbolKindOrTypeKind(MethodKind.LocalFunction));
EditAndContinue\CSharpEditAndContinueAnalyzer.cs (1)
1951MethodKind.LocalFunction => FeaturesResources.local_function,
ExtractMethod\CSharpMethodExtractor.CSharpCodeGenerator.cs (3)
118methodKind: localFunction ? MethodKind.LocalFunction : MethodKind.Ordinary); 861var localFunctionPreferences = Options.NamingStyle.SymbolSpecifications.Where(symbol => symbol.AppliesTo(new SymbolSpecification.SymbolKindOrTypeKind(MethodKind.LocalFunction), CreateMethodModifiers(), null)); 864var localFunctionKind = new SymbolSpecification.SymbolKindOrTypeKind(MethodKind.LocalFunction);
SignatureHelp\InvocationExpressionSignatureHelpProviderBase_MethodGroup.cs (1)
75methodGroup = methodGroup.Where(m => m.IsStatic || m is IMethodSymbol { MethodKind: MethodKind.LocalFunction });
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (1)
Semantics\TopLevelStatementsTests.cs (1)
4209Assert.Equal(MethodKind.LocalFunction, ((IMethodSymbol)local).MethodKind);
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (5)
SymbolDisplay\SymbolDisplayTests.cs (4)
6306Assert.Equal(MethodKind.LocalFunction, localSymbol.MethodKind); 6349Assert.Equal(MethodKind.LocalFunction, localSymbol.MethodKind); 6384Assert.Equal(MethodKind.LocalFunction, localSymbol.MethodKind); 6478Assert.Equal(MethodKind.LocalFunction, localSymbol.MethodKind);
Symbols\Source\NullablePublicAPITests.cs (1)
4135var localFunctionResult = lookupResults.OfType<IMethodSymbol>().First(m => m.MethodKind == MethodKind.LocalFunction);
Microsoft.CodeAnalysis.CSharp.Workspaces (2)
CastSimplifier.cs (1)
1028method.MethodKind is not (MethodKind.LocalFunction or MethodKind.LambdaMethod) &&
J\s\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\SyntaxTreeExtensions.cs\SyntaxTreeExtensions.cs (1)
2008while (enclosingSymbol is IMethodSymbol { MethodKind: MethodKind.LocalFunction or MethodKind.AnonymousFunction } method)
Microsoft.CodeAnalysis.EditorFeatures.DiagnosticsTests.Utilities (2)
NamingStyles\NamingStylesTestOptionSets.cs (2)
551ImmutableArray.Create(new SymbolSpecification.SymbolKindOrTypeKind(MethodKind.LocalFunction)), 769new SymbolSpecification.SymbolKindOrTypeKind(MethodKind.LocalFunction)),
Microsoft.CodeAnalysis.Features (7)
AbstractQualifyMemberAccessDiagnosticAnalyzer.cs (1)
155return symbol == null || symbol.IsStatic || symbol is IMethodSymbol { MethodKind: MethodKind.LocalFunction };
AbstractValidateFormatStringDiagnosticAnalyzer.cs (1)
292if (((IMethodSymbol)symbolInfo.Symbol).MethodKind == MethodKind.LocalFunction)
Completion\Providers\AbstractContextVariableArgumentProvider.cs (1)
90while (enclosingSymbol is IMethodSymbol { MethodKind: MethodKind.LocalFunction or MethodKind.AnonymousFunction } method)
EditAndContinue\AbstractEditAndContinueAnalyzer.cs (1)
5530if (containingLambda?.MethodKind is MethodKind.LambdaMethod or MethodKind.LocalFunction)
InlineHints\AbstractInlineParameterNameHintsService.cs (1)
224if (parameter is not { ContainingSymbol: IMethodSymbol { MethodKind: MethodKind.Ordinary or MethodKind.LocalFunction } method })
IntroduceParameter\AbstractIntroduceParameterCodeRefactoringProvider.cs (2)
82if (methodKind is not (MethodKind.Ordinary or MethodKind.LocalFunction or MethodKind.Constructor)) 163if (methodSymbol.MethodKind is not MethodKind.LocalFunction)
Microsoft.CodeAnalysis.Test.Utilities (3)
Compilation\CompilationExtensions.cs (1)
378if ((parameterInitializerOperation.Parameter.ContainingSymbol as IMethodSymbol)?.MethodKind is not (MethodKind.LocalFunction or MethodKind.AnonymousFunction))
Compilation\ControlFlowGraphVerifier.cs (2)
1741if (method.MethodKind == MethodKind.LocalFunction) 1756if (method.MethodKind == MethodKind.LocalFunction)
Microsoft.CodeAnalysis.Workspaces (15)
AbstractSpeculationAnalyzer.cs (2)
374if (methodSymbol.MethodKind == MethodKind.LocalFunction && newMethodSymbol.MethodKind == MethodKind.LocalFunction)
AccessibilityExtensions.cs (1)
40case MethodKind.LocalFunction:
EditorConfigNamingStyleParser_SymbolSpec.cs (2)
131private static readonly SymbolKindOrTypeKind _localFunction = new(MethodKind.LocalFunction); 373case MethodKind.LocalFunction:
FindSymbols\FindReferences\Finders\OrdinaryMethodReferenceFinder.cs (1)
19MethodKind.LocalFunction;
J\s\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\ISymbolExtensions.cs\ISymbolExtensions.cs (2)
214=> symbol is IMethodSymbol { MethodKind: MethodKind.LocalFunction }; 241=> symbol is IMethodSymbol { MethodKind: MethodKind.Ordinary or MethodKind.LocalFunction };
NamingStyleRules.cs (1)
55MethodKind.LocalFunction;
SymbolEquivalenceComparer.EquivalenceVisitor.cs (1)
198MethodKind.LocalFunction)
SymbolKey.cs (2)
73/// cref="IRangeVariableSymbol"/> and <see cref="MethodKind.LocalFunction"/> <see cref="IMethodSymbol"/>s can also 326IMethodSymbol { MethodKind: MethodKind.LocalFunction } => true,
SymbolKey.SymbolKeyWriter.cs (1)
385case MethodKind.LocalFunction:
SymbolSpecification.cs (1)
84new SymbolKindOrTypeKind(MethodKind.LocalFunction),
SymbolUsageAnalysis.Walker.cs (1)
311case MethodKind.LocalFunction:
Microsoft.CodeAnalysis.Workspaces.UnitTests (2)
EditorConfigParsing\NamingStyleParserTests.cs (2)
163symbolKind => Assert.Equal(new SymbolKindOrTypeKind(MethodKind.LocalFunction), symbolKind), 240symbolKind => Assert.Equal(new SymbolKindOrTypeKind(MethodKind.LocalFunction), symbolKind));
Microsoft.VisualStudio.LanguageServices.Implementation (1)
Options\Style\NamingPreferences\SymbolSpecification\SymbolSpecificationViewModel.cs (1)
58new SymbolKindViewModel(MethodKind.LocalFunction, ServicesVSResources.NamingSpecification_CSharp_LocalFunction, specification),