1 instantiation of ClosureEnvironment
Microsoft.CodeAnalysis.CSharp (1)
Lowering\ClosureConversion\ClosureConversion.Analysis.cs (1)
337var env = new ClosureEnvironment(variablesInEnvironment, isStruct);
24 references to ClosureEnvironment
Microsoft.CodeAnalysis.CSharp (24)
Lowering\ClosureConversion\ClosureConversion.Analysis.cs (11)
146var capturedEnvs = PooledHashSet<ClosureEnvironment>.GetInstance(); 153var env = curScope.DeclaredEnvironment; 163var oldEnv = curScope?.DeclaredEnvironment; 172var env = curScope.DeclaredEnvironment; 213var env = ScopeTree.DeclaredEnvironment; 337var env = new ClosureEnvironment(variablesInEnvironment, isStruct); 363var environmentsToScopes = PooledDictionary<ClosureEnvironment, Scope>.GetInstance(); 375foreach (var env in closure.CapturedEnvironments) 437var scopeEnv = scope.DeclaredEnvironment; 459var env = parentScope.DeclaredEnvironment; 484var targetEnv = bestScope.DeclaredEnvironment;
Lowering\ClosureConversion\ClosureConversion.Analysis.Tree.cs (4)
75public ClosureEnvironment? DeclaredEnvironment = null; 135public readonly ArrayBuilder<ClosureEnvironment> CapturedEnvironments 136= ArrayBuilder<ClosureEnvironment>.GetInstance(); 138public ClosureEnvironment ContainingEnvironmentOpt;
Lowering\ClosureConversion\ClosureConversion.cs (9)
87private readonly Dictionary<BoundNode, Analysis.ClosureEnvironment> _frames = new Dictionary<BoundNode, Analysis.ClosureEnvironment>(); 358SynthesizedClosureEnvironment MakeFrame(Analysis.Scope scope, Analysis.ClosureEnvironment env) 475foreach (var env in function.CapturedEnvironments) 648private BoundNode IntroduceFrame(BoundNode node, Analysis.ClosureEnvironment env, Func<ArrayBuilder<BoundExpression>, ArrayBuilder<LocalSymbol>, BoundNode> F) 1137if (_frames.TryGetValue(node, out var frame)) 1201if (_frames.TryGetValue(node, out var frame)) 1275if (_frames.TryGetValue(node, out var frame)) 1292if (_frames.TryGetValue(node, out var frame))