31 references to ClosureKind
Microsoft.CodeAnalysis.CSharp (31)
Lowering\ClosureConversion\ClosureConversion.cs (18)
413ClosureKind closureKind; 424closureKind = ClosureKind.General; 431closureKind = ClosureKind.ThisOnly; 445closureKind = ClosureKind.Singleton; 453closureKind = ClosureKind.Static; 1014ClosureKind closureKind, 1054if (closureKind == ClosureKind.Singleton) 1059else if (closureKind == ClosureKind.Static) 1419ClosureKind closureKind; 1437private DebugId GetLambdaId(SyntaxNode syntax, ClosureKind closureKind, int closureOrdinal, ImmutableArray<DebugId> structClosureIds, RuntimeRudeEdit? closureRudeEdit) 1470Debug.Assert(closureKind == ClosureKind.Singleton); 1511out ClosureKind closureKind, 1568if (closureKind == ClosureKind.Static || closureKind == ClosureKind.Singleton) 1631ClosureKind closureKind; 1670var shouldCacheForStaticMethod = closureKind == ClosureKind.Singleton && 1703(closureKind == ClosureKind.General) ? -1 : topLevelMethodId.Ordinal, 1708var cacheField = new SynthesizedLambdaCacheFieldSymbol(translatedLambdaContainer, cacheVariableType, cacheVariableName, _topLevelMethod, isReadOnly: false, isStatic: closureKind == ClosureKind.Singleton);
Lowering\ClosureConversion\SynthesizedClosureMethod.cs (13)
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) 65case ClosureKind.ThisOnly: // all type parameters on method 66case ClosureKind.Static: 153private static DeclarationModifiers MakeDeclarationModifiers(ClosureKind closureKind, MethodSymbol originalMethod) 155var mods = closureKind == ClosureKind.ThisOnly ? DeclarationModifiers.Private : DeclarationModifiers.Internal; 157if (closureKind == ClosureKind.Static) 175private static string MakeName(string topLevelMethodName, string localFunctionName, DebugId topLevelMethodId, ClosureKind closureKind, DebugId lambdaId) 180(closureKind == ClosureKind.General) ? -1 : topLevelMethodId.Ordinal, 186private static string MakeName(string topLevelMethodName, DebugId topLevelMethodId, ClosureKind closureKind, DebugId lambdaId) 193(closureKind == ClosureKind.General) ? -1 : topLevelMethodId.Ordinal, 231public ClosureKind ClosureKind { get; }