2026 references to ExpressionType
System.Activities (265)
Microsoft\VisualBasic\Activities\VisualBasicDesignerHelper.cs (48)
398case ExpressionType.Add: 399case ExpressionType.AddChecked: 400case ExpressionType.And: 401case ExpressionType.AndAlso: 402case ExpressionType.Coalesce: 403case ExpressionType.Divide: 404case ExpressionType.Equal: 405case ExpressionType.ExclusiveOr: 406case ExpressionType.GreaterThan: 407case ExpressionType.GreaterThanOrEqual: 408case ExpressionType.LeftShift: 409case ExpressionType.LessThan: 410case ExpressionType.LessThanOrEqual: 411case ExpressionType.Modulo: 412case ExpressionType.Multiply: 413case ExpressionType.MultiplyChecked: 414case ExpressionType.NotEqual: 415case ExpressionType.Or: 416case ExpressionType.OrElse: 417case ExpressionType.Power: 418case ExpressionType.RightShift: 419case ExpressionType.Subtract: 420case ExpressionType.SubtractChecked: 426case ExpressionType.Conditional: 433case ExpressionType.Constant: 445case ExpressionType.Invoke: 454case ExpressionType.Lambda: 463case ExpressionType.ListInit: 476case ExpressionType.Parameter: 481case ExpressionType.MemberAccess: 494case ExpressionType.MemberInit: 504case ExpressionType.ArrayIndex: 522case ExpressionType.Call: 561case ExpressionType.NewArrayInit: 571case ExpressionType.NewArrayBounds: 581case ExpressionType.New: 599case ExpressionType.TypeIs: 605case ExpressionType.TypeAs: 606case ExpressionType.Convert: 607case ExpressionType.ConvertChecked: 613case ExpressionType.ArrayLength: 614case ExpressionType.Negate: 615case ExpressionType.NegateChecked: 616case ExpressionType.Not: 617case ExpressionType.Quote: 618case ExpressionType.UnaryPlus: 625case ExpressionType.Block: 639case ExpressionType.Assign:
Microsoft\VisualBasic\Activities\VisualBasicHelper.cs (96)
678case ExpressionType.Add: 679case ExpressionType.AddChecked: 680case ExpressionType.And: 681case ExpressionType.AndAlso: 682case ExpressionType.Coalesce: 683case ExpressionType.Divide: 684case ExpressionType.Equal: 685case ExpressionType.ExclusiveOr: 686case ExpressionType.GreaterThan: 687case ExpressionType.GreaterThanOrEqual: 688case ExpressionType.LeftShift: 689case ExpressionType.LessThan: 690case ExpressionType.LessThanOrEqual: 691case ExpressionType.Modulo: 692case ExpressionType.Multiply: 693case ExpressionType.MultiplyChecked: 694case ExpressionType.NotEqual: 695case ExpressionType.Or: 696case ExpressionType.OrElse: 697case ExpressionType.Power: 698case ExpressionType.RightShift: 699case ExpressionType.Subtract: 700case ExpressionType.SubtractChecked: 729case ExpressionType.Conditional: 751case ExpressionType.Constant: 754case ExpressionType.Invoke: 781case ExpressionType.Lambda: 791case ExpressionType.ListInit: 821case ExpressionType.Parameter: 885case ExpressionType.MemberAccess: 900case ExpressionType.MemberInit: 923case ExpressionType.ArrayIndex: 961case ExpressionType.Call: 987case ExpressionType.NewArrayInit: 1004case ExpressionType.NewArrayBounds: 1021case ExpressionType.New: 1048case ExpressionType.TypeIs: 1058case ExpressionType.ArrayLength: 1059case ExpressionType.Convert: 1060case ExpressionType.ConvertChecked: 1061case ExpressionType.Negate: 1062case ExpressionType.NegateChecked: 1063case ExpressionType.Not: 1064case ExpressionType.Quote: 1065case ExpressionType.TypeAs: 1075case ExpressionType.UnaryPlus: 1086case ExpressionType.Block: 1115case ExpressionType.Assign: 1217case ExpressionType.Add: 1218case ExpressionType.AddChecked: 1219case ExpressionType.And: 1220case ExpressionType.AndAlso: 1221case ExpressionType.Coalesce: 1222case ExpressionType.Divide: 1223case ExpressionType.Equal: 1224case ExpressionType.ExclusiveOr: 1225case ExpressionType.GreaterThan: 1226case ExpressionType.GreaterThanOrEqual: 1227case ExpressionType.LeftShift: 1228case ExpressionType.LessThan: 1229case ExpressionType.LessThanOrEqual: 1230case ExpressionType.Modulo: 1231case ExpressionType.Multiply: 1232case ExpressionType.MultiplyChecked: 1233case ExpressionType.NotEqual: 1234case ExpressionType.Or: 1235case ExpressionType.OrElse: 1236case ExpressionType.Power: 1237case ExpressionType.RightShift: 1238case ExpressionType.Subtract: 1239case ExpressionType.SubtractChecked: 1243case ExpressionType.Conditional: 1247case ExpressionType.Constant: 1250case ExpressionType.Invoke: 1254case ExpressionType.Lambda: 1258case ExpressionType.ListInit: 1262case ExpressionType.MemberAccess: 1266case ExpressionType.MemberInit: 1270case ExpressionType.ArrayIndex: 1280case ExpressionType.Call: 1284case ExpressionType.NewArrayInit: 1285case ExpressionType.NewArrayBounds: 1289case ExpressionType.New: 1293case ExpressionType.Parameter: 1301case ExpressionType.TypeIs: 1305case ExpressionType.ArrayLength: 1306case ExpressionType.Convert: 1307case ExpressionType.ConvertChecked: 1308case ExpressionType.Negate: 1309case ExpressionType.NegateChecked: 1310case ExpressionType.Not: 1311case ExpressionType.Quote: 1312case ExpressionType.TypeAs: 1313case ExpressionType.UnaryPlus: 1319case ExpressionType.Block: 1333case ExpressionType.Assign:
Microsoft\VisualBasic\Activities\VisualBasicReference.cs (1)
145Fx.Assert(this.expressionTree.NodeType == ExpressionType.Lambda, "Lambda expression required");
Microsoft\VisualBasic\Activities\VisualBasicValue.cs (1)
142Fx.Assert(this.expressionTree.NodeType == ExpressionType.Lambda, "Lambda expression required");
System\Activities\Expressions\Add.cs (3)
53EnsureOperationFunction(metadata, ref checkedOperationFunction, ExpressionType.AddChecked); 57EnsureOperationFunction(metadata, ref uncheckedOperationFunction, ExpressionType.Add); 63ExpressionType operatorType)
System\Activities\Expressions\And.cs (1)
47if (!BinaryExpressionHelper.TryGenerateLinqDelegate(ExpressionType.And, out operationFunction, out validationError))
System\Activities\Expressions\As.cs (1)
39if (!UnaryExpressionHelper.TryGenerateLinqDelegate(ExpressionType.TypeAs, out operationFunction, out validationError))
System\Activities\Expressions\BinaryExpressionHelper.cs (1)
31public static bool TryGenerateLinqDelegate<TLeft, TRight, TResult>(ExpressionType operatorType, out Func<TLeft, TRight, TResult> function, out ValidationError validationError)
System\Activities\Expressions\Cast.cs (3)
44EnsureOperationFunction(metadata, ref checkedOperationFunction, ExpressionType.ConvertChecked); 48EnsureOperationFunction(metadata, ref uncheckedOperationFunction, ExpressionType.Convert); 54ExpressionType operatorType)
System\Activities\Expressions\Divide.cs (1)
44if (!BinaryExpressionHelper.TryGenerateLinqDelegate(ExpressionType.Divide, out operationFunction, out validationError))
System\Activities\Expressions\Equal.cs (1)
44if (!BinaryExpressionHelper.TryGenerateLinqDelegate(ExpressionType.Equal, out operationFunction, out validationError))
System\Activities\Expressions\ExpressionServices.cs (30)
67if (binaryExpressionBody.NodeType == ExpressionType.ArrayIndex) 126if (newArrayExpression != null && newArrayExpression.NodeType != ExpressionType.NewArrayInit) 187if (binaryExpressionBody.NodeType == ExpressionType.ArrayIndex) 877case ExpressionType.Add: 880case ExpressionType.AddChecked: 883case ExpressionType.Subtract: 886case ExpressionType.SubtractChecked: 889case ExpressionType.Multiply: 892case ExpressionType.MultiplyChecked: 895case ExpressionType.Divide: 898case ExpressionType.AndAlso: 908case ExpressionType.OrElse: 918case ExpressionType.Or: 921case ExpressionType.And: 924case ExpressionType.LessThan: 927case ExpressionType.LessThanOrEqual: 930case ExpressionType.GreaterThan: 933case ExpressionType.GreaterThanOrEqual: 936case ExpressionType.Equal: 939case ExpressionType.NotEqual: 990case ExpressionType.Not: 993case ExpressionType.Convert: 996case ExpressionType.ConvertChecked: 999case ExpressionType.TypeAs: 1489if (expression.NodeType != ExpressionType.Constant) 1494SR.UnexpectedExpressionNodeType(ExpressionType.Constant.ToString(), expression.NodeType.ToString()))); 1498return SR.UnexpectedExpressionNodeType(ExpressionType.Constant.ToString(), expression.NodeType.ToString()); 1547if (expression.NodeType != ExpressionType.Constant) 1552SR.UnexpectedExpressionNodeType(ExpressionType.Constant.ToString(), expression.NodeType.ToString()))); 1556return SR.UnexpectedExpressionNodeType(ExpressionType.Constant.ToString(), expression.NodeType.ToString());
System\Activities\Expressions\GreaterThan.cs (1)
42if (!BinaryExpressionHelper.TryGenerateLinqDelegate(ExpressionType.GreaterThan, out operationFunction, out validationError))
System\Activities\Expressions\GreaterThanOrEqual.cs (1)
42if (!BinaryExpressionHelper.TryGenerateLinqDelegate(ExpressionType.GreaterThanOrEqual, out operationFunction, out validationError))
System\Activities\Expressions\LessThan.cs (1)
44if (!BinaryExpressionHelper.TryGenerateLinqDelegate(ExpressionType.LessThan, out operationFunction, out validationError))
System\Activities\Expressions\LessThanOrEqual.cs (1)
44if (!BinaryExpressionHelper.TryGenerateLinqDelegate(ExpressionType.LessThanOrEqual, out operationFunction, out validationError))
System\Activities\Expressions\Multiply.cs (3)
52EnsureOperationFunction(metadata, ref checkedOperationFunction, ExpressionType.MultiplyChecked); 56EnsureOperationFunction(metadata, ref uncheckedOperationFunction, ExpressionType.Multiply); 62ExpressionType operatorType)
System\Activities\Expressions\Not.cs (1)
38if (!UnaryExpressionHelper.TryGenerateLinqDelegate(ExpressionType.Not, out operationFunction, out validationError))
System\Activities\Expressions\NotEqual.cs (1)
42if (!BinaryExpressionHelper.TryGenerateLinqDelegate(ExpressionType.NotEqual, out operationFunction, out validationError))
System\Activities\Expressions\Or.cs (1)
45if (!BinaryExpressionHelper.TryGenerateLinqDelegate(ExpressionType.Or, out operationFunction, out validationError))
System\Activities\Expressions\Subtract.cs (3)
52EnsureOperationFunction(metadata, ref checkedOperationFunction, ExpressionType.SubtractChecked); 56EnsureOperationFunction(metadata, ref uncheckedOperationFunction, ExpressionType.Subtract); 62ExpressionType operatorType)
System\Activities\Expressions\UnaryExpressionHelper.cs (1)
26public static bool TryGenerateLinqDelegate<TOperand, TResult>(ExpressionType operatorType, out Func<TOperand, TResult> operation, out ValidationError validationError)
System\Activities\ExpressionUtilities.cs (63)
87case ExpressionType.ArrayIndex: 90case ExpressionType.MemberAccess: 116case ExpressionType.Call: 149case ExpressionType.Convert: 163case ExpressionType.ArrayIndex: 166case ExpressionType.MemberAccess: 182case ExpressionType.Call: 280Fx.Assert(expression.Body.NodeType == ExpressionType.ArrayIndex, "ArrayIndex expression required"); 342Fx.Assert(expression.Body.NodeType == ExpressionType.MemberAccess, "field expression required"); 495Fx.Assert(expression.Body.NodeType == ExpressionType.Call, "Call expression required."); 662Fx.Assert(expression.Body.NodeType == ExpressionType.Call, "Call expression required."); 737Fx.Assert(expression.Body.NodeType == ExpressionType.MemberAccess, "member access expression required"); 900case ExpressionType.Add: 901case ExpressionType.AddChecked: 902case ExpressionType.And: 903case ExpressionType.AndAlso: 904case ExpressionType.Coalesce: 905case ExpressionType.Divide: 906case ExpressionType.Equal: 907case ExpressionType.ExclusiveOr: 908case ExpressionType.GreaterThan: 909case ExpressionType.GreaterThanOrEqual: 910case ExpressionType.LeftShift: 911case ExpressionType.LessThan: 912case ExpressionType.LessThanOrEqual: 913case ExpressionType.Modulo: 914case ExpressionType.Multiply: 915case ExpressionType.MultiplyChecked: 916case ExpressionType.NotEqual: 917case ExpressionType.Or: 918case ExpressionType.OrElse: 919case ExpressionType.Power: 920case ExpressionType.RightShift: 921case ExpressionType.Subtract: 922case ExpressionType.SubtractChecked: 941case ExpressionType.Conditional: 957case ExpressionType.Constant: 960case ExpressionType.Invoke: 974case ExpressionType.Lambda: 988case ExpressionType.ListInit: 1002case ExpressionType.Parameter: 1005case ExpressionType.MemberAccess: 1022case ExpressionType.MemberInit: 1036case ExpressionType.ArrayIndex: 1067case ExpressionType.Call: 1074case ExpressionType.NewArrayInit: 1087case ExpressionType.NewArrayBounds: 1100case ExpressionType.New: 1119case ExpressionType.TypeIs: 1132case ExpressionType.ArrayLength: 1133case ExpressionType.Convert: 1134case ExpressionType.ConvertChecked: 1135case ExpressionType.Negate: 1136case ExpressionType.NegateChecked: 1137case ExpressionType.Not: 1138case ExpressionType.Quote: 1139case ExpressionType.TypeAs: 1154case ExpressionType.UnaryPlus: 1169case ExpressionType.Block: 1181case ExpressionType.Assign: 1411if (argumentExpression.NodeType == ExpressionType.MemberAccess) 1568case ExpressionType.Constant: 1578case ExpressionType.MemberAccess:
System\Activities\XamlIntegration\ExpressionTreeRewriter.cs (1)
28if (node.Expression != null && node.Expression.NodeType == ExpressionType.Constant)
System.Core (1198)
Microsoft\Scripting\Actions\BinaryOperationBinder.cs (33)
29private ExpressionType _operation; 35protected BinaryOperationBinder(ExpressionType operation) { 50public ExpressionType Operation { 100internal static bool OperationIsValid(ExpressionType operation) { 107case ExpressionType.Add: 108case ExpressionType.And: 109case ExpressionType.Divide: 110case ExpressionType.Equal: 111case ExpressionType.ExclusiveOr: 112case ExpressionType.GreaterThan: 113case ExpressionType.GreaterThanOrEqual: 114case ExpressionType.LeftShift: 115case ExpressionType.LessThan: 116case ExpressionType.LessThanOrEqual: 117case ExpressionType.Modulo: 118case ExpressionType.Multiply: 119case ExpressionType.NotEqual: 120case ExpressionType.Or: 121case ExpressionType.Power: 122case ExpressionType.RightShift: 123case ExpressionType.Subtract: 124case ExpressionType.AddAssign: 125case ExpressionType.AndAssign: 126case ExpressionType.DivideAssign: 127case ExpressionType.ExclusiveOrAssign: 128case ExpressionType.LeftShiftAssign: 129case ExpressionType.ModuloAssign: 130case ExpressionType.MultiplyAssign: 131case ExpressionType.OrAssign: 132case ExpressionType.PowerAssign: 133case ExpressionType.RightShiftAssign: 134case ExpressionType.SubtractAssign: 140case ExpressionType.Extension:
Microsoft\Scripting\Actions\DynamicMetaObjectBinder.cs (1)
143if (body.NodeType != ExpressionType.Goto) {
Microsoft\Scripting\Actions\UnaryOperationBinder.cs (15)
29private ExpressionType _operation; 35protected UnaryOperationBinder(ExpressionType operation) { 46case ExpressionType.IsFalse: 47case ExpressionType.IsTrue: 58public ExpressionType Operation { 101internal static bool OperationIsValid(ExpressionType operation) { 108case ExpressionType.Negate: 109case ExpressionType.UnaryPlus: 110case ExpressionType.Not: 111case ExpressionType.Decrement: 112case ExpressionType.Increment: 113case ExpressionType.OnesComplement: 114case ExpressionType.IsTrue: 115case ExpressionType.IsFalse: 121case ExpressionType.Extension:
Microsoft\Scripting\Ast\BinaryExpression.cs (248)
58private static bool IsOpAssignment(ExpressionType op) { 60case ExpressionType.AddAssign: 61case ExpressionType.SubtractAssign: 62case ExpressionType.MultiplyAssign: 63case ExpressionType.AddAssignChecked: 64case ExpressionType.SubtractAssignChecked: 65case ExpressionType.MultiplyAssignChecked: 66case ExpressionType.DivideAssign: 67case ExpressionType.ModuloAssign: 68case ExpressionType.PowerAssign: 69case ExpressionType.AndAssign: 70case ExpressionType.OrAssign: 71case ExpressionType.RightShiftAssign: 72case ExpressionType.LeftShiftAssign: 73case ExpressionType.ExclusiveOrAssign: 123if (NodeType == ExpressionType.Equal) { 143case ExpressionType.MemberAccess: 146case ExpressionType.Index: 157private static ExpressionType GetBinaryOpFromAssignmentOp(ExpressionType op) { 160case ExpressionType.AddAssign: 161return ExpressionType.Add; 162case ExpressionType.AddAssignChecked: 163return ExpressionType.AddChecked; 164case ExpressionType.SubtractAssign: 165return ExpressionType.Subtract; 166case ExpressionType.SubtractAssignChecked: 167return ExpressionType.SubtractChecked; 168case ExpressionType.MultiplyAssign: 169return ExpressionType.Multiply; 170case ExpressionType.MultiplyAssignChecked: 171return ExpressionType.MultiplyChecked; 172case ExpressionType.DivideAssign: 173return ExpressionType.Divide; 174case ExpressionType.ModuloAssign: 175return ExpressionType.Modulo; 176case ExpressionType.PowerAssign: 177return ExpressionType.Power; 178case ExpressionType.AndAssign: 179return ExpressionType.And; 180case ExpressionType.OrAssign: 181return ExpressionType.Or; 182case ExpressionType.RightShiftAssign: 183return ExpressionType.RightShift; 184case ExpressionType.LeftShiftAssign: 185return ExpressionType.LeftShift; 186case ExpressionType.ExclusiveOrAssign: 187return ExpressionType.ExclusiveOr; 199ExpressionType op = GetBinaryOpFromAssignmentOp(NodeType); 227ExpressionType op = GetBinaryOpFromAssignmentOp(NodeType); 281ExpressionType binaryOp = GetBinaryOpFromAssignmentOp(NodeType); 313if (NodeType == ExpressionType.Coalesce || NodeType == ExpressionType.Assign) { 340internal static Expression Create(ExpressionType nodeType, Expression left, Expression right, Type type, MethodInfo method, LambdaExpression conversion) { 341if (nodeType == ExpressionType.Assign) { 346Debug.Assert(method == null && TypeUtils.AreEquivalent(type, right.Type) && nodeType == ExpressionType.Coalesce); 363ExpressionType kind = NodeType; 366(kind == ExpressionType.AndAlso || kind == ExpressionType.OrElse) && 379ExpressionType kind = NodeType; 381return (kind == ExpressionType.Equal || kind == ExpressionType.NotEqual) && 420string opName = NodeType == ExpressionType.AndAlso ? "op_False" : "op_True"; 458private readonly ExpressionType _nodeType; 460internal LogicalBinaryExpression(ExpressionType nodeType, Expression left, Expression right) 469public sealed override ExpressionType NodeType { 484public sealed override ExpressionType NodeType { 485get { return ExpressionType.Assign; } 504public sealed override ExpressionType NodeType { 505get { return ExpressionType.Coalesce; } 519internal OpAssignMethodConversionBinaryExpression(ExpressionType nodeType, Expression left, Expression right, Type type, MethodInfo method, LambdaExpression conversion) 532private readonly ExpressionType _nodeType; 535internal SimpleBinaryExpression(ExpressionType nodeType, Expression left, Expression right, Type type) 541public sealed override ExpressionType NodeType { 555internal MethodBinaryExpression(ExpressionType nodeType, Expression left, Expression right, Type type, MethodInfo method) 591private static BinaryExpression GetUserDefinedBinaryOperator(ExpressionType binaryType, string name, Expression left, Expression right, bool liftToNull) { 614private static BinaryExpression GetMethodBasedBinaryOperator(ExpressionType binaryType, Expression left, Expression right, MethodInfo method, bool liftToNull) { 640private static BinaryExpression GetMethodBasedAssignOperator(ExpressionType binaryType, Expression left, Expression right, MethodInfo method, LambdaExpression conversion, bool liftToNull) { 656private static BinaryExpression GetUserDefinedBinaryOperatorOrThrow(ExpressionType binaryType, string name, Expression left, Expression right, bool liftToNull) { 667private static BinaryExpression GetUserDefinedAssignOperatorOrThrow(ExpressionType binaryType, string name, Expression left, Expression right, LambdaExpression conversion, bool liftToNull) { 683private static MethodInfo GetUserDefinedBinaryOperator(ExpressionType binaryType, Type leftType, Type rightType, string name) { 702private static bool IsLiftingConditionalLogicalOperator(Type left, Type right, MethodInfo method, ExpressionType binaryType) { 706(binaryType == ExpressionType.AndAlso || binaryType == ExpressionType.OrElse); 718private static void ValidateParamswithOperandsOrThrow(Type paramType, Type operandType, ExpressionType exprType, string name) { 769private static void ValidateUserDefinedConditionalLogicOperator(ExpressionType nodeType, Type left, Type right, MethodInfo method) { 802private static void VerifyOpTrueFalse(ExpressionType nodeType, Type left, MethodInfo opTrue) { 827public static BinaryExpression MakeBinary(ExpressionType binaryType, Expression left, Expression right) { 840public static BinaryExpression MakeBinary(ExpressionType binaryType, Expression left, Expression right, bool liftToNull, MethodInfo method) { 856public static BinaryExpression MakeBinary(ExpressionType binaryType, Expression left, Expression right, bool liftToNull, MethodInfo method, LambdaExpression conversion) { 858case ExpressionType.Add: 860case ExpressionType.AddChecked: 862case ExpressionType.Subtract: 864case ExpressionType.SubtractChecked: 866case ExpressionType.Multiply: 868case ExpressionType.MultiplyChecked: 870case ExpressionType.Divide: 872case ExpressionType.Modulo: 874case ExpressionType.Power: 876case ExpressionType.And: 878case ExpressionType.AndAlso: 880case ExpressionType.Or: 882case ExpressionType.OrElse: 884case ExpressionType.LessThan: 886case ExpressionType.LessThanOrEqual: 888case ExpressionType.GreaterThan: 890case ExpressionType.GreaterThanOrEqual: 892case ExpressionType.Equal: 894case ExpressionType.NotEqual: 896case ExpressionType.ExclusiveOr: 898case ExpressionType.Coalesce: 900case ExpressionType.ArrayIndex: 902case ExpressionType.RightShift: 904case ExpressionType.LeftShift: 906case ExpressionType.Assign: 908case ExpressionType.AddAssign: 910case ExpressionType.AndAssign: 912case ExpressionType.DivideAssign: 914case ExpressionType.ExclusiveOrAssign: 916case ExpressionType.LeftShiftAssign: 918case ExpressionType.ModuloAssign: 920case ExpressionType.MultiplyAssign: 922case ExpressionType.OrAssign: 924case ExpressionType.PowerAssign: 926case ExpressionType.RightShiftAssign: 928case ExpressionType.SubtractAssign: 930case ExpressionType.AddAssignChecked: 932case ExpressionType.SubtractAssignChecked: 934case ExpressionType.MultiplyAssignChecked: 969return GetEqualityComparisonOperator(ExpressionType.Equal, "op_Equality", left, right, liftToNull); 971return GetMethodBasedBinaryOperator(ExpressionType.Equal, left, right, method, liftToNull); 986return new LogicalBinaryExpression(ExpressionType.Equal, left, right); 1016return GetEqualityComparisonOperator(ExpressionType.NotEqual, "op_Inequality", left, right, liftToNull); 1018return GetMethodBasedBinaryOperator(ExpressionType.NotEqual, left, right, method, liftToNull); 1033return new LogicalBinaryExpression(ExpressionType.NotEqual, left, right); 1038private static BinaryExpression GetEqualityComparisonOperator(ExpressionType binaryType, string opName, Expression left, Expression right, bool liftToNull) { 1095return GetComparisonOperator(ExpressionType.GreaterThan, "op_GreaterThan", left, right, liftToNull); 1097return GetMethodBasedBinaryOperator(ExpressionType.GreaterThan, left, right, method, liftToNull); 1126return GetComparisonOperator(ExpressionType.LessThan, "op_LessThan", left, right, liftToNull); 1128return GetMethodBasedBinaryOperator(ExpressionType.LessThan, left, right, method, liftToNull); 1157return GetComparisonOperator(ExpressionType.GreaterThanOrEqual, "op_GreaterThanOrEqual", left, right, liftToNull); 1159return GetMethodBasedBinaryOperator(ExpressionType.GreaterThanOrEqual, left, right, method, liftToNull); 1188return GetComparisonOperator(ExpressionType.LessThanOrEqual, "op_LessThanOrEqual", left, right, liftToNull); 1190return GetMethodBasedBinaryOperator(ExpressionType.LessThanOrEqual, left, right, method, liftToNull); 1194private static BinaryExpression GetComparisonOperator(ExpressionType binaryType, string opName, Expression left, Expression right, bool liftToNull) { 1237return new LogicalBinaryExpression(ExpressionType.AndAlso, left, right); 1239return new SimpleBinaryExpression(ExpressionType.AndAlso, left, right, left.Type); 1242method = GetUserDefinedBinaryOperator(ExpressionType.AndAlso, left.Type, right.Type, "op_BitwiseAnd"); 1244ValidateUserDefinedConditionalLogicOperator(ExpressionType.AndAlso, left.Type, right.Type, method); 1246return new MethodBinaryExpression(ExpressionType.AndAlso, left, right, returnType, method); 1248throw Error.BinaryOperatorNotDefined(ExpressionType.AndAlso, left.Type, right.Type); 1250ValidateUserDefinedConditionalLogicOperator(ExpressionType.AndAlso, left.Type, right.Type, method); 1252return new MethodBinaryExpression(ExpressionType.AndAlso, left, right, returnType, method); 1283return new LogicalBinaryExpression(ExpressionType.OrElse, left, right); 1285return new SimpleBinaryExpression(ExpressionType.OrElse, left, right, left.Type); 1288method = GetUserDefinedBinaryOperator(ExpressionType.OrElse, left.Type, right.Type, "op_BitwiseOr"); 1290ValidateUserDefinedConditionalLogicOperator(ExpressionType.OrElse, left.Type, right.Type, method); 1292return new MethodBinaryExpression(ExpressionType.OrElse, left, right, returnType, method); 1294throw Error.BinaryOperatorNotDefined(ExpressionType.OrElse, left.Type, right.Type); 1296ValidateUserDefinedConditionalLogicOperator(ExpressionType.OrElse, left.Type, right.Type, method); 1298return new MethodBinaryExpression(ExpressionType.OrElse, left, right, returnType, method); 1331return new SimpleBinaryExpression(ExpressionType.Coalesce, left, right, resultType); 1354throw Error.OperandTypesDoNotMatchParameters(ExpressionType.Coalesce, conversion.ToString()); 1360throw Error.OperandTypesDoNotMatchParameters(ExpressionType.Coalesce, conversion.ToString()); 1413return new SimpleBinaryExpression(ExpressionType.Add, left, right, left.Type); 1415return GetUserDefinedBinaryOperatorOrThrow(ExpressionType.Add, "op_Addition", left, right, true); 1417return GetMethodBasedBinaryOperator(ExpressionType.Add, left, right, method, true); 1467return new SimpleBinaryExpression(ExpressionType.AddAssign, left, right, left.Type); 1469return GetUserDefinedAssignOperatorOrThrow(ExpressionType.AddAssign, "op_Addition", left, right, conversion, true); 1471return GetMethodBasedAssignOperator(ExpressionType.AddAssign, left, right, method, conversion, true); 1474private static void ValidateOpAssignConversionLambda(LambdaExpression conversion, Expression left, MethodInfo method, ExpressionType nodeType) { 1543return new SimpleBinaryExpression(ExpressionType.AddAssignChecked, left, right, left.Type); 1545return GetUserDefinedAssignOperatorOrThrow(ExpressionType.AddAssignChecked, "op_Addition", left, right, conversion, true); 1547return GetMethodBasedAssignOperator(ExpressionType.AddAssignChecked, left, right, method, conversion, true); 1576return new SimpleBinaryExpression(ExpressionType.AddChecked, left, right, left.Type); 1578return GetUserDefinedBinaryOperatorOrThrow(ExpressionType.AddChecked, "op_Addition", left, right, false); 1580return GetMethodBasedBinaryOperator(ExpressionType.AddChecked, left, right, method, true); 1609return new SimpleBinaryExpression(ExpressionType.Subtract, left, right, left.Type); 1611return GetUserDefinedBinaryOperatorOrThrow(ExpressionType.Subtract, "op_Subtraction", left, right, true); 1613return GetMethodBasedBinaryOperator(ExpressionType.Subtract, left, right, method, true); 1662return new SimpleBinaryExpression(ExpressionType.SubtractAssign, left, right, left.Type); 1664return GetUserDefinedAssignOperatorOrThrow(ExpressionType.SubtractAssign, "op_Subtraction", left, right, conversion, true); 1666return GetMethodBasedAssignOperator(ExpressionType.SubtractAssign, left, right, method, conversion, true); 1715return new SimpleBinaryExpression(ExpressionType.SubtractAssignChecked, left, right, left.Type); 1717return GetUserDefinedAssignOperatorOrThrow(ExpressionType.SubtractAssignChecked, "op_Subtraction", left, right, conversion, true); 1719return GetMethodBasedAssignOperator(ExpressionType.SubtractAssignChecked, left, right, method, conversion, true); 1748return new SimpleBinaryExpression(ExpressionType.SubtractChecked, left, right, left.Type); 1750return GetUserDefinedBinaryOperatorOrThrow(ExpressionType.SubtractChecked, "op_Subtraction", left, right, true); 1752return GetMethodBasedBinaryOperator(ExpressionType.SubtractChecked, left, right, method, true); 1781return new SimpleBinaryExpression(ExpressionType.Divide, left, right, left.Type); 1783return GetUserDefinedBinaryOperatorOrThrow(ExpressionType.Divide, "op_Division", left, right, true); 1785return GetMethodBasedBinaryOperator(ExpressionType.Divide, left, right, method, true); 1834return new SimpleBinaryExpression(ExpressionType.DivideAssign, left, right, left.Type); 1836return GetUserDefinedAssignOperatorOrThrow(ExpressionType.DivideAssign, "op_Division", left, right, conversion, true); 1838return GetMethodBasedAssignOperator(ExpressionType.DivideAssign, left, right, method, conversion, true); 1867return new SimpleBinaryExpression(ExpressionType.Modulo, left, right, left.Type); 1869return GetUserDefinedBinaryOperatorOrThrow(ExpressionType.Modulo, "op_Modulus", left, right, true); 1871return GetMethodBasedBinaryOperator(ExpressionType.Modulo, left, right, method, true); 1920return new SimpleBinaryExpression(ExpressionType.ModuloAssign, left, right, left.Type); 1922return GetUserDefinedAssignOperatorOrThrow(ExpressionType.ModuloAssign, "op_Modulus", left, right, conversion, true); 1924return GetMethodBasedAssignOperator(ExpressionType.ModuloAssign, left, right, method, conversion, true); 1953return new SimpleBinaryExpression(ExpressionType.Multiply, left, right, left.Type); 1955return GetUserDefinedBinaryOperatorOrThrow(ExpressionType.Multiply, "op_Multiply", left, right, true); 1957return GetMethodBasedBinaryOperator(ExpressionType.Multiply, left, right, method, true); 2006return new SimpleBinaryExpression(ExpressionType.MultiplyAssign, left, right, left.Type); 2008return GetUserDefinedAssignOperatorOrThrow(ExpressionType.MultiplyAssign, "op_Multiply", left, right, conversion, true); 2010return GetMethodBasedAssignOperator(ExpressionType.MultiplyAssign, left, right, method, conversion, true); 2059return new SimpleBinaryExpression(ExpressionType.MultiplyAssignChecked, left, right, left.Type); 2061return GetUserDefinedAssignOperatorOrThrow(ExpressionType.MultiplyAssignChecked, "op_Multiply", left, right, conversion, true); 2063return GetMethodBasedAssignOperator(ExpressionType.MultiplyAssignChecked, left, right, method, conversion, true); 2092return new SimpleBinaryExpression(ExpressionType.MultiplyChecked, left, right, left.Type); 2094return GetUserDefinedBinaryOperatorOrThrow(ExpressionType.MultiplyChecked, "op_Multiply", left, right, true); 2096return GetMethodBasedBinaryOperator(ExpressionType.MultiplyChecked, left, right, method, true); 2139return new SimpleBinaryExpression(ExpressionType.LeftShift, left, right, resultType); 2141return GetUserDefinedBinaryOperatorOrThrow(ExpressionType.LeftShift, "op_LeftShift", left, right, true); 2143return GetMethodBasedBinaryOperator(ExpressionType.LeftShift, left, right, method, true); 2193return new SimpleBinaryExpression(ExpressionType.LeftShiftAssign, left, right, resultType); 2195return GetUserDefinedAssignOperatorOrThrow(ExpressionType.LeftShiftAssign, "op_LeftShift", left, right, conversion, true); 2197return GetMethodBasedAssignOperator(ExpressionType.LeftShiftAssign, left, right, method, conversion, true); 2227return new SimpleBinaryExpression(ExpressionType.RightShift, left, right, resultType); 2229return GetUserDefinedBinaryOperatorOrThrow(ExpressionType.RightShift, "op_RightShift", left, right, true); 2231return GetMethodBasedBinaryOperator(ExpressionType.RightShift, left, right, method, true); 2281return new SimpleBinaryExpression(ExpressionType.RightShiftAssign, left, right, resultType); 2283return GetUserDefinedAssignOperatorOrThrow(ExpressionType.RightShiftAssign, "op_RightShift", left, right, conversion, true); 2285return GetMethodBasedAssignOperator(ExpressionType.RightShiftAssign, left, right, method, conversion, true); 2314return new SimpleBinaryExpression(ExpressionType.And, left, right, left.Type); 2316return GetUserDefinedBinaryOperatorOrThrow(ExpressionType.And, "op_BitwiseAnd", left, right, true); 2318return GetMethodBasedBinaryOperator(ExpressionType.And, left, right, method, true); 2367return new SimpleBinaryExpression(ExpressionType.AndAssign, left, right, left.Type); 2369return GetUserDefinedAssignOperatorOrThrow(ExpressionType.AndAssign, "op_BitwiseAnd", left, right, conversion, true); 2371return GetMethodBasedAssignOperator(ExpressionType.AndAssign, left, right, method, conversion, true); 2400return new SimpleBinaryExpression(ExpressionType.Or, left, right, left.Type); 2402return GetUserDefinedBinaryOperatorOrThrow(ExpressionType.Or, "op_BitwiseOr", left, right, true); 2404return GetMethodBasedBinaryOperator(ExpressionType.Or, left, right, method, true); 2453return new SimpleBinaryExpression(ExpressionType.OrAssign, left, right, left.Type); 2455return GetUserDefinedAssignOperatorOrThrow(ExpressionType.OrAssign, "op_BitwiseOr", left, right, conversion, true); 2457return GetMethodBasedAssignOperator(ExpressionType.OrAssign, left, right, method, conversion, true); 2485return new SimpleBinaryExpression(ExpressionType.ExclusiveOr, left, right, left.Type); 2487return GetUserDefinedBinaryOperatorOrThrow(ExpressionType.ExclusiveOr, "op_ExclusiveOr", left, right, true); 2489return GetMethodBasedBinaryOperator(ExpressionType.ExclusiveOr, left, right, method, true); 2537return new SimpleBinaryExpression(ExpressionType.ExclusiveOrAssign, left, right, left.Type); 2539return GetUserDefinedAssignOperatorOrThrow(ExpressionType.ExclusiveOrAssign, "op_ExclusiveOr", left, right, conversion, true); 2541return GetMethodBasedAssignOperator(ExpressionType.ExclusiveOrAssign, left, right, method, conversion, true); 2571throw Error.BinaryOperatorNotDefined(ExpressionType.Power, left.Type, right.Type); 2574return GetMethodBasedBinaryOperator(ExpressionType.Power, left, right, method, true); 2621throw Error.BinaryOperatorNotDefined(ExpressionType.PowerAssign, left.Type, right.Type); 2624return GetMethodBasedAssignOperator(ExpressionType.PowerAssign, left, right, method, conversion, true); 2653return new SimpleBinaryExpression(ExpressionType.ArrayIndex, array, index, arrayType.GetElementType());
Microsoft\Scripting\Ast\BlockExpression.cs (3)
79/// <returns>The <see cref="ExpressionType"/> of the expression.</returns> 80public sealed override ExpressionType NodeType { 81get { return ExpressionType.Block; }
Microsoft\Scripting\Ast\ConditionalExpression.cs (3)
59/// <returns>The <see cref="ExpressionType"/> of the expression.</returns> 60public sealed override ExpressionType NodeType { 61get { return ExpressionType.Conditional; }
Microsoft\Scripting\Ast\ConstantExpression.cs (3)
70/// <returns>The <see cref="ExpressionType"/> of the expression.</returns> 71public sealed override ExpressionType NodeType { 72get { return ExpressionType.Constant; }
Microsoft\Scripting\Ast\DebugInfoExpression.cs (3)
57/// <returns>The <see cref="ExpressionType"/> that represents this expression.</returns> 58public sealed override ExpressionType NodeType { 59get { return ExpressionType.DebugInfo; }
Microsoft\Scripting\Ast\DebugViewWriter.cs (145)
329if (node.NodeType == ExpressionType.ArrayIndex) { 342case ExpressionType.Assign: op = "="; break; 343case ExpressionType.Equal: op = "=="; break; 344case ExpressionType.NotEqual: op = "!="; break; 345case ExpressionType.AndAlso: op = "&&"; beforeOp = Flow.Break | Flow.Space; break; 346case ExpressionType.OrElse: op = "||"; beforeOp = Flow.Break | Flow.Space; break; 347case ExpressionType.GreaterThan: op = ">"; break; 348case ExpressionType.LessThan: op = "<"; break; 349case ExpressionType.GreaterThanOrEqual: op = ">="; break; 350case ExpressionType.LessThanOrEqual: op = "<="; break; 351case ExpressionType.Add: op = "+"; break; 352case ExpressionType.AddAssign: op = "+="; break; 353case ExpressionType.AddAssignChecked: op = "+="; isChecked = true; break; 354case ExpressionType.AddChecked: op = "+"; isChecked = true; break; 355case ExpressionType.Subtract: op = "-"; break; 356case ExpressionType.SubtractAssign: op = "-="; break; 357case ExpressionType.SubtractAssignChecked: op = "-="; isChecked = true; break; 358case ExpressionType.SubtractChecked: op = "-"; isChecked = true; break; 359case ExpressionType.Divide: op = "/"; break; 360case ExpressionType.DivideAssign: op = "/="; break; 361case ExpressionType.Modulo: op = "%"; break; 362case ExpressionType.ModuloAssign: op = "%="; break; 363case ExpressionType.Multiply: op = "*"; break; 364case ExpressionType.MultiplyAssign: op = "*="; break; 365case ExpressionType.MultiplyAssignChecked: op = "*="; isChecked = true; break; 366case ExpressionType.MultiplyChecked: op = "*"; isChecked = true; break; 367case ExpressionType.LeftShift: op = "<<"; break; 368case ExpressionType.LeftShiftAssign: op = "<<="; break; 369case ExpressionType.RightShift: op = ">>"; break; 370case ExpressionType.RightShiftAssign: op = ">>="; break; 371case ExpressionType.And: op = "&"; break; 372case ExpressionType.AndAssign: op = "&="; break; 373case ExpressionType.Or: op = "|"; break; 374case ExpressionType.OrAssign: op = "|="; break; 375case ExpressionType.ExclusiveOr: op = "^"; break; 376case ExpressionType.ExclusiveOrAssign: op = "^="; break; 377case ExpressionType.Power: op = "**"; break; 378case ExpressionType.PowerAssign: op = "**="; break; 379case ExpressionType.Coalesce: op = "??"; break; 579case ExpressionType.Increment: 580case ExpressionType.Decrement: 581case ExpressionType.IsTrue: 582case ExpressionType.IsFalse: 583case ExpressionType.Unbox: 603case ExpressionType.AndAlso: 604case ExpressionType.OrElse: 605case ExpressionType.And: 606case ExpressionType.Or: 607case ExpressionType.ExclusiveOr: 613case ExpressionType.Add: 614case ExpressionType.AddChecked: 615case ExpressionType.Multiply: 616case ExpressionType.MultiplyChecked: 618case ExpressionType.Subtract: 619case ExpressionType.SubtractChecked: 620case ExpressionType.Divide: 621case ExpressionType.Modulo: 632if (child != null && child.NodeType == ExpressionType.Constant && 633(parent.NodeType == ExpressionType.Negate || parent.NodeType == ExpressionType.NegateChecked)) { 650case ExpressionType.Assign: 651case ExpressionType.ExclusiveOrAssign: 652case ExpressionType.AddAssign: 653case ExpressionType.AddAssignChecked: 654case ExpressionType.SubtractAssign: 655case ExpressionType.SubtractAssignChecked: 656case ExpressionType.DivideAssign: 657case ExpressionType.ModuloAssign: 658case ExpressionType.MultiplyAssign: 659case ExpressionType.MultiplyAssignChecked: 660case ExpressionType.LeftShiftAssign: 661case ExpressionType.RightShiftAssign: 662case ExpressionType.AndAssign: 663case ExpressionType.OrAssign: 664case ExpressionType.PowerAssign: 665case ExpressionType.Coalesce: 671case ExpressionType.OrElse: 675case ExpressionType.AndAlso: 679case ExpressionType.Or: 683case ExpressionType.ExclusiveOr: 687case ExpressionType.And: 691case ExpressionType.Equal: 692case ExpressionType.NotEqual: 696case ExpressionType.GreaterThan: 697case ExpressionType.LessThan: 698case ExpressionType.GreaterThanOrEqual: 699case ExpressionType.LessThanOrEqual: 700case ExpressionType.TypeAs: 701case ExpressionType.TypeIs: 702case ExpressionType.TypeEqual: 706case ExpressionType.LeftShift: 707case ExpressionType.RightShift: 711case ExpressionType.Add: 712case ExpressionType.AddChecked: 713case ExpressionType.Subtract: 714case ExpressionType.SubtractChecked: 718case ExpressionType.Divide: 719case ExpressionType.Modulo: 720case ExpressionType.Multiply: 721case ExpressionType.MultiplyChecked: 725case ExpressionType.Negate: 726case ExpressionType.NegateChecked: 727case ExpressionType.UnaryPlus: 728case ExpressionType.Not: 729case ExpressionType.Convert: 730case ExpressionType.ConvertChecked: 731case ExpressionType.PreIncrementAssign: 732case ExpressionType.PreDecrementAssign: 733case ExpressionType.OnesComplement: 734case ExpressionType.Increment: 735case ExpressionType.Decrement: 736case ExpressionType.IsTrue: 737case ExpressionType.IsFalse: 738case ExpressionType.Unbox: 739case ExpressionType.Throw: 744case ExpressionType.Power: 749case ExpressionType.PostIncrementAssign: 750case ExpressionType.PostDecrementAssign: 756case ExpressionType.Constant: 757case ExpressionType.Parameter: 788if (node.NodeType == ExpressionType.NewArrayBounds) { 851case ExpressionType.TypeIs: 854case ExpressionType.TypeEqual: 865case ExpressionType.Convert: 868case ExpressionType.ConvertChecked: 871case ExpressionType.TypeAs: 873case ExpressionType.Not: 876case ExpressionType.OnesComplement: 879case ExpressionType.Negate: 882case ExpressionType.NegateChecked: 885case ExpressionType.UnaryPlus: 888case ExpressionType.ArrayLength: 890case ExpressionType.Quote: 893case ExpressionType.Throw: 900case ExpressionType.IsFalse: 903case ExpressionType.IsTrue: 906case ExpressionType.Decrement: 909case ExpressionType.Increment: 912case ExpressionType.PreDecrementAssign: 915case ExpressionType.PreIncrementAssign: 918case ExpressionType.Unbox: 926case ExpressionType.TypeAs: 931case ExpressionType.ArrayLength: 935case ExpressionType.PostDecrementAssign: 939case ExpressionType.PostIncrementAssign:
Microsoft\Scripting\Ast\DefaultExpression.cs (3)
49/// <returns>The <see cref="ExpressionType"/> of the expression.</returns> 50public sealed override ExpressionType NodeType { 51get { return ExpressionType.Default; }
Microsoft\Scripting\Ast\DynamicExpression.cs (42)
104/// <returns>The <see cref="ExpressionType"/> of the expression.</returns> 105public sealed override ExpressionType NodeType { 106get { return ExpressionType.Dynamic; } 190/// <see cref="ExpressionType.Dynamic">Dynamic</see> and has the 210/// <see cref="ExpressionType.Dynamic">Dynamic</see> and has the 230/// <see cref="ExpressionType.Dynamic">Dynamic</see> and has the 251/// <see cref="ExpressionType.Dynamic">Dynamic</see> and has the 273/// <see cref="ExpressionType.Dynamic">Dynamic</see> and has the 296/// <see cref="ExpressionType.Dynamic">Dynamic</see> and has the 316/// <see cref="ExpressionType.Dynamic">Dynamic</see> and has the 333/// <see cref="ExpressionType.Dynamic">Dynamic</see> and has the 350/// <see cref="ExpressionType.Dynamic">Dynamic</see> and has the 368/// <see cref="ExpressionType.Dynamic">Dynamic</see> and has the 387/// <see cref="ExpressionType.Dynamic">Dynamic</see> and has the 407/// <see cref="ExpressionType.Dynamic">Dynamic</see> and has the 681/// <see cref="ExpressionType.Dynamic">Dynamic</see> and has the 698/// <see cref="ExpressionType.Dynamic">Dynamic</see> and has the 711ValidateArgumentTypes(method, ExpressionType.Dynamic, ref args); 724/// <see cref="ExpressionType.Dynamic">Dynamic</see> and has the 737ValidateArgumentCount(method, ExpressionType.Dynamic, 2, parameters); 739ValidateOneArgument(method, ExpressionType.Dynamic, arg0, parameters[1]); 753/// <see cref="ExpressionType.Dynamic">Dynamic</see> and has the 766ValidateArgumentCount(method, ExpressionType.Dynamic, 3, parameters); 768ValidateOneArgument(method, ExpressionType.Dynamic, arg0, parameters[1]); 770ValidateOneArgument(method, ExpressionType.Dynamic, arg1, parameters[2]); 785/// <see cref="ExpressionType.Dynamic">Dynamic</see> and has the 798ValidateArgumentCount(method, ExpressionType.Dynamic, 4, parameters); 800ValidateOneArgument(method, ExpressionType.Dynamic, arg0, parameters[1]); 802ValidateOneArgument(method, ExpressionType.Dynamic, arg1, parameters[2]); 804ValidateOneArgument(method, ExpressionType.Dynamic, arg2, parameters[3]); 820/// <see cref="ExpressionType.Dynamic">Dynamic</see> and has the 833ValidateArgumentCount(method, ExpressionType.Dynamic, 5, parameters); 835ValidateOneArgument(method, ExpressionType.Dynamic, arg0, parameters[1]); 837ValidateOneArgument(method, ExpressionType.Dynamic, arg1, parameters[2]); 839ValidateOneArgument(method, ExpressionType.Dynamic, arg2, parameters[3]); 841ValidateOneArgument(method, ExpressionType.Dynamic, arg3, parameters[4]); 861/// <see cref="ExpressionType.Dynamic">Dynamic</see> and has the 881/// <see cref="ExpressionType.Dynamic">Dynamic</see> and has the 918/// <see cref="ExpressionType.Dynamic">Dynamic</see> and has the 960/// <see cref="ExpressionType.Dynamic">Dynamic</see> and has the 1007/// <see cref="ExpressionType.Dynamic">Dynamic</see> and has the 1055/// <see cref="ExpressionType.Dynamic">Dynamic</see> and has the
Microsoft\Scripting\Ast\ElementInit.cs (1)
116ValidateArgumentTypes(addMethod, ExpressionType.Call, ref argumentsRO);
Microsoft\Scripting\Ast\Expression.cs (12)
58public ExtensionInfo(ExpressionType nodeType, Type type) { 63internal readonly ExpressionType NodeType; 75protected Expression(ExpressionType nodeType, Type type) { 96/// The <see cref="ExpressionType"/> of the <see cref="Expression"/>. 98public virtual ExpressionType NodeType { 173/// This default implementation for <see cref="ExpressionType.Extension" /> 212while (node.NodeType == ExpressionType.Extension) { 345case ExpressionType.Index: 351case ExpressionType.MemberAccess: 387case ExpressionType.Index: 395case ExpressionType.MemberAccess: 408case ExpressionType.Parameter:
Microsoft\Scripting\Ast\Expression.DebuggerProxy.cs (25)
47public ExpressionType NodeType { get { return _node.NodeType; } } 62public ExpressionType NodeType { get { return _node.NodeType; } } 92public ExpressionType NodeType { get { return _node.NodeType; } } 106public ExpressionType NodeType { get { return _node.NodeType; } } 124public ExpressionType NodeType { get { return _node.NodeType; } } 139public ExpressionType NodeType { get { return _node.NodeType; } } 155public ExpressionType NodeType { get { return _node.NodeType; } } 169public ExpressionType NodeType { get { return _node.NodeType; } } 186public ExpressionType NodeType { get { return _node.NodeType; } } 202public ExpressionType NodeType { get { return _node.NodeType; } } 216public ExpressionType NodeType { get { return _node.NodeType; } } 232public ExpressionType NodeType { get { return _node.NodeType; } } 250public ExpressionType NodeType { get { return _node.NodeType; } } 266public ExpressionType NodeType { get { return _node.NodeType; } } 281public ExpressionType NodeType { get { return _node.NodeType; } } 296public ExpressionType NodeType { get { return _node.NodeType; } } 311public ExpressionType NodeType { get { return _node.NodeType; } } 326public ExpressionType NodeType { get { return _node.NodeType; } } 342public ExpressionType NodeType { get { return _node.NodeType; } } 357public ExpressionType NodeType { get { return _node.NodeType; } } 370public ExpressionType NodeType { get { return _node.NodeType; } } 398public ExpressionType NodeType { get { return _node.NodeType; } } 416public ExpressionType NodeType { get { return _node.NodeType; } } 430public ExpressionType NodeType { get { return _node.NodeType; } } 447public ExpressionType NodeType { get { return _node.NodeType; } }
Microsoft\Scripting\Ast\ExpressionStringBuilder.cs (65)
226if (node.NodeType == ExpressionType.ArrayIndex) { 238case ExpressionType.AndAlso: 244case ExpressionType.OrElse: 250case ExpressionType.Assign: op = "="; break; 251case ExpressionType.Equal: 257case ExpressionType.NotEqual: op = "!="; break; 258case ExpressionType.GreaterThan: op = ">"; break; 259case ExpressionType.LessThan: op = "<"; break; 260case ExpressionType.GreaterThanOrEqual: op = ">="; break; 261case ExpressionType.LessThanOrEqual: op = "<="; break; 262case ExpressionType.Add: op = "+"; break; 263case ExpressionType.AddAssign: op = "+="; break; 264case ExpressionType.AddAssignChecked: op = "+="; break; 265case ExpressionType.AddChecked: op = "+"; break; 266case ExpressionType.Subtract: op = "-"; break; 267case ExpressionType.SubtractAssign: op = "-="; break; 268case ExpressionType.SubtractAssignChecked: op = "-="; break; 269case ExpressionType.SubtractChecked: op = "-"; break; 270case ExpressionType.Divide: op = "/"; break; 271case ExpressionType.DivideAssign: op = "/="; break; 272case ExpressionType.Modulo: op = "%"; break; 273case ExpressionType.ModuloAssign: op = "%="; break; 274case ExpressionType.Multiply: op = "*"; break; 275case ExpressionType.MultiplyAssign: op = "*="; break; 276case ExpressionType.MultiplyAssignChecked: op = "*="; break; 277case ExpressionType.MultiplyChecked: op = "*"; break; 278case ExpressionType.LeftShift: op = "<<"; break; 279case ExpressionType.LeftShiftAssign: op = "<<="; break; 280case ExpressionType.RightShift: op = ">>"; break; 281case ExpressionType.RightShiftAssign: op = ">>="; break; 282case ExpressionType.And: 289case ExpressionType.AndAssign: 296case ExpressionType.Or: 303case ExpressionType.OrAssign: 308case ExpressionType.ExclusiveOr: op = "^"; break; 309case ExpressionType.ExclusiveOrAssign: op = "^="; break; 310case ExpressionType.Power: op = "^"; break; 311case ExpressionType.PowerAssign: op = "**="; break; 312case ExpressionType.Coalesce: op = "??"; break; 543case ExpressionType.NewArrayBounds: 548case ExpressionType.NewArrayInit: 609case ExpressionType.TypeIs: 612case ExpressionType.TypeEqual: 624case ExpressionType.TypeAs: 627case ExpressionType.Not: 630case ExpressionType.Negate: 631case ExpressionType.NegateChecked: 634case ExpressionType.UnaryPlus: 637case ExpressionType.Quote: 639case ExpressionType.Throw: 642case ExpressionType.Increment: 645case ExpressionType.Decrement: 648case ExpressionType.PreIncrementAssign: 651case ExpressionType.PreDecrementAssign: 654case ExpressionType.OnesComplement: 666case ExpressionType.Negate: 667case ExpressionType.NegateChecked: 668case ExpressionType.UnaryPlus: 669case ExpressionType.PreDecrementAssign: 670case ExpressionType.PreIncrementAssign: 671case ExpressionType.Quote: 673case ExpressionType.TypeAs: 678case ExpressionType.PostIncrementAssign: 681case ExpressionType.PostDecrementAssign: 789if (node.NodeType == ExpressionType.Extension) {
Microsoft\Scripting\Ast\GotoExpression.cs (3)
81/// <returns>The <see cref="ExpressionType"/> that represents this expression.</returns> 82public sealed override ExpressionType NodeType { 83get { return ExpressionType.Goto; }
Microsoft\Scripting\Ast\IndexExpression.cs (3)
63/// <returns>The <see cref="ExpressionType"/> that represents this expression.</returns> 64public sealed override ExpressionType NodeType { 65get { return ExpressionType.Index; }
Microsoft\Scripting\Ast\InvocationExpression.cs (5)
61/// <returns>The <see cref="ExpressionType"/> of the expression.</returns> 62public sealed override ExpressionType NodeType { 63get { return ExpressionType.Invoke; } 122return (_lambda.NodeType == ExpressionType.Quote) 184ValidateArgumentTypes(mi, ExpressionType.Invoke, ref args);
Microsoft\Scripting\Ast\LabelExpression.cs (3)
53/// <returns>The <see cref="ExpressionType"/> that represents this expression.</returns> 54public sealed override ExpressionType NodeType { 55get { return ExpressionType.Label; }
Microsoft\Scripting\Ast\LambdaExpression.cs (3)
82/// <returns>The <see cref="ExpressionType"/> that represents this expression.</returns> 83public sealed override ExpressionType NodeType { 84get { return ExpressionType.Lambda; }
Microsoft\Scripting\Ast\ListInitExpression.cs (3)
55/// <returns>The <see cref="ExpressionType"/> that represents this expression.</returns> 56public sealed override ExpressionType NodeType { 57get { return ExpressionType.ListInit; }
Microsoft\Scripting\Ast\LoopExpression.cs (3)
58/// <returns>The <see cref="ExpressionType"/> of the expression.</returns> 59public sealed override ExpressionType NodeType { 60get { return ExpressionType.Loop; }
Microsoft\Scripting\Ast\MemberExpression.cs (3)
73/// <returns>The <see cref="ExpressionType"/> that represents this expression.</returns> 74public sealed override ExpressionType NodeType { 75get { return ExpressionType.MemberAccess; }
Microsoft\Scripting\Ast\MemberInitExpression.cs (3)
64/// <returns>The <see cref="ExpressionType"/> of the expression.</returns> 65public sealed override ExpressionType NodeType { 66get { return ExpressionType.MemberInit; }
Microsoft\Scripting\Ast\MethodCallExpression.cs (49)
54/// <returns>The <see cref="ExpressionType"/> that represents this expression.</returns> 55public sealed override ExpressionType NodeType { 56get { return ExpressionType.Call; } 528ValidateArgumentCount(method, ExpressionType.Call, 1, pis); 530arg0 = ValidateOneArgument(method, ExpressionType.Call, arg0, pis[0]); 549ValidateArgumentCount(method, ExpressionType.Call, 2, pis); 551arg0 = ValidateOneArgument(method, ExpressionType.Call, arg0, pis[0]); 552arg1 = ValidateOneArgument(method, ExpressionType.Call, arg1, pis[1]); 573ValidateArgumentCount(method, ExpressionType.Call, 3, pis); 575arg0 = ValidateOneArgument(method, ExpressionType.Call, arg0, pis[0]); 576arg1 = ValidateOneArgument(method, ExpressionType.Call, arg1, pis[1]); 577arg2 = ValidateOneArgument(method, ExpressionType.Call, arg2, pis[2]); 600ValidateArgumentCount(method, ExpressionType.Call, 4, pis); 602arg0 = ValidateOneArgument(method, ExpressionType.Call, arg0, pis[0]); 603arg1 = ValidateOneArgument(method, ExpressionType.Call, arg1, pis[1]); 604arg2 = ValidateOneArgument(method, ExpressionType.Call, arg2, pis[2]); 605arg3 = ValidateOneArgument(method, ExpressionType.Call, arg3, pis[3]); 631ValidateArgumentCount(method, ExpressionType.Call, 5, pis); 633arg0 = ValidateOneArgument(method, ExpressionType.Call, arg0, pis[0]); 634arg1 = ValidateOneArgument(method, ExpressionType.Call, arg1, pis[1]); 635arg2 = ValidateOneArgument(method, ExpressionType.Call, arg2, pis[2]); 636arg3 = ValidateOneArgument(method, ExpressionType.Call, arg3, pis[3]); 637arg4 = ValidateOneArgument(method, ExpressionType.Call, arg4, pis[4]); 698ValidateArgumentCount(method, ExpressionType.Call, 2, pis); 700arg0 = ValidateOneArgument(method, ExpressionType.Call, arg0, pis[0]); 701arg1 = ValidateOneArgument(method, ExpressionType.Call, arg1, pis[1]); 727ValidateArgumentCount(method, ExpressionType.Call, 3, pis); 729arg0 = ValidateOneArgument(method, ExpressionType.Call, arg0, pis[0]); 730arg1 = ValidateOneArgument(method, ExpressionType.Call, arg1, pis[1]); 731arg2 = ValidateOneArgument(method, ExpressionType.Call, arg2, pis[2]); 799ValidateArgumentTypes(method, ExpressionType.Call, ref argList); 812return GetParametersForValidation(method, ExpressionType.Call); 834private static void ValidateArgumentTypes(MethodBase method, ExpressionType nodeKind, ref ReadOnlyCollection<Expression> arguments) { 835Debug.Assert(nodeKind == ExpressionType.Invoke || nodeKind == ExpressionType.Call || nodeKind == ExpressionType.Dynamic || nodeKind == ExpressionType.New); 862private static ParameterInfo[] GetParametersForValidation(MethodBase method, ExpressionType nodeKind) { 865if (nodeKind == ExpressionType.Dynamic) { 871private static void ValidateArgumentCount(MethodBase method, ExpressionType nodeKind, int count, ParameterInfo[] pis) { 875case ExpressionType.New: 877case ExpressionType.Invoke: 879case ExpressionType.Dynamic: 880case ExpressionType.Call: 888private static Expression ValidateOneArgument(MethodBase method, ExpressionType nodeKind, Expression arg, ParameterInfo pi) { 899case ExpressionType.New: 901case ExpressionType.Invoke: 903case ExpressionType.Dynamic: 904case ExpressionType.Call:
Microsoft\Scripting\Ast\NewArrayExpression.cs (11)
48internal static NewArrayExpression Make(ExpressionType nodeType, Type type, ReadOnlyCollection<Expression> expressions) { 49if (nodeType == ExpressionType.NewArrayInit) { 89if (NodeType == ExpressionType.NewArrayInit) { 105/// <returns>The <see cref="ExpressionType"/> that represents this expression.</returns> 106public sealed override ExpressionType NodeType { 107get { return ExpressionType.NewArrayInit; } 119/// <returns>The <see cref="ExpressionType"/> that represents this expression.</returns> 120public sealed override ExpressionType NodeType { 121get { return ExpressionType.NewArrayBounds; } 179return NewArrayExpression.Make(ExpressionType.NewArrayInit, type.MakeArrayType(), initializerList); 234return NewArrayExpression.Make(ExpressionType.NewArrayBounds, arrayType, bounds.ToReadOnly());
Microsoft\Scripting\Ast\NewExpression.cs (4)
62/// <returns>The <see cref="ExpressionType"/> that represents this expression.</returns> 63public sealed override ExpressionType NodeType { 64get { return ExpressionType.New; } 170ValidateArgumentTypes(constructor, ExpressionType.New, ref argList);
Microsoft\Scripting\Ast\ParameterExpression.cs (3)
95/// <returns>The <see cref="ExpressionType"/> that represents this expression.</returns> 96public sealed override ExpressionType NodeType { 97get { return ExpressionType.Parameter; }
Microsoft\Scripting\Ast\RuntimeVariablesExpression.cs (3)
55/// <returns>The <see cref="ExpressionType"/> of the expression.</returns> 56public sealed override ExpressionType NodeType { 57get { return ExpressionType.RuntimeVariables; }
Microsoft\Scripting\Ast\SwitchExpression.cs (3)
65/// <returns>The <see cref="ExpressionType"/> of the expression.</returns> 66public sealed override ExpressionType NodeType { 67get { return ExpressionType.Switch; }
Microsoft\Scripting\Ast\TryExpression.cs (3)
70/// <returns>The <see cref="ExpressionType"/> that represents this expression.</returns> 71public sealed override ExpressionType NodeType { 72get { return ExpressionType.Try; }
Microsoft\Scripting\Ast\TypeBinaryExpression.cs (8)
38private readonly ExpressionType _nodeKind; 40internal TypeBinaryExpression(Expression expression, Type typeOperand, ExpressionType nodeKind) { 58/// <returns>The <see cref="ExpressionType"/> of the expression.</returns> 59public sealed override ExpressionType NodeType { 89if (Expression.NodeType == ExpressionType.Constant) { 181if (NodeType == ExpressionType.TypeIs) { 200return new TypeBinaryExpression(expression, type, ExpressionType.TypeIs); 214return new TypeBinaryExpression(expression, type, ExpressionType.TypeEqual);
Microsoft\Scripting\Ast\UnaryExpression.cs (104)
41private readonly ExpressionType _nodeType; 44internal UnaryExpression(ExpressionType nodeType, Expression expression, Type type, MethodInfo method) { 62/// <returns>The <see cref="ExpressionType"/> that represents this expression.</returns> 63public sealed override ExpressionType NodeType { 70/// <returns> An <see cref="ExpressionType"/> that represents the operand of the unary operation.</returns> 89if (NodeType == ExpressionType.TypeAs || NodeType == ExpressionType.Quote || NodeType == ExpressionType.Throw) { 125case ExpressionType.PreIncrementAssign: 126case ExpressionType.PreDecrementAssign: 127case ExpressionType.PostIncrementAssign: 128case ExpressionType.PostDecrementAssign: 145case ExpressionType.Index: 147case ExpressionType.MemberAccess: 157get { return _nodeType == ExpressionType.PreIncrementAssign || _nodeType == ExpressionType.PreDecrementAssign; } 161ExpressionType functional; 162if (_nodeType == ExpressionType.PreIncrementAssign || _nodeType == ExpressionType.PostIncrementAssign) { 163functional = ExpressionType.Increment; 165functional = ExpressionType.Decrement; 296/// <param name="unaryType">The <see cref="ExpressionType"></see> that specifies the type of unary operation.</param> 302public static UnaryExpression MakeUnary(ExpressionType unaryType, Expression operand, Type type) { 309/// <param name="unaryType">The <see cref="ExpressionType"></see> that specifies the type of unary operation.</param> 317public static UnaryExpression MakeUnary(ExpressionType unaryType, Expression operand, Type type, MethodInfo method) { 319case ExpressionType.Negate: 321case ExpressionType.NegateChecked: 323case ExpressionType.Not: 325case ExpressionType.IsFalse: 327case ExpressionType.IsTrue: 329case ExpressionType.OnesComplement: 331case ExpressionType.ArrayLength: 333case ExpressionType.Convert: 335case ExpressionType.ConvertChecked: 337case ExpressionType.Throw: 339case ExpressionType.TypeAs: 341case ExpressionType.Quote: 343case ExpressionType.UnaryPlus: 345case ExpressionType.Unbox: 347case ExpressionType.Increment: 349case ExpressionType.Decrement: 351case ExpressionType.PreIncrementAssign: 353case ExpressionType.PostIncrementAssign: 355case ExpressionType.PreDecrementAssign: 357case ExpressionType.PostDecrementAssign: 364private static UnaryExpression GetUserDefinedUnaryOperatorOrThrow(ExpressionType unaryType, string name, Expression operand) { 373private static UnaryExpression GetUserDefinedUnaryOperator(ExpressionType unaryType, string name, Expression operand) { 393private static UnaryExpression GetMethodBasedUnaryOperator(ExpressionType unaryType, Expression operand, MethodInfo method) { 413private static UnaryExpression GetUserDefinedCoercionOrThrow(ExpressionType coercionType, Expression expression, Type convertToType) { 421private static UnaryExpression GetUserDefinedCoercion(ExpressionType coercionType, Expression expression, Type convertToType) { 430private static UnaryExpression GetMethodBasedCoercionOperator(ExpressionType unaryType, Expression operand, Type convertToType, MethodInfo method) { 473return new UnaryExpression(ExpressionType.Negate, expression, expression.Type, null); 475return GetUserDefinedUnaryOperatorOrThrow(ExpressionType.Negate, "op_UnaryNegation", expression); 477return GetMethodBasedUnaryOperator(ExpressionType.Negate, expression, method); 484/// <returns>A <see cref="UnaryExpression"></see> that has the <see cref="Expression.NodeType"></see> property equal to <see cref="ExpressionType.UnaryPlus"></see> and the <see cref="UnaryExpression.Operand"></see> property set to the specified value.</returns> 496/// <returns>A <see cref="UnaryExpression"></see> that has the <see cref="Expression.NodeType"></see> property equal to <see cref="ExpressionType.UnaryPlus"></see> and the <see cref="UnaryExpression.Operand"></see> and <see cref="UnaryExpression.Method"></see>property set to the specified value.</returns> 504return new UnaryExpression(ExpressionType.UnaryPlus, expression, expression.Type, null); 506return GetUserDefinedUnaryOperatorOrThrow(ExpressionType.UnaryPlus, "op_UnaryPlus", expression); 508return GetMethodBasedUnaryOperator(ExpressionType.UnaryPlus, expression, method); 535return new UnaryExpression(ExpressionType.NegateChecked, expression, expression.Type, null); 537return GetUserDefinedUnaryOperatorOrThrow(ExpressionType.NegateChecked, "op_UnaryNegation", expression); 539return GetMethodBasedUnaryOperator(ExpressionType.NegateChecked, expression, method); 566return new UnaryExpression(ExpressionType.Not, expression, expression.Type, null); 568UnaryExpression u = GetUserDefinedUnaryOperator(ExpressionType.Not, "op_LogicalNot", expression); 572return GetUserDefinedUnaryOperatorOrThrow(ExpressionType.Not, "op_OnesComplement", expression); 574return GetMethodBasedUnaryOperator(ExpressionType.Not, expression, method); 596return new UnaryExpression(ExpressionType.IsFalse, expression, expression.Type, null); 598return GetUserDefinedUnaryOperatorOrThrow(ExpressionType.IsFalse, "op_False", expression); 600return GetMethodBasedUnaryOperator(ExpressionType.IsFalse, expression, method); 622return new UnaryExpression(ExpressionType.IsTrue, expression, expression.Type, null); 624return GetUserDefinedUnaryOperatorOrThrow(ExpressionType.IsTrue, "op_True", expression); 626return GetMethodBasedUnaryOperator(ExpressionType.IsTrue, expression, method); 648return new UnaryExpression(ExpressionType.OnesComplement, expression, expression.Type, null); 650return GetUserDefinedUnaryOperatorOrThrow(ExpressionType.OnesComplement, "op_OnesComplement", expression); 652return GetMethodBasedUnaryOperator(ExpressionType.OnesComplement, expression, method); 669return new UnaryExpression(ExpressionType.TypeAs, expression, type, null); 686return new UnaryExpression(ExpressionType.Unbox, expression, type, null); 719return new UnaryExpression(ExpressionType.Convert, expression, type, null); 721return GetUserDefinedCoercionOrThrow(ExpressionType.Convert, expression, type); 723return GetMethodBasedCoercionOperator(ExpressionType.Convert, expression, type, method); 755return new UnaryExpression(ExpressionType.ConvertChecked, expression, type, null); 758return new UnaryExpression(ExpressionType.Convert, expression, type, null); 760return GetUserDefinedCoercionOrThrow(ExpressionType.ConvertChecked, expression, type); 762return GetMethodBasedCoercionOperator(ExpressionType.ConvertChecked, expression, type, method); 780return new UnaryExpression(ExpressionType.ArrayLength, array, typeof(int), null); 795return new UnaryExpression(ExpressionType.Quote, expression, expression.GetType(), null); 838return new UnaryExpression(ExpressionType.Throw, value, type, null); 860return new UnaryExpression(ExpressionType.Increment, expression, expression.Type, null); 862return GetUserDefinedUnaryOperatorOrThrow(ExpressionType.Increment, "op_Increment", expression); 864return GetMethodBasedUnaryOperator(ExpressionType.Increment, expression, method); 886return new UnaryExpression(ExpressionType.Decrement, expression, expression.Type, null); 888return GetUserDefinedUnaryOperatorOrThrow(ExpressionType.Decrement, "op_Decrement", expression); 890return GetMethodBasedUnaryOperator(ExpressionType.Decrement, expression, method); 900return MakeOpAssignUnary(ExpressionType.PreIncrementAssign, expression, null); 912return MakeOpAssignUnary(ExpressionType.PreIncrementAssign, expression, method); 922return MakeOpAssignUnary(ExpressionType.PreDecrementAssign, expression, null); 933return MakeOpAssignUnary(ExpressionType.PreDecrementAssign, expression, method); 943return MakeOpAssignUnary(ExpressionType.PostIncrementAssign, expression, null); 954return MakeOpAssignUnary(ExpressionType.PostIncrementAssign, expression, method); 964return MakeOpAssignUnary(ExpressionType.PostDecrementAssign, expression, null); 975return MakeOpAssignUnary(ExpressionType.PostDecrementAssign, expression, method); 978private static UnaryExpression MakeOpAssignUnary(ExpressionType kind, Expression expression, MethodInfo method) { 988if (kind == ExpressionType.PreIncrementAssign || kind == ExpressionType.PostIncrementAssign) {
Microsoft\Scripting\Compiler\ConstantCheck.cs (1)
36if (e.NodeType == ExpressionType.Constant) {
Microsoft\Scripting\Compiler\LambdaCompiler.Address.cs (10)
47case ExpressionType.ArrayIndex: 51case ExpressionType.Parameter: 55case ExpressionType.MemberAccess: 59case ExpressionType.Unbox: 63case ExpressionType.Call: 67case ExpressionType.Index: 79Debug.Assert(node.NodeType == ExpressionType.ArrayIndex && node.Method == null); 198Debug.Assert(node.NodeType == ExpressionType.Unbox); 226case ExpressionType.MemberAccess: 229case ExpressionType.Index:
Microsoft\Scripting\Compiler\LambdaCompiler.Binary.cs (71)
41Debug.Assert(b.NodeType != ExpressionType.AndAlso && b.NodeType != ExpressionType.OrElse && b.NodeType != ExpressionType.Coalesce); 52if ((b.NodeType == ExpressionType.Equal || b.NodeType == ExpressionType.NotEqual) && 81private void EmitNullEquality(ExpressionType op, Expression e, bool isLiftedToNull) { 83Debug.Assert(op == ExpressionType.Equal || op == ExpressionType.NotEqual); 92if (op == ExpressionType.Equal) { 110case ExpressionType.Equal: 111case ExpressionType.NotEqual: 112case ExpressionType.LessThan: 113case ExpressionType.LessThanOrEqual: 114case ExpressionType.GreaterThan: 115case ExpressionType.GreaterThanOrEqual: 136private void EmitBinaryOperator(ExpressionType op, Type leftType, Type rightType, Type resultType, bool liftedToNull) { 141case ExpressionType.ArrayIndex: 147case ExpressionType.Coalesce: 161private void EmitUnliftedBinaryOp(ExpressionType op, Type leftType, Type rightType) { 165if (op == ExpressionType.Equal || op == ExpressionType.NotEqual) { 173case ExpressionType.Add: 176case ExpressionType.AddChecked: 185case ExpressionType.Subtract: 188case ExpressionType.SubtractChecked: 197case ExpressionType.Multiply: 200case ExpressionType.MultiplyChecked: 209case ExpressionType.Divide: 216case ExpressionType.Modulo: 223case ExpressionType.And: 224case ExpressionType.AndAlso: 227case ExpressionType.Or: 228case ExpressionType.OrElse: 231case ExpressionType.LessThan: 238case ExpressionType.LessThanOrEqual: { 253case ExpressionType.GreaterThan: 260case ExpressionType.GreaterThanOrEqual: { 275case ExpressionType.ExclusiveOr: 278case ExpressionType.LeftShift: 284case ExpressionType.RightShift: 303private void EmitConvertArithmeticResult(ExpressionType op, Type resultType) { 322private void EmitUnliftedEquality(ExpressionType op, Type type) { 323Debug.Assert(op == ExpressionType.Equal || op == ExpressionType.NotEqual); 328if (op == ExpressionType.NotEqual) { 336private void EmitLiftedBinaryOp(ExpressionType op, Type leftType, Type rightType, Type resultType, bool liftedToNull) { 339case ExpressionType.And: 346case ExpressionType.Or: 353case ExpressionType.ExclusiveOr: 354case ExpressionType.Add: 355case ExpressionType.AddChecked: 356case ExpressionType.Subtract: 357case ExpressionType.SubtractChecked: 358case ExpressionType.Multiply: 359case ExpressionType.MultiplyChecked: 360case ExpressionType.Divide: 361case ExpressionType.Modulo: 362case ExpressionType.LeftShift: 363case ExpressionType.RightShift: 366case ExpressionType.LessThan: 367case ExpressionType.LessThanOrEqual: 368case ExpressionType.GreaterThan: 369case ExpressionType.GreaterThanOrEqual: 370case ExpressionType.Equal: 371case ExpressionType.NotEqual: 374case ExpressionType.AndAlso: 375case ExpressionType.OrElse: 382private void EmitLiftedRelational(ExpressionType op, Type leftType, Type rightType, Type resultType, bool liftedToNull) { 393if (op == ExpressionType.Equal) { 418} else if (op == ExpressionType.NotEqual) { 492private void EmitLiftedBinaryArithmetic(ExpressionType op, Type leftType, Type rightType, Type resultType) {
Microsoft\Scripting\Compiler\LambdaCompiler.ControlFlow.cs (9)
151case ExpressionType.Label: 167case ExpressionType.Block: 180case ExpressionType.Switch: 193case ExpressionType.Convert: 201case ExpressionType.Conditional: 202case ExpressionType.Loop: 203case ExpressionType.Goto: 235case ExpressionType.Label: 241case ExpressionType.Block:
Microsoft\Scripting\Compiler\LambdaCompiler.Expressions.cs (25)
100case ExpressionType.Assign: 103case ExpressionType.Block: 106case ExpressionType.Throw: 109case ExpressionType.Goto: 112case ExpressionType.Constant: 113case ExpressionType.Default: 114case ExpressionType.Parameter: 535if (node.NodeType == ExpressionType.TypeEqual) { 616case ExpressionType.Index: 619case ExpressionType.MemberAccess: 622case ExpressionType.Parameter: 730if (node.NodeType == ExpressionType.NewArrayInit) { 937private void EmitLift(ExpressionType nodeType, Type resultType, MethodCallExpression mc, ParameterExpression[] paramList, Expression[] argList) { 942case ExpressionType.LessThan: 943case ExpressionType.LessThanOrEqual: 944case ExpressionType.GreaterThan: 945case ExpressionType.GreaterThanOrEqual: { 995case ExpressionType.LessThan: 996case ExpressionType.LessThanOrEqual: 997case ExpressionType.GreaterThan: 998case ExpressionType.GreaterThanOrEqual: 1008case ExpressionType.Equal: 1009case ExpressionType.NotEqual: { 1075_ilg.EmitBoolean(nodeType == ExpressionType.Equal); 1079_ilg.EmitBoolean(nodeType == ExpressionType.NotEqual);
Microsoft\Scripting\Compiler\LambdaCompiler.Generated.cs (76)
52case ExpressionType.Add: 55case ExpressionType.AddChecked: 58case ExpressionType.And: 61case ExpressionType.AndAlso: 64case ExpressionType.ArrayLength: 67case ExpressionType.ArrayIndex: 70case ExpressionType.Call: 73case ExpressionType.Coalesce: 76case ExpressionType.Conditional: 79case ExpressionType.Constant: 82case ExpressionType.Convert: 85case ExpressionType.ConvertChecked: 88case ExpressionType.Divide: 91case ExpressionType.Equal: 94case ExpressionType.ExclusiveOr: 97case ExpressionType.GreaterThan: 100case ExpressionType.GreaterThanOrEqual: 103case ExpressionType.Invoke: 106case ExpressionType.Lambda: 109case ExpressionType.LeftShift: 112case ExpressionType.LessThan: 115case ExpressionType.LessThanOrEqual: 118case ExpressionType.ListInit: 121case ExpressionType.MemberAccess: 124case ExpressionType.MemberInit: 127case ExpressionType.Modulo: 130case ExpressionType.Multiply: 133case ExpressionType.MultiplyChecked: 136case ExpressionType.Negate: 139case ExpressionType.UnaryPlus: 142case ExpressionType.NegateChecked: 145case ExpressionType.New: 148case ExpressionType.NewArrayInit: 151case ExpressionType.NewArrayBounds: 154case ExpressionType.Not: 157case ExpressionType.NotEqual: 160case ExpressionType.Or: 163case ExpressionType.OrElse: 166case ExpressionType.Parameter: 169case ExpressionType.Power: 172case ExpressionType.Quote: 175case ExpressionType.RightShift: 178case ExpressionType.Subtract: 181case ExpressionType.SubtractChecked: 184case ExpressionType.TypeAs: 187case ExpressionType.TypeIs: 190case ExpressionType.Assign: 193case ExpressionType.Block: 196case ExpressionType.DebugInfo: 199case ExpressionType.Decrement: 202case ExpressionType.Dynamic: 205case ExpressionType.Default: 208case ExpressionType.Extension: 211case ExpressionType.Goto: 214case ExpressionType.Increment: 217case ExpressionType.Index: 220case ExpressionType.Label: 223case ExpressionType.RuntimeVariables: 226case ExpressionType.Loop: 229case ExpressionType.Switch: 232case ExpressionType.Throw: 235case ExpressionType.Try: 238case ExpressionType.Unbox: 241case ExpressionType.TypeEqual: 244case ExpressionType.OnesComplement: 247case ExpressionType.IsTrue: 250case ExpressionType.IsFalse: 267private static bool IsChecked(ExpressionType op) { 274case ExpressionType.AddChecked: 275case ExpressionType.ConvertChecked: 276case ExpressionType.MultiplyChecked: 277case ExpressionType.NegateChecked: 278case ExpressionType.SubtractChecked: 279case ExpressionType.AddAssignChecked: 280case ExpressionType.MultiplyAssignChecked: 281case ExpressionType.SubtractAssignChecked:
Microsoft\Scripting\Compiler\LambdaCompiler.Logical.cs (13)
483case ExpressionType.Not: 486case ExpressionType.AndAlso: 487case ExpressionType.OrElse: 490case ExpressionType.Block: 493case ExpressionType.Equal: 494case ExpressionType.NotEqual: 520Debug.Assert(node.NodeType == ExpressionType.Equal || node.NodeType == ExpressionType.NotEqual); 524bool branchWhenEqual = branch == (node.NodeType == ExpressionType.Equal); 571if (expression.NodeType == ExpressionType.Convert) { 581Debug.Assert(node.NodeType == ExpressionType.AndAlso || node.NodeType == ExpressionType.OrElse); 591bool isAnd = node.NodeType == ExpressionType.AndAlso;
Microsoft\Scripting\Compiler\LambdaCompiler.Unary.cs (26)
81} else if (node.NodeType == ExpressionType.NegateChecked && TypeUtils.IsInteger(node.Operand.Type)) { 89EmitBinaryOperator(ExpressionType.SubtractChecked, node.Operand.Type, node.Operand.Type, node.Type, false); 97private void EmitUnaryOperator(ExpressionType op, Type operandType, Type resultType) { 100if (op == ExpressionType.ArrayLength) { 107case ExpressionType.Not: { 109goto case ExpressionType.Negate; 138case ExpressionType.UnaryPlus: 139case ExpressionType.NegateChecked: 140case ExpressionType.Negate: 141case ExpressionType.Increment: 142case ExpressionType.Decrement: 143case ExpressionType.OnesComplement: 144case ExpressionType.IsFalse: 145case ExpressionType.IsTrue: { 179case ExpressionType.TypeAs: 191case ExpressionType.Not: 199case ExpressionType.OnesComplement: 202case ExpressionType.IsFalse: 207case ExpressionType.IsTrue: 212case ExpressionType.UnaryPlus: 215case ExpressionType.Negate: 216case ExpressionType.NegateChecked: 219case ExpressionType.TypeAs: 229case ExpressionType.Increment: 233case ExpressionType.Decrement: 329_ilg.EmitConvertToType(node.Operand.Type, node.Type, node.NodeType == ExpressionType.ConvertChecked);
Microsoft\Scripting\Compiler\StackSpiller.cs (10)
140Debug.Assert(result.Node.NodeType != ExpressionType.Extension, "extension nodes must be rewritten"); 283case ExpressionType.Index: 285case ExpressionType.MemberAccess: 287case ExpressionType.Parameter: 289case ExpressionType.Extension: 432if (node.NodeType == ExpressionType.NewArrayInit) { 447if (node.NodeType == ExpressionType.NewArrayInit) { 523if (node.NodeType == ExpressionType.TypeIs) { 559Debug.Assert(node.NodeType != ExpressionType.Quote, "unexpected Quote"); 560Debug.Assert(node.NodeType != ExpressionType.Throw, "unexpected Throw");
Microsoft\Scripting\Compiler\StackSpiller.Generated.cs (85)
56case ExpressionType.Add: 59case ExpressionType.AddChecked: 62case ExpressionType.And: 65case ExpressionType.AndAlso: 68case ExpressionType.ArrayLength: 71case ExpressionType.ArrayIndex: 74case ExpressionType.Call: 77case ExpressionType.Coalesce: 80case ExpressionType.Conditional: 83case ExpressionType.Convert: 86case ExpressionType.ConvertChecked: 89case ExpressionType.Divide: 92case ExpressionType.Equal: 95case ExpressionType.ExclusiveOr: 98case ExpressionType.GreaterThan: 101case ExpressionType.GreaterThanOrEqual: 104case ExpressionType.Invoke: 107case ExpressionType.Lambda: 110case ExpressionType.LeftShift: 113case ExpressionType.LessThan: 116case ExpressionType.LessThanOrEqual: 119case ExpressionType.ListInit: 122case ExpressionType.MemberAccess: 125case ExpressionType.MemberInit: 128case ExpressionType.Modulo: 131case ExpressionType.Multiply: 134case ExpressionType.MultiplyChecked: 137case ExpressionType.Negate: 140case ExpressionType.UnaryPlus: 143case ExpressionType.NegateChecked: 146case ExpressionType.New: 149case ExpressionType.NewArrayInit: 152case ExpressionType.NewArrayBounds: 155case ExpressionType.Not: 158case ExpressionType.NotEqual: 161case ExpressionType.Or: 164case ExpressionType.OrElse: 167case ExpressionType.Power: 170case ExpressionType.RightShift: 173case ExpressionType.Subtract: 176case ExpressionType.SubtractChecked: 179case ExpressionType.TypeAs: 182case ExpressionType.TypeIs: 185case ExpressionType.Assign: 188case ExpressionType.Block: 191case ExpressionType.Decrement: 194case ExpressionType.Dynamic: 197case ExpressionType.Extension: 200case ExpressionType.Goto: 203case ExpressionType.Increment: 206case ExpressionType.Index: 209case ExpressionType.Label: 212case ExpressionType.Loop: 215case ExpressionType.Switch: 218case ExpressionType.Throw: 221case ExpressionType.Try: 224case ExpressionType.Unbox: 227case ExpressionType.TypeEqual: 230case ExpressionType.OnesComplement: 233case ExpressionType.IsTrue: 236case ExpressionType.IsFalse: 239case ExpressionType.AddAssign: 240case ExpressionType.AndAssign: 241case ExpressionType.DivideAssign: 242case ExpressionType.ExclusiveOrAssign: 243case ExpressionType.LeftShiftAssign: 244case ExpressionType.ModuloAssign: 245case ExpressionType.MultiplyAssign: 246case ExpressionType.OrAssign: 247case ExpressionType.PowerAssign: 248case ExpressionType.RightShiftAssign: 249case ExpressionType.SubtractAssign: 250case ExpressionType.AddAssignChecked: 251case ExpressionType.MultiplyAssignChecked: 252case ExpressionType.SubtractAssignChecked: 253case ExpressionType.PreIncrementAssign: 254case ExpressionType.PreDecrementAssign: 255case ExpressionType.PostIncrementAssign: 256case ExpressionType.PostDecrementAssign: 259case ExpressionType.Quote: 260case ExpressionType.Parameter: 261case ExpressionType.Constant: 262case ExpressionType.RuntimeVariables: 263case ExpressionType.Default: 264case ExpressionType.DebugInfo:
Microsoft\Scripting\Compiler\VariableBinder.cs (2)
80if (node.NodeType == ExpressionType.Quote) { 155while (body.Count == 1 && body[0].NodeType == ExpressionType.Block) {
System\Linq\Expressions\ExpressionVisitor.cs (48)
22case ExpressionType.UnaryPlus: 23case ExpressionType.Negate: 24case ExpressionType.NegateChecked: 25case ExpressionType.Not: 26case ExpressionType.Convert: 27case ExpressionType.ConvertChecked: 28case ExpressionType.ArrayLength: 29case ExpressionType.Quote: 30case ExpressionType.TypeAs: 32case ExpressionType.Add: 33case ExpressionType.AddChecked: 34case ExpressionType.Subtract: 35case ExpressionType.SubtractChecked: 36case ExpressionType.Multiply: 37case ExpressionType.MultiplyChecked: 38case ExpressionType.Divide: 39case ExpressionType.Modulo: 40case ExpressionType.Power: 41case ExpressionType.And: 42case ExpressionType.AndAlso: 43case ExpressionType.Or: 44case ExpressionType.OrElse: 45case ExpressionType.LessThan: 46case ExpressionType.LessThanOrEqual: 47case ExpressionType.GreaterThan: 48case ExpressionType.GreaterThanOrEqual: 49case ExpressionType.Equal: 50case ExpressionType.NotEqual: 51case ExpressionType.Coalesce: 52case ExpressionType.ArrayIndex: 53case ExpressionType.RightShift: 54case ExpressionType.LeftShift: 55case ExpressionType.ExclusiveOr: 57case ExpressionType.TypeIs: 59case ExpressionType.Conditional: 61case ExpressionType.Constant: 63case ExpressionType.Parameter: 65case ExpressionType.MemberAccess: 67case ExpressionType.Call: 69case ExpressionType.Lambda: 71case ExpressionType.New: 73case ExpressionType.NewArrayInit: 74case ExpressionType.NewArrayBounds: 76case ExpressionType.Invoke: 78case ExpressionType.MemberInit: 80case ExpressionType.ListInit: 121if (b.NodeType == ExpressionType.Coalesce && b.Conversion != null) 302if (na.NodeType == ExpressionType.NewArrayInit) {
System\Linq\SequenceQuery.cs (3)
251if (expr.NodeType != ExpressionType.Quote) 255if (!type.IsAssignableFrom(expr.Type) && type.IsArray && expr.NodeType == ExpressionType.NewArrayInit) { 363if (arg.NodeType == ExpressionType.Quote) {
System.Data.Entity (172)
System\Data\Common\Internal\Materialization\CoordinatorScratchpad.cs (2)
261if (expression.NodeType == ExpressionType.Lambda && 535Expression.MakeBinary(ExpressionType.ArrayIndex, _values, Expression.Constant(_initializationArguments.Count - 1)),
System\Data\Objects\ELinq\EntityExpressionVisitor.cs (50)
19internal const ExpressionType CustomExpression = (ExpressionType)(-1); 31case ExpressionType.UnaryPlus: 32case ExpressionType.Negate: 33case ExpressionType.NegateChecked: 34case ExpressionType.Not: 35case ExpressionType.Convert: 36case ExpressionType.ConvertChecked: 37case ExpressionType.ArrayLength: 38case ExpressionType.Quote: 39case ExpressionType.TypeAs: 41case ExpressionType.Add: 42case ExpressionType.AddChecked: 43case ExpressionType.Subtract: 44case ExpressionType.SubtractChecked: 45case ExpressionType.Multiply: 46case ExpressionType.MultiplyChecked: 47case ExpressionType.Divide: 48case ExpressionType.Modulo: 49case ExpressionType.Power: 50case ExpressionType.And: 51case ExpressionType.AndAlso: 52case ExpressionType.Or: 53case ExpressionType.OrElse: 54case ExpressionType.LessThan: 55case ExpressionType.LessThanOrEqual: 56case ExpressionType.GreaterThan: 57case ExpressionType.GreaterThanOrEqual: 58case ExpressionType.Equal: 59case ExpressionType.NotEqual: 60case ExpressionType.Coalesce: 61case ExpressionType.ArrayIndex: 62case ExpressionType.RightShift: 63case ExpressionType.LeftShift: 64case ExpressionType.ExclusiveOr: 66case ExpressionType.TypeIs: 68case ExpressionType.Conditional: 70case ExpressionType.Constant: 72case ExpressionType.Parameter: 74case ExpressionType.MemberAccess: 76case ExpressionType.Call: 78case ExpressionType.Lambda: 80case ExpressionType.New: 82case ExpressionType.NewArrayInit: 83case ExpressionType.NewArrayBounds: 85case ExpressionType.Invoke: 87case ExpressionType.MemberInit: 89case ExpressionType.ListInit: 140if (b.NodeType == ExpressionType.Coalesce && b.Conversion != null) 356if (na.NodeType == ExpressionType.NewArrayInit)
System\Data\Objects\ELinq\ExpressionConverter.cs (22)
51private static readonly Dictionary<ExpressionType, Translator> s_translators = InitializeTranslators(); 140private static Dictionary<ExpressionType, Translator> InitializeTranslators() 142Dictionary<ExpressionType, Translator> translators = new Dictionary<ExpressionType, Translator>(); 145foreach (ExpressionType nodeType in translator.NodeTypes) 191ExpressionType.LeftShift, 192ExpressionType.RightShift, 193ExpressionType.ArrayLength, 194ExpressionType.ArrayIndex, 195ExpressionType.Invoke, 196ExpressionType.Lambda, 197ExpressionType.NewArrayBounds, 198ExpressionType.Power); 627private TypeUsage GetIsOrAsTargetType(TypeUsage fromType, ExpressionType operationType, Type toClrType, Type fromClrType) 629Debug.Assert(operationType == ExpressionType.TypeAs || operationType == ExpressionType.TypeIs); 886if (ExpressionType.Lambda == argument.NodeType) 890else if (ExpressionType.Quote == argument.NodeType) 1529if (Expression.NodeType == ExpressionType.Call) 1534else if (Expression.NodeType == ExpressionType.MemberAccess) 1550if (Expression.NodeType == ExpressionType.Call) 1562else if (Expression.NodeType == ExpressionType.MemberAccess)
System\Data\Objects\ELinq\ExpressionVisitorHelpers.cs (1)
21internal static Exception UnhandledExpressionType(ExpressionType expressionType)
System\Data\Objects\ELinq\Funcletizer.cs (14)
225case ExpressionType.New: 236case ExpressionType.Constant: 238case ExpressionType.NewArrayInit: 241case ExpressionType.Convert: 256if (ExpressionType.MemberAccess == expression.NodeType) 276if (ExpressionType.Parameter == expression.NodeType) 400if (expression.NodeType == ExpressionType.Parameter) 411if (null != exp && exp.NodeType == ExpressionType.Parameter) 457if (expression.NodeType == ExpressionType.Constant) 465if (expression.NodeType == ExpressionType.Convert) 473&& ue.Operand.NodeType == ExpressionType.Constant 503result = expression.NodeType == ExpressionType.Constant 627if (_funcletizedExpression.NodeType == ExpressionType.Constant) 681public override ExpressionType NodeType
System\Data\Objects\ELinq\LinqExpressionNormalizer.cs (20)
63if (b.NodeType == ExpressionType.Equal) 69b = CreateRelationalOperator(ExpressionType.Equal, normalizedLeft, normalizedRight); 100if (input.NodeType == ExpressionType.Constant && 114while (ExpressionType.Convert == input.NodeType && typeof(object) == input.Type) 126return expression.NodeType == ExpressionType.Constant && 267return CreateRelationalOperator(ExpressionType.Equal, m.Object, m.Arguments[0]); 391if (expression.NodeType == ExpressionType.Quote) 401else if (expression.NodeType == ExpressionType.Lambda) 409if (lambda.Body.NodeType == ExpressionType.Coalesce && lambda.Body.Type == typeof(bool)) 412if (coalesce.Right.NodeType == ExpressionType.Constant && false.Equals(((ConstantExpression)coalesce.Right).Value)) 437private static BinaryExpression CreateRelationalOperator(ExpressionType op, Expression left, Expression right) 451private static bool TryCreateRelationalOperator(ExpressionType op, Expression left, Expression right, out BinaryExpression result) 457case ExpressionType.Equal: 461case ExpressionType.NotEqual: 465case ExpressionType.LessThan: 469case ExpressionType.LessThanOrEqual: 473case ExpressionType.GreaterThan: 477case ExpressionType.GreaterThanOrEqual: 500CreateRelationalOperator(ExpressionType.Equal, left, right), 503CreateRelationalOperator(ExpressionType.GreaterThan, left, right),
System\Data\Objects\ELinq\MethodCallTranslator.cs (9)
33: base(ExpressionType.Call) { } 288selectorLambda.Body.NodeType != ExpressionType.New) 345if (queryExpression.NodeType == ExpressionType.Convert) 474if (call.Arguments[0].NodeType != ExpressionType.Constant) 507Debug.Assert(call.Arguments[0].NodeType == ExpressionType.Constant, "Whenever an IncludeSpan MethodCall is inlined, the argument must be a constant"); 702if (expression.NodeType == ExpressionType.Convert) 1337if (expression.NodeType == ExpressionType.NewArrayInit) 1345else if (expression.NodeType == ExpressionType.NewArrayBounds) 1350newArray.Expressions[0].NodeType == ExpressionType.Constant)
System\Data\Objects\ELinq\ReflectionUtil.cs (2)
390if (expression.NodeType == ExpressionType.Lambda && unwrapLambda) 395if (expression.NodeType == ExpressionType.Call)
System\Data\Objects\ELinq\Translator.cs (49)
30private readonly ExpressionType[] _nodeTypes; 31protected Translator(params ExpressionType[] nodeTypes) 36internal IEnumerable<ExpressionType> NodeTypes { get { return _nodeTypes; } } 49protected TypedTranslator(params ExpressionType[] nodeTypes) 61: base(ExpressionType.Constant) { } 158: base(ExpressionType.MemberAccess) { } 697: base(ExpressionType.Parameter) { } 708: base(ExpressionType.New) { } 759: base(ExpressionType.NewArrayInit) { } 792: base(ExpressionType.ListInit ) { } 813: base(ExpressionType.MemberInit) { } 869: base(ExpressionType.Conditional) { } 883internal NotSupportedTranslator(params ExpressionType[] nodeTypes) 916protected BinaryTranslator(params ExpressionType[] nodeTypes) 927: base(ExpressionType.Coalesce) { } 950: base(ExpressionType.AndAlso) { } 959: base(ExpressionType.OrElse) { } 968: base(ExpressionType.LessThan) { } 977: base(ExpressionType.LessThanOrEqual) { } 986: base(ExpressionType.GreaterThan) { } 995: base(ExpressionType.GreaterThanOrEqual) { } 1004: base(ExpressionType.Equal) { } 1046if (ExpressionType.Constant != expression.NodeType) { return false; } 1053while (ExpressionType.Convert == input.NodeType) 1063: base(ExpressionType.NotEqual) { } 1078: base(ExpressionType.TypeIs) { } 1083TypeUsage toType = parent.GetIsOrAsTargetType(fromType, ExpressionType.TypeIs, linq.TypeOperand, linq.Expression.Type); 1093: base(ExpressionType.Add, ExpressionType.AddChecked) { } 1111: base(ExpressionType.Divide) { } 1120: base(ExpressionType.Modulo) { } 1129: base(ExpressionType.Multiply, ExpressionType.MultiplyChecked) { } 1138: base(ExpressionType.Subtract, ExpressionType.SubtractChecked) { } 1147: base(ExpressionType.Negate, ExpressionType.NegateChecked) { } 1156: base(ExpressionType.UnaryPlus) { } 1170protected BitwiseBinaryTranslator(ExpressionType nodeType, string canonicalFunctionName) 1195: base(ExpressionType.And, ExpressionConverter.BitwiseAnd) { } 1204: base(ExpressionType.Or, ExpressionConverter.BitwiseOr) { } 1213: base(ExpressionType.ExclusiveOr, ExpressionConverter.BitwiseXor) { } 1226: base(ExpressionType.Not) { } 1243protected UnaryTranslator(params ExpressionType[] nodeTypes) 1254: base(ExpressionType.Quote) { } 1265: base(ExpressionType.Convert, ExpressionType.ConvertChecked) { } 1277: base(ExpressionType.TypeAs) { } 1281TypeUsage toType = parent.GetIsOrAsTargetType(fromType, ExpressionType.TypeAs, unary.Type, unary.Operand.Type);
System\Data\Objects\ObjectContext.cs (3)
846while (body.NodeType == ExpressionType.Convert || body.NodeType == ExpressionType.ConvertChecked) 855bodyAsMember.Expression.NodeType != ExpressionType.Parameter)
System.Data.Linq (148)
DataServices.cs (4)
497if (quote == null || quote.NodeType != ExpressionType.Quote) 545case ExpressionType.And: 548case ExpressionType.Equal: 559memex.Expression.NodeType != ExpressionType.Parameter || memex.Expression.Type != type.Type) {
DataShape.cs (5)
66while (op.NodeType == ExpressionType.Convert || op.NodeType == ExpressionType.ConvertChecked) { 167if (body != null && (body.NodeType == ExpressionType.Convert || body.NodeType == ExpressionType.ConvertChecked)) 173if (mex != null && mex.Expression.NodeType == ExpressionType.Parameter)
SqlClient\Common\Expressions.cs (1)
22: base ((ExpressionType)nt, type) {
SqlClient\Query\Funcletizer.cs (58)
35if (exp.NodeType == (ExpressionType)InternalExpressionType.Known) { 42if (e.NodeType == ExpressionType.Constant) { 45else if (e.NodeType == ExpressionType.Convert || e.NodeType == ExpressionType.ConvertChecked) { 49return (e.NodeType == ExpressionType.Convert) ? Expression.Convert(local, e.Type) : Expression.ConvertChecked(local, e.Type); 52if (ue.Operand.NodeType == ExpressionType.Constant) { 104case (ExpressionType)InternalExpressionType.Known: 106case (ExpressionType)ExpressionType.Constant: 112&& expression.NodeType != ExpressionType.Lambda 113&& expression.NodeType != ExpressionType.Quote 150case ExpressionType.Negate: 151case ExpressionType.NegateChecked: 152case ExpressionType.Not: 153case ExpressionType.Convert: 154case ExpressionType.ConvertChecked: 155case ExpressionType.ArrayLength: 156case ExpressionType.Quote: 157case ExpressionType.TypeAs: 159case ExpressionType.Add: 160case ExpressionType.AddChecked: 161case ExpressionType.Subtract: 162case ExpressionType.SubtractChecked: 163case ExpressionType.Multiply: 164case ExpressionType.MultiplyChecked: 165case ExpressionType.Divide: 166case ExpressionType.Modulo: 167case ExpressionType.Power: 168case ExpressionType.And: 169case ExpressionType.AndAlso: 170case ExpressionType.Or: 171case ExpressionType.OrElse: 172case ExpressionType.LessThan: 173case ExpressionType.LessThanOrEqual: 174case ExpressionType.GreaterThan: 175case ExpressionType.GreaterThanOrEqual: 176case ExpressionType.Equal: 177case ExpressionType.NotEqual: 178case ExpressionType.Coalesce: 179case ExpressionType.ArrayIndex: 180case ExpressionType.RightShift: 181case ExpressionType.LeftShift: 182case ExpressionType.ExclusiveOr: 184case ExpressionType.TypeIs: 186case ExpressionType.Conditional: 188case ExpressionType.Constant: 190case ExpressionType.Parameter: 192case ExpressionType.MemberAccess: 194case ExpressionType.Call: 196case ExpressionType.Lambda: 198case ExpressionType.New: 200case ExpressionType.NewArrayInit: 201case ExpressionType.NewArrayBounds: 203case ExpressionType.Invoke: 205case ExpressionType.MemberInit: 207case ExpressionType.ListInit: 209case ExpressionType.UnaryPlus: 426if (na.NodeType == ExpressionType.NewArrayInit) {
SqlClient\Query\QueryConverter.cs (78)
155case ExpressionType.New: 157case ExpressionType.MemberInit: 159case ExpressionType.Negate: 160case ExpressionType.NegateChecked: 161case ExpressionType.Not: 163case ExpressionType.UnaryPlus: 167case ExpressionType.Add: 168case ExpressionType.AddChecked: 169case ExpressionType.Subtract: 170case ExpressionType.SubtractChecked: 171case ExpressionType.Multiply: 172case ExpressionType.MultiplyChecked: 173case ExpressionType.Divide: 174case ExpressionType.Modulo: 175case ExpressionType.And: 176case ExpressionType.AndAlso: 177case ExpressionType.Or: 178case ExpressionType.OrElse: 179case ExpressionType.Power: 180case ExpressionType.LessThan: 181case ExpressionType.LessThanOrEqual: 182case ExpressionType.GreaterThan: 183case ExpressionType.GreaterThanOrEqual: 184case ExpressionType.Equal: 185case ExpressionType.NotEqual: 186case ExpressionType.Coalesce: 187case ExpressionType.ExclusiveOr: 189case ExpressionType.ArrayIndex: 191case ExpressionType.TypeIs: 193case ExpressionType.Convert: 194case ExpressionType.ConvertChecked: 196case ExpressionType.TypeAs: 198case ExpressionType.Conditional: 200case ExpressionType.Constant: 202case ExpressionType.Parameter: 204case ExpressionType.MemberAccess: 206case ExpressionType.Call: 208case ExpressionType.ArrayLength: 210case ExpressionType.NewArrayInit: 212case ExpressionType.ListInit: 214case ExpressionType.Quote: 216case ExpressionType.Invoke: 218case ExpressionType.Lambda: 220case ExpressionType.RightShift: 221case ExpressionType.LeftShift: 223case (ExpressionType)InternalExpressionType.Known: 225case (ExpressionType)InternalExpressionType.LinkedTable: 293if (fex.NodeType != ExpressionType.Constant || 324(invoke.Expression.NodeType == ExpressionType.Quote) 618case ExpressionType.TypeIs: 1275case ExpressionType.Negate: 1276case ExpressionType.NegateChecked: 1279case ExpressionType.Not: 1287case ExpressionType.TypeAs: 1307case ExpressionType.Add: 1308case ExpressionType.AddChecked: 1311case ExpressionType.Subtract: 1312case ExpressionType.SubtractChecked: 1315case ExpressionType.Multiply: 1316case ExpressionType.MultiplyChecked: 1319case ExpressionType.Divide: 1322case ExpressionType.Modulo: 1325case ExpressionType.And: 1333case ExpressionType.AndAlso: 1336case ExpressionType.Or: 1344case ExpressionType.OrElse: 1347case ExpressionType.LessThan: 1350case ExpressionType.LessThanOrEqual: 1353case ExpressionType.GreaterThan: 1356case ExpressionType.GreaterThanOrEqual: 1359case ExpressionType.Equal: 1362case ExpressionType.NotEqual: 1365case ExpressionType.ExclusiveOr: 1368case ExpressionType.Coalesce: 1973while (expression.NodeType == ExpressionType.Quote) { 1980return this.RemoveQuotes(expression).NodeType == ExpressionType.Lambda; 2506while (exp.NodeType == ExpressionType.Convert || exp.NodeType == ExpressionType.ConvertChecked) {
SqlClient\Reader\ObjectReaderCompiler.cs (2)
388if (node.SourceExpression.NodeType != ExpressionType.NewArrayInit && 389node.SourceExpression.NodeType != ExpressionType.NewArrayBounds) {
System.Data.Services (88)
parent\Client\System\Data\Services\Client\ALinq\ALinqExpressionVisitor.cs (48)
108case ExpressionType.UnaryPlus: 109case ExpressionType.Negate: 110case ExpressionType.NegateChecked: 111case ExpressionType.Not: 112case ExpressionType.Convert: 113case ExpressionType.ConvertChecked: 114case ExpressionType.ArrayLength: 115case ExpressionType.Quote: 116case ExpressionType.TypeAs: 118case ExpressionType.Add: 119case ExpressionType.AddChecked: 120case ExpressionType.Subtract: 121case ExpressionType.SubtractChecked: 122case ExpressionType.Multiply: 123case ExpressionType.MultiplyChecked: 124case ExpressionType.Divide: 125case ExpressionType.Modulo: 127case ExpressionType.Power: 129case ExpressionType.And: 130case ExpressionType.AndAlso: 131case ExpressionType.Or: 132case ExpressionType.OrElse: 133case ExpressionType.LessThan: 134case ExpressionType.LessThanOrEqual: 135case ExpressionType.GreaterThan: 136case ExpressionType.GreaterThanOrEqual: 137case ExpressionType.Equal: 138case ExpressionType.NotEqual: 139case ExpressionType.Coalesce: 140case ExpressionType.ArrayIndex: 141case ExpressionType.RightShift: 142case ExpressionType.LeftShift: 143case ExpressionType.ExclusiveOr: 145case ExpressionType.TypeIs: 147case ExpressionType.Conditional: 149case ExpressionType.Constant: 151case ExpressionType.Parameter: 153case ExpressionType.MemberAccess: 155case ExpressionType.Call: 157case ExpressionType.Lambda: 159case ExpressionType.New: 161case ExpressionType.NewArrayInit: 162case ExpressionType.NewArrayBounds: 164case ExpressionType.Invoke: 166case ExpressionType.MemberInit: 168case ExpressionType.ListInit: 239if (b.NodeType == ExpressionType.Coalesce && b.Conversion != null) 581if (na.NodeType == ExpressionType.NewArrayInit)
System\Data\Services\ExpandSegment.cs (1)
196if (filter.NodeType != ExpressionType.Lambda)
System\Data\Services\Internal\NeedSkipTokenVisitor.cs (3)
139case ExpressionType.MemberAccess: 140case ExpressionType.Parameter: 155if (m.Member.MemberType != MemberTypes.Property || m.Expression.NodeType != ExpressionType.Parameter)
System\Data\Services\Parsing\FunctionDescription.cs (6)
348Debug.Assert(arguments[0].NodeType == ExpressionType.Constant, "Constant expression expected for argument[0]"); 361Debug.Assert(arguments[1].NodeType == ExpressionType.Constant, "Constant expression expected for argument[1]"); 363Debug.Assert(arguments[2].NodeType == ExpressionType.Constant, "Constant expression expected for argument[2]"); 414Debug.Assert(arguments[0].NodeType == ExpressionType.Constant, "Constant expression expected for argument[0]"); 427Debug.Assert(arguments[1].NodeType == ExpressionType.Constant, "Constant expression expected for argument[1]"); 429Debug.Assert(arguments[2].NodeType == ExpressionType.Constant, "Constant expression expected for argument[2]");
System\Data\Services\Parsing\RequestQueryParser.cs (24)
345if (e.NodeType != ExpressionType.Constant) 1236case ExpressionType.Call: 1239case ExpressionType.Negate: 1240case ExpressionType.Not: 1243case ExpressionType.Add: 1244case ExpressionType.AndAlso: 1245case ExpressionType.Divide: 1246case ExpressionType.Equal: 1247case ExpressionType.GreaterThan: 1248case ExpressionType.GreaterThanOrEqual: 1249case ExpressionType.LessThan: 1250case ExpressionType.LessThanOrEqual: 1251case ExpressionType.Modulo: 1252case ExpressionType.Multiply: 1253case ExpressionType.NotEqual: 1254case ExpressionType.OrElse: 1255case ExpressionType.Subtract: 1258case ExpressionType.Conditional: 1262case ExpressionType.Convert: 1263case ExpressionType.Constant: 1264case ExpressionType.MemberAccess: 1265case ExpressionType.TypeIs: 1282while (input.NodeType == ExpressionType.Convert && input.Type == typeof(object)) 1981Debug.Assert(candidateTypeArgument.NodeType == ExpressionType.Constant, "Non-constant in type name for a cast?");
System\Data\Services\Providers\BasicExpandProvider.cs (5)
1156LambdaExpression selector = call.Arguments[1].NodeType == ExpressionType.Quote ? 1921case ExpressionType.Convert: 1922case ExpressionType.ConvertChecked: 1923case ExpressionType.Quote: 1924case ExpressionType.TypeAs:
System\Data\Services\WebUtil.cs (1)
888(expression.NodeType == ExpressionType.Constant && ((ConstantExpression)expression).Value == null);
System.Data.Services.Client (154)
System\Data\Services\Client\ALinq\ALinqExpressionVisitor.cs (47)
108case ExpressionType.UnaryPlus: 109case ExpressionType.Negate: 110case ExpressionType.NegateChecked: 111case ExpressionType.Not: 112case ExpressionType.Convert: 113case ExpressionType.ConvertChecked: 114case ExpressionType.ArrayLength: 115case ExpressionType.Quote: 116case ExpressionType.TypeAs: 118case ExpressionType.Add: 119case ExpressionType.AddChecked: 120case ExpressionType.Subtract: 121case ExpressionType.SubtractChecked: 122case ExpressionType.Multiply: 123case ExpressionType.MultiplyChecked: 124case ExpressionType.Divide: 125case ExpressionType.Modulo: 129case ExpressionType.And: 130case ExpressionType.AndAlso: 131case ExpressionType.Or: 132case ExpressionType.OrElse: 133case ExpressionType.LessThan: 134case ExpressionType.LessThanOrEqual: 135case ExpressionType.GreaterThan: 136case ExpressionType.GreaterThanOrEqual: 137case ExpressionType.Equal: 138case ExpressionType.NotEqual: 139case ExpressionType.Coalesce: 140case ExpressionType.ArrayIndex: 141case ExpressionType.RightShift: 142case ExpressionType.LeftShift: 143case ExpressionType.ExclusiveOr: 145case ExpressionType.TypeIs: 147case ExpressionType.Conditional: 149case ExpressionType.Constant: 151case ExpressionType.Parameter: 153case ExpressionType.MemberAccess: 155case ExpressionType.Call: 157case ExpressionType.Lambda: 159case ExpressionType.New: 161case ExpressionType.NewArrayInit: 162case ExpressionType.NewArrayBounds: 164case ExpressionType.Invoke: 166case ExpressionType.MemberInit: 168case ExpressionType.ListInit: 239if (b.NodeType == ExpressionType.Coalesce && b.Conversion != null) 581if (na.NodeType == ExpressionType.NewArrayInit)
System\Data\Services\Client\ALinq\Evaluator.cs (4)
99return expression.NodeType != ExpressionType.Parameter && 100expression.NodeType != ExpressionType.Lambda && 101expression.NodeType != (ExpressionType) ResourceExpressionType.RootResourceSet; 158if (e.NodeType == ExpressionType.Constant)
System\Data\Services\Client\ALinq\ExpressionNormalizer.cs (22)
115if (visited.NodeType == ExpressionType.Equal) 121visited = CreateRelationalOperator(ExpressionType.Equal, normalizedLeft, normalizedRight); 170if ((visited.NodeType == ExpressionType.Convert || visited.NodeType == ExpressionType.TypeAs) && visited.Type.IsAssignableFrom(visited.Operand.Type)) 195if (input.NodeType == ExpressionType.Constant && input.Type == typeof(object)) 208while (ExpressionType.Convert == input.NodeType && typeof(object) == input.Type) 221return expression.NodeType == ExpressionType.Constant && 349return CreateRelationalOperator(ExpressionType.Equal, visited.Object, visited.Arguments[0]); 471if (expression.NodeType == ExpressionType.Quote) 481else if (expression.NodeType == ExpressionType.Lambda) 489if (lambda.Body.NodeType == ExpressionType.Coalesce && lambda.Body.Type == typeof(bool)) 492if (coalesce.Right.NodeType == ExpressionType.Constant && false.Equals(((ConstantExpression)coalesce.Right).Value)) 518private static BinaryExpression CreateRelationalOperator(ExpressionType op, Expression left, Expression right) 533private static bool TryCreateRelationalOperator(ExpressionType op, Expression left, Expression right, out BinaryExpression result) 539case ExpressionType.Equal: 543case ExpressionType.NotEqual: 547case ExpressionType.LessThan: 551case ExpressionType.LessThanOrEqual: 555case ExpressionType.GreaterThan: 559case ExpressionType.GreaterThanOrEqual: 582CreateRelationalOperator(ExpressionType.Equal, left, right), 585CreateRelationalOperator(ExpressionType.GreaterThan, left, right),
System\Data\Services\Client\ALinq\ExpressionWriter.cs (31)
180if (this.parent == null || this.parent.NodeType != ExpressionType.MemberAccess) 315case ExpressionType.Not: 320case ExpressionType.Negate: 321case ExpressionType.NegateChecked: 326case ExpressionType.Convert: 327case ExpressionType.ConvertChecked: 352case ExpressionType.UnaryPlus: 374case ExpressionType.AndAlso: 375case ExpressionType.And: 378case ExpressionType.OrElse: 379case ExpressionType.Or: 382case ExpressionType.Equal: 385case ExpressionType.NotEqual: 388case ExpressionType.LessThan: 391case ExpressionType.LessThanOrEqual: 394case ExpressionType.GreaterThan: 397case ExpressionType.GreaterThanOrEqual: 400case ExpressionType.Add: 401case ExpressionType.AddChecked: 404case ExpressionType.Subtract: 405case ExpressionType.SubtractChecked: 408case ExpressionType.Multiply: 409case ExpressionType.MultiplyChecked: 412case ExpressionType.Divide: 415case ExpressionType.Modulo: 418case ExpressionType.ArrayIndex: 419case ExpressionType.Power: 420case ExpressionType.Coalesce: 421case ExpressionType.ExclusiveOr: 422case ExpressionType.LeftShift: 423case ExpressionType.RightShift:
System\Data\Services\Client\ALinq\FilterQueryOptionExpression.cs (1)
31: base((ExpressionType)ResourceExpressionType.FilterQueryOption, type)
System\Data\Services\Client\ALinq\InputBinder.cs (1)
121if (memberRef.Expression.NodeType == ExpressionType.Parameter)
System\Data\Services\Client\ALinq\InputReferenceExpression.cs (1)
42: base((ExpressionType)ResourceExpressionType.InputReference, target.ResourceType)
System\Data\Services\Client\ALinq\NavigationPropertySingletonExpression.cs (1)
48: base(source, (ExpressionType)ResourceExpressionType.ResourceNavigationPropertySingleton, type, expandPaths, countOption, customQueryOptions, projection)
System\Data\Services\Client\ALinq\OrderByQueryOptionExpression.cs (1)
31: base((ExpressionType)ResourceExpressionType.OrderByQueryOption, type)
System\Data\Services\Client\ALinq\ProjectionAnalyzer.cs (12)
49if (le.Body.NodeType == ExpressionType.Constant) 60if (le.Body.NodeType == ExpressionType.MemberInit || le.Body.NodeType == ExpressionType.New) 70if (withoutConverts.NodeType == ExpressionType.MemberAccess) 93case ExpressionType.MemberInit: 96case ExpressionType.New: 98case ExpressionType.Constant: 240while (result.NodeType == ExpressionType.Convert || result.NodeType == ExpressionType.ConvertChecked) 354if ((u.NodeType == ExpressionType.Convert) || (u.NodeType == ExpressionType.ConvertChecked)) 477if (e.NodeType != ExpressionType.Constant)
System\Data\Services\Client\ALinq\ProjectionQueryOptionExpression.cs (1)
45: base((ExpressionType)ResourceExpressionType.ProjectionQueryOption, type)
System\Data\Services\Client\ALinq\QueryOptionExpression.cs (1)
28internal QueryOptionExpression(ExpressionType nodeType, Type type) : base(nodeType, type)
System\Data\Services\Client\ALinq\ResourceBinder.cs (17)
833ue.NodeType == ExpressionType.Convert && 1022expression = expression.NodeType == ExpressionType.Quote ? ((UnaryExpression)expression).Operand : expression; 1132case (ExpressionType)ResourceExpressionType.FilterQueryOption: 1146case (ExpressionType)ResourceExpressionType.OrderByQueryOption: 1160case (ExpressionType)ResourceExpressionType.SkipQueryOption: 1349if (expression.NodeType != ExpressionType.Convert && 1350expression.NodeType != ExpressionType.ConvertChecked && 1351expression.NodeType != ExpressionType.TypeAs) 1452return (be != null && (be.NodeType == ExpressionType.And || be.NodeType == ExpressionType.AndAlso)); 1709if (resultSelector.Body.NodeType != ExpressionType.New) 1898return expression.NodeType == ExpressionType.Not; 2001if (assigned.NodeType != member.NodeType || assigned.NodeType != ExpressionType.MemberAccess) 2040return (PatternRules.MatchBinaryExpression(e) && ((BinaryExpression)e).NodeType == ExpressionType.Equal); 2045if (e.NodeType == ExpressionType.Add) 2116if (test.NodeType == ExpressionType.NotEqual) 2120else if (test.NodeType != ExpressionType.Equal)
System\Data\Services\Client\ALinq\ResourceExpression.cs (1)
72internal ResourceExpression(Expression source, ExpressionType nodeType, Type type, List<string> expandPaths, CountOption countOption, Dictionary<ConstantExpression, ConstantExpression> customQueryOptions, ProjectionQueryOptionExpression projection)
System\Data\Services\Client\ALinq\ResourceSetExpression.cs (2)
62: base(source, source != null ? (ExpressionType)ResourceExpressionType.ResourceNavigationProperty : (ExpressionType)ResourceExpressionType.RootResourceSet, type, expandPaths, countOption, customQueryOptions, projection)
System\Data\Services\Client\ALinq\SkipQueryOptionExpression.cs (1)
33: base((ExpressionType)ResourceExpressionType.SkipQueryOption, type)
System\Data\Services\Client\ALinq\TakeQueryOptionExpression.cs (1)
33: base((ExpressionType)ResourceExpressionType.TakeQueryOption, type)
System\Data\Services\Client\MemberAssignmentAnalysis.cs (1)
325if (p.NodeType != ExpressionType.MemberAccess)
System\Data\Services\Client\ProjectionPathBuilder.cs (1)
172while (expression.NodeType == ExpressionType.MemberAccess)
System\Data\Services\Client\ProjectionPlanCompiler.cs (7)
81projection.Body.NodeType == ExpressionType.Constant || 82projection.Body.NodeType == ExpressionType.MemberInit || 83projection.Body.NodeType == ExpressionType.MemberAccess || 84projection.Body.NodeType == ExpressionType.Convert || 85projection.Body.NodeType == ExpressionType.ConvertChecked || 86projection.Body.NodeType == ExpressionType.New, 598assignment.Expression.NodeType == ExpressionType.MemberInit))
System.Web (1)
Util\QueryableUtility.cs (1)
11if (expression.NodeType == ExpressionType.Call) {