30 references to ClosureKind
Microsoft.CodeAnalysis.CSharp (30)
Lowering\ClosureConversion\ClosureConversion.cs (18)
428ClosureKind closureKind; 439closureKind = ClosureKind.General; 446closureKind = ClosureKind.ThisOnly; 460closureKind = ClosureKind.Singleton; 468closureKind = ClosureKind.Static; 1029ClosureKind closureKind, 1069if (closureKind == ClosureKind.Singleton) 1074else if (closureKind == ClosureKind.Static) 1435ClosureKind closureKind; 1453private DebugId GetLambdaId(SyntaxNode syntax, ClosureKind closureKind, int closureOrdinal, ImmutableArray<DebugId> structClosureIds, RuntimeRudeEdit? closureRudeEdit) 1486Debug.Assert(closureKind == ClosureKind.Singleton); 1527out ClosureKind closureKind, 1584if (closureKind == ClosureKind.Static || closureKind == ClosureKind.Singleton) 1647ClosureKind closureKind; 1686var shouldCacheForStaticMethod = closureKind == ClosureKind.Singleton && 1719(closureKind == ClosureKind.General) ? -1 : topLevelMethodId.Ordinal, 1724var cacheField = new SynthesizedLambdaCacheFieldSymbol(translatedLambdaContainer, cacheVariableType, cacheVariableName, _topLevelMethod, isReadOnly: false, isStatic: closureKind == ClosureKind.Singleton);
Lowering\ClosureConversion\SynthesizedClosureMethod.cs (12)
28ClosureKind closureKind, 57case ClosureKind.Singleton: // all type parameters on method (except the top level method's) 58case ClosureKind.General: // only lambda's type parameters on method (rest on class) 66case ClosureKind.ThisOnly: // all type parameters on method 67case ClosureKind.Static: 156private static DeclarationModifiers MakeDeclarationModifiers(ClosureKind closureKind, 170if (closureKind == ClosureKind.Static) 193private static string MakeName(string topLevelMethodName, string localFunctionName, DebugId topLevelMethodId, ClosureKind closureKind, DebugId lambdaId) 198(closureKind == ClosureKind.General) ? -1 : topLevelMethodId.Ordinal, 204private static string MakeName(string topLevelMethodName, DebugId topLevelMethodId, ClosureKind closureKind, DebugId lambdaId) 211(closureKind == ClosureKind.General) ? -1 : topLevelMethodId.Ordinal, 249public ClosureKind ClosureKind { get; }