| File: Microsoft\CSharp\RuntimeBinder\Semantics\Tree\BoundAnonymousFunction.cs | Web Access |
| Project: src\runtime\src\libraries\Microsoft.CSharp\src\Microsoft.CSharp.csproj (Microsoft.CSharp) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Diagnostics; namespace Microsoft.CSharp.RuntimeBinder.Semantics { internal sealed class ExprBoundLambda : ExprWithType { public ExprBoundLambda(AggregateType type, Scope argumentScope, Expr expression) : base(ExpressionKind.BoundLambda, type) { Debug.Assert(type != null); Debug.Assert(type.IsDelegateType); Debug.Assert(argumentScope != null); ArgumentScope = argumentScope; Expression = expression; } public Expr Expression { get; } public AggregateType DelegateType => Type as AggregateType; // The scope containing the names of the parameters // The scope that will hold this anonymous function. This starts off as the outer scope and is then // ratcheted down to the correct scope after the containing method is fully bound. public Scope ArgumentScope { get; } } }