2 instantiations of LabelInfo
System.Linq.Expressions (2)
System\Linq\Expressions\Interpreter\LightCompiler.cs (2)
1795_treeLabels[node] = result = new LabelInfo(node); 1811return new LabelInfo(null);
19 references to LabelInfo
System.Linq.Expressions (19)
System\Linq\Expressions\Interpreter\LabelInfo.cs (4)
277private HybridReferenceDictionary<LabelTarget, LabelInfo>? _labels; // lazily allocated, we typically use this only once every 6th-7th block 316internal bool TryGetLabelInfo(LabelTarget target, [NotNullWhen(true)] out LabelInfo? info) 327internal void AddLabelInfo(LabelTarget target, LabelInfo info) 331_labels ??= new HybridReferenceDictionary<LabelTarget, LabelInfo>();
System\Linq\Expressions\Interpreter\LightCompiler.cs (15)
285private readonly HybridReferenceDictionary<LabelTarget, LabelInfo> _treeLabels = new HybridReferenceDictionary<LabelTarget, LabelInfo>(); 337foreach (KeyValuePair<LabelTarget, LabelInfo> kvp in _treeLabels) 1511LabelInfo breakLabel = DefineLabel(node.BreakLabel); 1512LabelInfo continueLabel = DefineLabel(node.ContinueLabel); 1630LabelInfo end = DefineLabel(node: null); 1672LabelInfo end = DefineLabel(node: null); 1731LabelInfo? label = null; 1767LabelInfo labelInfo = ReferenceLabel(node.Target); 1791private LabelInfo EnsureLabel(LabelTarget node) 1793if (!_treeLabels.TryGetValue(node, out LabelInfo? result)) 1800private LabelInfo ReferenceLabel(LabelTarget node) 1802LabelInfo result = EnsureLabel(node); 1807private LabelInfo DefineLabel(LabelTarget? node) 1813LabelInfo result = EnsureLabel(node);