2 instantiations of ExprBinOp
Microsoft.CSharp (2)
Microsoft\CSharp\RuntimeBinder\Semantics\ExprFactory.cs (2)
153new ExprBinOp(exprKind, type, left, right); 168new ExprBinOp(exprKind, type, left, right, call, userMethod);
98 references to ExprBinOp
Microsoft.CSharp (98)
Microsoft\CSharp\RuntimeBinder\ExpressionTreeCallRewriter.cs (2)
46public static Expression Rewrite(ExprBinOp binOp, Expression[] listOfParameters) 72protected override Expr VisitSAVE(ExprBinOp pExpr)
Microsoft\CSharp\RuntimeBinder\RuntimeBinder.cs (1)
195ExprBinOp exprTree = ExpressionTreeRewriter.Rewrite(boundLambda);
Microsoft\CSharp\RuntimeBinder\Semantics\EXPRExtensions.cs (1)
79exprVal = ((ExprBinOp)exprVal).OptionalRightChild;
Microsoft\CSharp\RuntimeBinder\Semantics\ExprFactory.cs (5)
152public static ExprBinOp CreateBinop(ExpressionKind exprKind, CType type, Expr left, Expr right) => 167public static ExprBinOp CreateUserDefinedBinop(ExpressionKind exprKind, CType type, Expr left, Expr right, Expr call, MethPropWithInst userMethod) => 185public static ExprBinOp CreateSequence(Expr first, Expr second) => 200public static ExprBinOp CreateSave(ExprWrap wrap) 203ExprBinOp expr = CreateBinop(ExpressionKind.Save, wrap.Type, wrap.OptionalExpression, wrap);
Microsoft\CSharp\RuntimeBinder\Semantics\Operators.cs (16)
138private ExprBinOp BindUserDefinedBinOp(ExpressionKind ek, BinOpArgInfo info) 452private static ExprBinOp BindNullEqualityComparison(ExpressionKind ek, BinOpArgInfo info) 459ExprBinOp exprRes = null; 502ExprBinOp exprUD = BindUserDefinedBinOp(ek, info); 603private ExprBinOp BindLiftedStandardBinOp(BinOpArgInfo info, BinOpFullSig bofs, ExpressionKind ek, EXPRFLAG flags) 645ExprBinOp exprRes = ExprFactory.CreateBinop(ek, resultType, pArgument1, pArgument2); 1696ExprBinOp pExprResult = ExprFactory.CreateBinop(ek, typeTmp, exprVal, ExprFactory.CreateConstant(typeOne, cv)); 1763private static ExprBinOp BindDecBinOp(ExpressionBinder _, ExpressionKind ek, EXPRFLAG flags, Expr arg1, Expr arg2) 1837private static ExprBinOp BindShiftOp(ExpressionBinder _, ExpressionKind ek, EXPRFLAG flags, Expr arg1, Expr arg2) 1855private static ExprBinOp BindBoolBinOp(ExpressionBinder _, ExpressionKind ek, EXPRFLAG flags, Expr arg1, Expr arg2) 1888ExprBinOp exprRes = ExprFactory.CreateBinop(ek, typeRes, expr1, expr2); 1935private static ExprBinOp BindStrCmpOp(ExpressionBinder _, ExpressionKind ek, EXPRFLAG flags, Expr arg1, Expr arg2) 1953private static ExprBinOp BindRefCmpOp(ExpressionBinder binder, ExpressionKind ek, EXPRFLAG flags, Expr arg1, Expr arg2) 2068ExprBinOp exprRes = ExprFactory.CreateBinop(ek, typeOp, arg1, arg2); 2722private static ExprBinOp CreateBinopForPredefMethodCall(ExpressionKind ek, PREDEFMETH predefMeth, CType RetType, Expr arg1, Expr arg2) 2726ExprBinOp binop = ExprFactory.CreateBinop(ek, RetType, arg1, arg2);
Microsoft\CSharp\RuntimeBinder\Semantics\Tree\Visitors\ExpressionTreeRewriter.cs (7)
13public static ExprBinOp Rewrite(ExprBoundLambda expr) => new ExpressionTreeRewriter().VisitBoundLambda(expr); 87private ExprBinOp VisitBoundLambda(ExprBoundLambda anonmeth) 204protected override Expr VisitBINOP(ExprBinOp expr) 374private Expr GenerateBuiltInBinaryOperator(ExprBinOp expr) 499private Expr GenerateUserDefinedBinaryOperator(ExprBinOp expr) 630private Expr GenerateUserDefinedComparisonOperator(ExprBinOp expr) 972private static void FixLiftedUserDefinedBinaryOperators(ExprBinOp expr, ref Expr pp1, ref Expr pp2)
Microsoft\CSharp\RuntimeBinder\Semantics\Tree\Visitors\ExprVisitorBase.cs (66)
18ExpressionKind.BinaryOp => VisitBINOP(pExpr as ExprBinOp), 44ExpressionKind.EqualsParam => VisitEQUALS(pExpr as ExprBinOp), 45ExpressionKind.Compare => VisitCOMPARE(pExpr as ExprBinOp), 46ExpressionKind.NotEq => VisitNE(pExpr as ExprBinOp), 47ExpressionKind.LessThan => VisitLT(pExpr as ExprBinOp), 48ExpressionKind.LessThanOrEqual => VisitLE(pExpr as ExprBinOp), 49ExpressionKind.GreaterThan => VisitGT(pExpr as ExprBinOp), 50ExpressionKind.GreaterThanOrEqual => VisitGE(pExpr as ExprBinOp), 51ExpressionKind.Add => VisitADD(pExpr as ExprBinOp), 52ExpressionKind.Subtract => VisitSUB(pExpr as ExprBinOp), 53ExpressionKind.Multiply => VisitMUL(pExpr as ExprBinOp), 54ExpressionKind.Divide => VisitDIV(pExpr as ExprBinOp), 55ExpressionKind.Modulo => VisitMOD(pExpr as ExprBinOp), 56ExpressionKind.BitwiseAnd => VisitBITAND(pExpr as ExprBinOp), 57ExpressionKind.BitwiseOr => VisitBITOR(pExpr as ExprBinOp), 58ExpressionKind.BitwiseExclusiveOr => VisitBITXOR(pExpr as ExprBinOp), 59ExpressionKind.LeftShirt => VisitLSHIFT(pExpr as ExprBinOp), 60ExpressionKind.RightShift => VisitRSHIFT(pExpr as ExprBinOp), 61ExpressionKind.LogicalAnd => VisitLOGAND(pExpr as ExprBinOp), 62ExpressionKind.LogicalOr => VisitLOGOR(pExpr as ExprBinOp), 63ExpressionKind.Sequence => VisitSEQUENCE(pExpr as ExprBinOp), 64ExpressionKind.Save => VisitSAVE(pExpr as ExprBinOp), 65ExpressionKind.Swap => VisitSWAP(pExpr as ExprBinOp), 66ExpressionKind.Indir => VisitINDIR(pExpr as ExprBinOp), 67ExpressionKind.StringEq => VisitSTRINGEQ(pExpr as ExprBinOp), 68ExpressionKind.StringNotEq => VisitSTRINGNE(pExpr as ExprBinOp), 69ExpressionKind.DelegateEq => VisitDELEGATEEQ(pExpr as ExprBinOp), 70ExpressionKind.DelegateNotEq => VisitDELEGATENE(pExpr as ExprBinOp), 71ExpressionKind.DelegateAdd => VisitDELEGATEADD(pExpr as ExprBinOp), 72ExpressionKind.DelegateSubtract => VisitDELEGATESUB(pExpr as ExprBinOp), 73ExpressionKind.Eq => VisitEQ(pExpr as ExprBinOp), 288exprRet = Visit((pExpr as ExprBinOp).OptionalLeftChild); 289(pExpr as ExprBinOp).OptionalLeftChild = exprRet; 290exprRet = Visit((pExpr as ExprBinOp).OptionalRightChild); 291(pExpr as ExprBinOp).OptionalRightChild = exprRet; 304protected virtual Expr VisitBINOP(ExprBinOp pExpr) 442protected virtual Expr VisitEQUALS(ExprBinOp pExpr) 448protected virtual Expr VisitCOMPARE(ExprBinOp pExpr) 454protected virtual Expr VisitEQ(ExprBinOp pExpr) 460protected virtual Expr VisitNE(ExprBinOp pExpr) 466protected virtual Expr VisitLE(ExprBinOp pExpr) 472protected virtual Expr VisitGE(ExprBinOp pExpr) 478protected virtual Expr VisitADD(ExprBinOp pExpr) 484protected virtual Expr VisitSUB(ExprBinOp pExpr) 490protected virtual Expr VisitDIV(ExprBinOp pExpr) 496protected virtual Expr VisitBITAND(ExprBinOp pExpr) 502protected virtual Expr VisitBITOR(ExprBinOp pExpr) 508protected virtual Expr VisitLSHIFT(ExprBinOp pExpr) 514protected virtual Expr VisitLOGAND(ExprBinOp pExpr) 520protected virtual Expr VisitSEQUENCE(ExprBinOp pExpr) 526protected virtual Expr VisitSAVE(ExprBinOp pExpr) 532protected virtual Expr VisitINDIR(ExprBinOp pExpr) 538protected virtual Expr VisitSTRINGEQ(ExprBinOp pExpr) 544protected virtual Expr VisitDELEGATEEQ(ExprBinOp pExpr) 550protected virtual Expr VisitDELEGATEADD(ExprBinOp pExpr) 556protected virtual Expr VisitLT(ExprBinOp pExpr) 562protected virtual Expr VisitMUL(ExprBinOp pExpr) 568protected virtual Expr VisitBITXOR(ExprBinOp pExpr) 574protected virtual Expr VisitRSHIFT(ExprBinOp pExpr) 580protected virtual Expr VisitLOGOR(ExprBinOp pExpr) 586protected virtual Expr VisitSTRINGNE(ExprBinOp pExpr) 592protected virtual Expr VisitDELEGATENE(ExprBinOp pExpr) 598protected virtual Expr VisitGT(ExprBinOp pExpr) 604protected virtual Expr VisitMOD(ExprBinOp pExpr) 610protected virtual Expr VisitSWAP(ExprBinOp pExpr) 616protected virtual Expr VisitDELEGATESUB(ExprBinOp pExpr)