2 instantiations of ExprBinOp
Microsoft.CSharp (2)
Microsoft\CSharp\RuntimeBinder\Semantics\ExprFactory.cs (2)
172new ExprBinOp(exprKind, type, left, right); 187new ExprBinOp(exprKind, type, left, right, call, userMethod);
98 references to ExprBinOp
Microsoft.CSharp (98)
Microsoft\CSharp\RuntimeBinder\ExpressionTreeCallRewriter.cs (2)
47public static Expression Rewrite(ExprBinOp binOp, Expression[] listOfParameters) 73protected override Expr VisitSAVE(ExprBinOp pExpr)
Microsoft\CSharp\RuntimeBinder\RuntimeBinder.cs (1)
200ExprBinOp exprTree = ExpressionTreeRewriter.Rewrite(boundLambda);
Microsoft\CSharp\RuntimeBinder\Semantics\EXPRExtensions.cs (1)
79exprVal = ((ExprBinOp)exprVal).OptionalRightChild;
Microsoft\CSharp\RuntimeBinder\Semantics\ExprFactory.cs (5)
171public static ExprBinOp CreateBinop(ExpressionKind exprKind, CType type, Expr left, Expr right) => 186public static ExprBinOp CreateUserDefinedBinop(ExpressionKind exprKind, CType type, Expr left, Expr right, Expr call, MethPropWithInst userMethod) => 204public static ExprBinOp CreateSequence(Expr first, Expr second) => 219public static ExprBinOp CreateSave(ExprWrap wrap) 222ExprBinOp expr = CreateBinop(ExpressionKind.Save, wrap.Type, wrap.OptionalExpression, wrap);
Microsoft\CSharp\RuntimeBinder\Semantics\Operators.cs (16)
147private ExprBinOp BindUserDefinedBinOp(ExpressionKind ek, BinOpArgInfo info) 465private static ExprBinOp BindNullEqualityComparison(ExpressionKind ek, BinOpArgInfo info) 472ExprBinOp exprRes = null; 516ExprBinOp exprUD = BindUserDefinedBinOp(ek, info); 619private ExprBinOp BindLiftedStandardBinOp(BinOpArgInfo info, BinOpFullSig bofs, ExpressionKind ek, EXPRFLAG flags) 661ExprBinOp exprRes = ExprFactory.CreateBinop(ek, resultType, pArgument1, pArgument2); 1732ExprBinOp pExprResult = ExprFactory.CreateBinop(ek, typeTmp, exprVal, ExprFactory.CreateConstant(typeOne, cv)); 1802private static ExprBinOp BindDecBinOp(ExpressionBinder _, ExpressionKind ek, EXPRFLAG flags, Expr arg1, Expr arg2) 1879private static ExprBinOp BindShiftOp(ExpressionBinder _, ExpressionKind ek, EXPRFLAG flags, Expr arg1, Expr arg2) 1898private static ExprBinOp BindBoolBinOp(ExpressionBinder _, ExpressionKind ek, EXPRFLAG flags, Expr arg1, Expr arg2) 1932ExprBinOp exprRes = ExprFactory.CreateBinop(ek, typeRes, expr1, expr2); 1981private static ExprBinOp BindStrCmpOp(ExpressionBinder _, ExpressionKind ek, EXPRFLAG flags, Expr arg1, Expr arg2) 2000private static ExprBinOp BindRefCmpOp(ExpressionBinder binder, ExpressionKind ek, EXPRFLAG flags, Expr arg1, Expr arg2) 2118ExprBinOp exprRes = ExprFactory.CreateBinop(ek, typeOp, arg1, arg2); 2789private static ExprBinOp CreateBinopForPredefMethodCall(ExpressionKind ek, PREDEFMETH predefMeth, CType RetType, Expr arg1, Expr arg2) 2793ExprBinOp binop = ExprFactory.CreateBinop(ek, RetType, arg1, arg2);
Microsoft\CSharp\RuntimeBinder\Semantics\Tree\Visitors\ExpressionTreeRewriter.cs (7)
14public static ExprBinOp Rewrite(ExprBoundLambda expr) => new ExpressionTreeRewriter().VisitBoundLambda(expr); 88private ExprBinOp VisitBoundLambda(ExprBoundLambda anonmeth) 205protected override Expr VisitBINOP(ExprBinOp expr) 375private Expr GenerateBuiltInBinaryOperator(ExprBinOp expr) 500private Expr GenerateUserDefinedBinaryOperator(ExprBinOp expr) 631private Expr GenerateUserDefinedComparisonOperator(ExprBinOp expr) 973private 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)