2 instantiations of LabelInfo
System.Linq.Expressions (2)
System\Linq\Expressions\Interpreter\LightCompiler.cs (2)
1814_treeLabels[node] = result = new LabelInfo(node); 1830return 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) 1530LabelInfo breakLabel = DefineLabel(node.BreakLabel); 1531LabelInfo continueLabel = DefineLabel(node.ContinueLabel); 1649LabelInfo end = DefineLabel(node: null); 1691LabelInfo end = DefineLabel(node: null); 1750LabelInfo? label = null; 1786LabelInfo labelInfo = ReferenceLabel(node.Target); 1810private LabelInfo EnsureLabel(LabelTarget node) 1812if (!_treeLabels.TryGetValue(node, out LabelInfo? result)) 1819private LabelInfo ReferenceLabel(LabelTarget node) 1821LabelInfo result = EnsureLabel(node); 1826private LabelInfo DefineLabel(LabelTarget? node) 1832LabelInfo result = EnsureLabel(node);