<PackageReference Include="Microsoft.CSharp" Version="4.6.0-preview.18571.3" />

ExprUserLogicalOp

namespace Microsoft.CSharp.RuntimeBinder.Semantics { internal sealed class ExprUserLogicalOp : ExprWithType { public Expr TrueFalseCall { get; set; } public ExprCall OperatorCall { get; set; } public Expr FirstOperandToExamine { get; set; } public ExprUserLogicalOp(CType type, Expr trueFalseCall, ExprCall operatorCall) : base(ExpressionKind.UserLogicalOp, type) { base.Flags = EXPRFLAG.EXF_ASSGOP; TrueFalseCall = trueFalseCall; OperatorCall = operatorCall; Expr optionalElement = ((ExprList)operatorCall.OptionalArguments).OptionalElement; ExprWrap exprWrap; FirstOperandToExamine = (((exprWrap = (optionalElement as ExprWrap)) != null) ? exprWrap.OptionalExpression : optionalElement); } } }