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