31 references to ClosureKind
Microsoft.CodeAnalysis.CSharp (31)
Lowering\ClosureConversion\ClosureConversion.cs (18)
418ClosureKind closureKind; 429closureKind = ClosureKind.General; 436closureKind = ClosureKind.ThisOnly; 450closureKind = ClosureKind.Singleton; 458closureKind = ClosureKind.Static; 1019ClosureKind closureKind, 1059if (closureKind == ClosureKind.Singleton) 1064else if (closureKind == ClosureKind.Static) 1424ClosureKind closureKind; 1442private DebugId GetLambdaId(SyntaxNode syntax, ClosureKind closureKind, int closureOrdinal, ImmutableArray<DebugId> structClosureIds, RuntimeRudeEdit? closureRudeEdit) 1475Debug.Assert(closureKind == ClosureKind.Singleton); 1516out ClosureKind closureKind, 1573if (closureKind == ClosureKind.Static || closureKind == ClosureKind.Singleton) 1636ClosureKind closureKind; 1675var shouldCacheForStaticMethod = closureKind == ClosureKind.Singleton && 1708(closureKind == ClosureKind.General) ? -1 : topLevelMethodId.Ordinal, 1713var 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; }