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