2 instantiations of LabelScopeInfo
System.Linq.Expressions (2)
System\Linq\Expressions\Interpreter\LightCompiler.cs (2)
286
private LabelScopeInfo _labelBlock = new
LabelScopeInfo
(null, LabelScopeKind.Lambda);
1782
_labelBlock = new
LabelScopeInfo
(_labelBlock, type);
29 references to LabelScopeInfo
System.Linq.Expressions (29)
System\Linq\Expressions\Interpreter\LabelInfo.cs (27)
12
/// <seealso cref="
LabelScopeInfo
"/>
29
private readonly List<
LabelScopeInfo
> _references = new List<
LabelScopeInfo
>();
47
internal void Reference(
LabelScopeInfo
block)
56
internal void Define(
LabelScopeInfo
block)
61
for (
LabelScopeInfo
? j = block; j != null; j = j.Parent)
75
foreach (
LabelScopeInfo
r in _references)
96
private void ValidateJump(
LabelScopeInfo
reference)
99
for (
LabelScopeInfo
? j = reference; j != null; j = j.Parent)
124
LabelScopeInfo
def = FirstDefinition();
125
LabelScopeInfo
? common = CommonNode(def, reference, b => b.Parent!);
128
for (
LabelScopeInfo
? j = reference; j != common; j = j.Parent)
141
for (
LabelScopeInfo
? j = def; j != common; j = j.Parent)
171
private bool DefinedIn(
LabelScopeInfo
scope)
178
if (_definitions is HashSet<
LabelScopeInfo
> definitions)
187
private
LabelScopeInfo
FirstDefinition()
189
if (_definitions is
LabelScopeInfo
scope)
193
foreach (
var
x in (HashSet<
LabelScopeInfo
>)_definitions!)
200
private void AddDefinition(
LabelScopeInfo
scope)
208
HashSet<
LabelScopeInfo
>? set = _definitions as HashSet<
LabelScopeInfo
>;
211
_definitions = set = new HashSet<
LabelScopeInfo
>() { (
LabelScopeInfo
)_definitions };
217
private bool HasMultipleDefinitions => _definitions is HashSet<
LabelScopeInfo
>;
279
internal readonly
LabelScopeInfo
? Parent;
281
internal LabelScopeInfo(
LabelScopeInfo
? parent, LabelScopeKind kind)
System\Linq\Expressions\Interpreter\LightCompiler.cs (2)
286
private
LabelScopeInfo
_labelBlock = new LabelScopeInfo(null, LabelScopeKind.Lambda);
1917
for (
LabelScopeInfo
? j = _labelBlock; j != null; j = j.Parent)