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