File: Microsoft\CSharp\RuntimeBinder\Semantics\Tree\CompoundOperator.cs
Web Access
Project: src\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 ExprMultiGet : ExprWithType
    {
        public ExprMultiGet(CType type, EXPRFLAG flags, ExprMulti multi)
            : base(ExpressionKind.MultiGet, type)
        {
            Debug.Assert((flags & ~EXPRFLAG.EXF_MASK_ANY) == 0);
            Flags = flags;
            OptionalMulti = multi;
        }
 
        public ExprMulti OptionalMulti { get; set; }
    }
 
    internal sealed class ExprMulti : ExprWithType
    {
        public ExprMulti(CType type, EXPRFLAG flags, Expr left, Expr op)
            : base(ExpressionKind.Multi, type)
        {
            Debug.Assert(left != null);
            Debug.Assert(op != null);
            Flags = flags;
            Left = left;
            Operator = op;
        }
 
        public Expr Left { get; set; }
 
        public Expr Operator { get; set; }
    }
}