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