1 instantiation of LabelTarget
System.Linq.Expressions (1)
System\Linq\Expressions\LabelTarget.cs (1)
82return new LabelTarget(type, name);
128 references to LabelTarget
Microsoft.AspNetCore.Components.Endpoints (2)
FormMapping\Factories\ComplexType\ComplexTypeExpressionConverterFactoryOfT.cs (2)
50var end = Expression.Label("done"); 549private static ConditionalExpression CreatePrefixCheckForRecursiveTypes(ParameterExpression readerParam, ParameterExpression foundValueParam, ParameterExpression succeeded, LabelTarget end)
Microsoft.AspNetCore.Http.Extensions (3)
RequestDelegateFactory.cs (1)
1795var loopExit = Expression.Label();
src\Components\Endpoints\src\FormMapping\Factories\ComplexType\ComplexTypeExpressionConverterFactoryOfT.cs (2)
50var end = Expression.Label("done"); 549private static ConditionalExpression CreatePrefixCheckForRecursiveTypes(ParameterExpression readerParam, ParameterExpression foundValueParam, ParameterExpression succeeded, LabelTarget end)
netstandard (1)
netstandard.cs (1)
1007[assembly: System.Runtime.CompilerServices.TypeForwardedTo(typeof(System.Linq.Expressions.LabelTarget))]
System.Core (1)
System.Core.cs (1)
145[assembly: System.Runtime.CompilerServices.TypeForwardedTo(typeof(System.Linq.Expressions.LabelTarget))]
System.Linq.Expressions (113)
System\Dynamic\DynamicMetaObjectBinder.cs (1)
50public sealed override Expression Bind(object[] args, ReadOnlyCollection<ParameterExpression> parameters, LabelTarget returnLabel)
System\Linq\Expressions\Compiler\LabelInfo.cs (7)
18private readonly LabelTarget? _node; 60internal LabelInfo(ILGenerator il, LabelTarget? node, bool canReturn) 329private Dictionary<LabelTarget, LabelInfo>? _labels; // lazily allocated, we typically use this only once every 6th-7th block 359internal bool ContainsTarget(LabelTarget target) 369internal bool TryGetLabelInfo(LabelTarget target, out LabelInfo? info) 380internal void AddLabelInfo(LabelTarget target, LabelInfo info) 384_labels ??= new Dictionary<LabelTarget, LabelInfo>();
System\Linq\Expressions\Compiler\LambdaCompiler.ControlFlow.cs (5)
13private LabelInfo EnsureLabel(LabelTarget node) 22private LabelInfo ReferenceLabel(LabelTarget node) 29private LabelInfo DefineLabel(LabelTarget? node) 162LabelTarget label = ((LabelExpression)node).Target; 257LabelTarget label = ((LabelExpression)expression).Target;
System\Linq\Expressions\Compiler\LambdaCompiler.cs (2)
49private readonly Dictionary<LabelTarget, LabelInfo> _labelInfo = new Dictionary<LabelTarget, LabelInfo>();
System\Linq\Expressions\DebugViewWriter.cs (4)
52private Dictionary<LabelTarget, int>? _labelIds; 109private int GetLabelTargetId(LabelTarget target) 1150private void DumpLabel(LabelTarget target) 1155private string GetLabelTargetName(LabelTarget target)
System\Linq\Expressions\Expression.DebuggerProxy.cs (4)
157public LabelTarget Target => _node.Target; 213public LabelTarget Target => _node.Target; 267public LabelTarget? BreakLabel => _node.BreakLabel; 269public LabelTarget? ContinueLabel => _node.ContinueLabel;
System\Linq\Expressions\ExpressionStringBuilder.cs (2)
33private int GetLabelId(LabelTarget label) => GetId(label); 798private void DumpLabel(LabelTarget target)
System\Linq\Expressions\ExpressionVisitor.cs (3)
315/// Visits the <see cref="LabelTarget"/>. 321protected virtual LabelTarget? VisitLabelTarget(LabelTarget? node)
System\Linq\Expressions\GotoExpression.cs (34)
38internal GotoExpression(GotoExpressionKind kind, LabelTarget target, Expression? value, Type type) 67public LabelTarget Target { get; } 90public GotoExpression Update(LabelTarget target, Expression? value) 105/// <param name="target">The <see cref="LabelTarget"/> that the <see cref="GotoExpression"/> will jump to.</param> 110public static GotoExpression Break(LabelTarget target) 118/// <param name="target">The <see cref="LabelTarget"/> that the <see cref="GotoExpression"/> will jump to.</param> 125public static GotoExpression Break(LabelTarget target, Expression? value) 133/// <param name="target">The <see cref="LabelTarget"/> that the <see cref="GotoExpression"/> will jump to.</param> 140public static GotoExpression Break(LabelTarget target, Type type) 149/// <param name="target">The <see cref="LabelTarget"/> that the <see cref="GotoExpression"/> will jump to.</param> 158public static GotoExpression Break(LabelTarget target, Expression? value, Type type) 166/// <param name="target">The <see cref="LabelTarget"/> that the <see cref="GotoExpression"/> will jump to.</param> 172public static GotoExpression Continue(LabelTarget target) 180/// <param name="target">The <see cref="LabelTarget"/> that the <see cref="GotoExpression"/> will jump to.</param> 188public static GotoExpression Continue(LabelTarget target, Type type) 196/// <param name="target">The <see cref="LabelTarget"/> that the <see cref="GotoExpression"/> will jump to.</param> 202public static GotoExpression Return(LabelTarget target) 210/// <param name="target">The <see cref="LabelTarget"/> that the <see cref="GotoExpression"/> will jump to.</param> 218public static GotoExpression Return(LabelTarget target, Type type) 226/// <param name="target">The <see cref="LabelTarget"/> that the <see cref="GotoExpression"/> will jump to.</param> 233public static GotoExpression Return(LabelTarget target, Expression? value) 242/// <param name="target">The <see cref="LabelTarget"/> that the <see cref="GotoExpression"/> will jump to.</param> 251public static GotoExpression Return(LabelTarget target, Expression? value, Type type) 259/// <param name="target">The <see cref="LabelTarget"/> that the <see cref="GotoExpression"/> will jump to.</param> 265public static GotoExpression Goto(LabelTarget target) 273/// <param name="target">The <see cref="LabelTarget"/> that the <see cref="GotoExpression"/> will jump to.</param> 281public static GotoExpression Goto(LabelTarget target, Type type) 289/// <param name="target">The <see cref="LabelTarget"/> that the <see cref="GotoExpression"/> will jump to.</param> 296public static GotoExpression Goto(LabelTarget target, Expression? value) 305/// <param name="target">The <see cref="LabelTarget"/> that the <see cref="GotoExpression"/> will jump to.</param> 314public static GotoExpression Goto(LabelTarget target, Expression? value, Type type) 324/// <param name="target">The <see cref="LabelTarget"/> that the <see cref="GotoExpression"/> will jump to.</param> 333public static GotoExpression MakeGoto(GotoExpressionKind kind, LabelTarget target, Expression? value, Type type) 339private static void ValidateGoto(LabelTarget target, ref Expression? value, string targetParameter, string valueParameter, Type? type)
System\Linq\Expressions\Interpreter\LabelInfo.cs (7)
17private readonly LabelTarget? _node; 36internal LabelInfo(LabelTarget? node) 277private HybridReferenceDictionary<LabelTarget, LabelInfo>? _labels; // lazily allocated, we typically use this only once every 6th-7th block 306internal bool ContainsTarget(LabelTarget target) 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 (8)
285private readonly HybridReferenceDictionary<LabelTarget, LabelInfo> _treeLabels = new HybridReferenceDictionary<LabelTarget, LabelInfo>(); 337foreach (KeyValuePair<LabelTarget, LabelInfo> kvp in _treeLabels) 1603LabelTarget doneLabel = Expression.Label(node.Type, "done"); 1791private LabelInfo EnsureLabel(LabelTarget node) 1800private LabelInfo ReferenceLabel(LabelTarget node) 1807private LabelInfo DefineLabel(LabelTarget? node) 1841LabelTarget label = ((LabelExpression)node).Target;
System\Linq\Expressions\LabelExpression.cs (8)
17internal LabelExpression(LabelTarget label, Expression? defaultValue) 36/// The <see cref="LabelTarget"/> which this label is associated with. 38public LabelTarget Target { get; } 62public LabelExpression Update(LabelTarget target, Expression? defaultValue) 77/// <param name="target">The <see cref="LabelTarget"/> which this <see cref="LabelExpression"/> will be associated with.</param> 79public static LabelExpression Label(LabelTarget target) 87/// <param name="target">The <see cref="LabelTarget"/> which this <see cref="LabelExpression"/> will be associated with.</param> 90public static LabelExpression Label(LabelTarget target, Expression? defaultValue)
System\Linq\Expressions\LabelTarget.cs (12)
44/// Creates a <see cref="LabelTarget"/> representing a label with void type and no name. 46/// <returns>The new <see cref="LabelTarget"/>.</returns> 47public static LabelTarget Label() 53/// Creates a <see cref="LabelTarget"/> representing a label with void type and the given name. 56/// <returns>The new <see cref="LabelTarget"/>.</returns> 57public static LabelTarget Label(string? name) 63/// Creates a <see cref="LabelTarget"/> representing a label with the given type. 66/// <returns>The new <see cref="LabelTarget"/>.</returns> 67public static LabelTarget Label(Type type) 73/// Creates a <see cref="LabelTarget"/> representing a label with the given type and name. 77/// <returns>The new <see cref="LabelTarget"/>.</returns> 78public static LabelTarget Label(Type type, string? name)
System\Linq\Expressions\LoopExpression.cs (11)
15internal LoopExpression(Expression body, LabelTarget? @break, LabelTarget? @continue) 41/// Gets the <see cref="LabelTarget"/> that is used by the loop body as a break statement target. 43public LabelTarget? BreakLabel { get; } 46/// Gets the <see cref="LabelTarget"/> that is used by the loop body as a continue statement target. 48public LabelTarget? ContinueLabel { get; } 67public LoopExpression Update(LabelTarget? breakLabel, LabelTarget? continueLabel, Expression body) 95public static LoopExpression Loop(Expression body, LabelTarget? @break) 107public static LoopExpression Loop(Expression body, LabelTarget? @break, LabelTarget? @continue)
System\Runtime\CompilerServices\CallSite.cs (2)
369LabelTarget @return = Expression.Label(returnType); 454LabelTarget @break = Expression.Label();
System\Runtime\CompilerServices\CallSiteBinder.cs (3)
39public static LabelTarget UpdateLabel { get; } = Expression.Label("CallSiteBinder.UpdateLabel"); 48internal readonly LabelTarget ReturnLabel; 88public abstract Expression Bind(object[] args, ReadOnlyCollection<ParameterExpression> parameters, LabelTarget returnLabel);
System.Linq.Queryable (8)
System\Linq\EnumerableRewriter.cs (8)
20private Dictionary<LabelTarget, LabelTarget>? _targetCache; 412LabelTarget target = VisitLabelTarget(node.Target); 417protected override LabelTarget VisitLabelTarget(LabelTarget? node) 419LabelTarget? newTarget; 422_targetCache = new Dictionary<LabelTarget, LabelTarget>();