477 references to PREDEFMETH
Microsoft.CSharp (477)
Microsoft\CSharp\RuntimeBinder\ExpressionTreeCallRewriter.cs (251)
59
Debug.Assert(((ExprCall)binOp.OptionalRightChild).PredefinedMethod ==
PREDEFMETH
.PM_EXPRESSION_LAMBDA);
78
Debug.Assert(call?.PredefinedMethod ==
PREDEFMETH
.PM_EXPRESSION_PARAMETER);
92
if (pExpr.PredefinedMethod ==
PREDEFMETH
.PM_COUNT)
100
case
PREDEFMETH
.PM_EXPRESSION_LAMBDA:
103
case
PREDEFMETH
.PM_EXPRESSION_CALL:
107
case
PREDEFMETH
.PM_EXPRESSION_ARRAYINDEX:
108
case
PREDEFMETH
.PM_EXPRESSION_ARRAYINDEX2:
112
case
PREDEFMETH
.PM_EXPRESSION_CONVERT:
113
case
PREDEFMETH
.PM_EXPRESSION_CONVERT_USER_DEFINED:
114
case
PREDEFMETH
.PM_EXPRESSION_CONVERTCHECKED:
115
case
PREDEFMETH
.PM_EXPRESSION_CONVERTCHECKED_USER_DEFINED:
119
case
PREDEFMETH
.PM_EXPRESSION_PROPERTY:
123
case
PREDEFMETH
.PM_EXPRESSION_FIELD:
127
case
PREDEFMETH
.PM_EXPRESSION_INVOKE:
131
case
PREDEFMETH
.PM_EXPRESSION_NEW:
135
case
PREDEFMETH
.PM_EXPRESSION_ADD:
136
case
PREDEFMETH
.PM_EXPRESSION_AND:
137
case
PREDEFMETH
.PM_EXPRESSION_DIVIDE:
138
case
PREDEFMETH
.PM_EXPRESSION_EQUAL:
139
case
PREDEFMETH
.PM_EXPRESSION_EXCLUSIVEOR:
140
case
PREDEFMETH
.PM_EXPRESSION_GREATERTHAN:
141
case
PREDEFMETH
.PM_EXPRESSION_GREATERTHANOREQUAL:
142
case
PREDEFMETH
.PM_EXPRESSION_LEFTSHIFT:
143
case
PREDEFMETH
.PM_EXPRESSION_LESSTHAN:
144
case
PREDEFMETH
.PM_EXPRESSION_LESSTHANOREQUAL:
145
case
PREDEFMETH
.PM_EXPRESSION_MODULO:
146
case
PREDEFMETH
.PM_EXPRESSION_MULTIPLY:
147
case
PREDEFMETH
.PM_EXPRESSION_NOTEQUAL:
148
case
PREDEFMETH
.PM_EXPRESSION_OR:
149
case
PREDEFMETH
.PM_EXPRESSION_RIGHTSHIFT:
150
case
PREDEFMETH
.PM_EXPRESSION_SUBTRACT:
151
case
PREDEFMETH
.PM_EXPRESSION_ORELSE:
152
case
PREDEFMETH
.PM_EXPRESSION_ANDALSO:
154
case
PREDEFMETH
.PM_EXPRESSION_ADDCHECKED:
155
case
PREDEFMETH
.PM_EXPRESSION_MULTIPLYCHECKED:
156
case
PREDEFMETH
.PM_EXPRESSION_SUBTRACTCHECKED:
160
case
PREDEFMETH
.PM_EXPRESSION_ADD_USER_DEFINED:
161
case
PREDEFMETH
.PM_EXPRESSION_AND_USER_DEFINED:
162
case
PREDEFMETH
.PM_EXPRESSION_DIVIDE_USER_DEFINED:
163
case
PREDEFMETH
.PM_EXPRESSION_EQUAL_USER_DEFINED:
164
case
PREDEFMETH
.PM_EXPRESSION_EXCLUSIVEOR_USER_DEFINED:
165
case
PREDEFMETH
.PM_EXPRESSION_GREATERTHAN_USER_DEFINED:
166
case
PREDEFMETH
.PM_EXPRESSION_GREATERTHANOREQUAL_USER_DEFINED:
167
case
PREDEFMETH
.PM_EXPRESSION_LEFTSHIFT_USER_DEFINED:
168
case
PREDEFMETH
.PM_EXPRESSION_LESSTHAN_USER_DEFINED:
169
case
PREDEFMETH
.PM_EXPRESSION_LESSTHANOREQUAL_USER_DEFINED:
170
case
PREDEFMETH
.PM_EXPRESSION_MODULO_USER_DEFINED:
171
case
PREDEFMETH
.PM_EXPRESSION_MULTIPLY_USER_DEFINED:
172
case
PREDEFMETH
.PM_EXPRESSION_NOTEQUAL_USER_DEFINED:
173
case
PREDEFMETH
.PM_EXPRESSION_OR_USER_DEFINED:
174
case
PREDEFMETH
.PM_EXPRESSION_RIGHTSHIFT_USER_DEFINED:
175
case
PREDEFMETH
.PM_EXPRESSION_SUBTRACT_USER_DEFINED:
176
case
PREDEFMETH
.PM_EXPRESSION_ORELSE_USER_DEFINED:
177
case
PREDEFMETH
.PM_EXPRESSION_ANDALSO_USER_DEFINED:
179
case
PREDEFMETH
.PM_EXPRESSION_ADDCHECKED_USER_DEFINED:
180
case
PREDEFMETH
.PM_EXPRESSION_MULTIPLYCHECKED_USER_DEFINED:
181
case
PREDEFMETH
.PM_EXPRESSION_SUBTRACTCHECKED_USER_DEFINED:
185
case
PREDEFMETH
.PM_EXPRESSION_NEGATE:
186
case
PREDEFMETH
.PM_EXPRESSION_NOT:
187
case
PREDEFMETH
.PM_EXPRESSION_NEGATECHECKED:
191
case
PREDEFMETH
.PM_EXPRESSION_UNARYPLUS_USER_DEFINED:
192
case
PREDEFMETH
.PM_EXPRESSION_NEGATE_USER_DEFINED:
193
case
PREDEFMETH
.PM_EXPRESSION_NOT_USER_DEFINED:
194
case
PREDEFMETH
.PM_EXPRESSION_NEGATECHECKED_USER_DEFINED:
198
case
PREDEFMETH
.PM_EXPRESSION_CONSTANT_OBJECT_TYPE:
202
case
PREDEFMETH
.PM_EXPRESSION_ASSIGN:
301
if (pExpr.PredefinedMethod ==
PREDEFMETH
.PM_EXPRESSION_ARRAYINDEX)
307
Debug.Assert(pExpr.PredefinedMethod ==
PREDEFMETH
.PM_EXPRESSION_ARRAYINDEX2);
318
PREDEFMETH
pm = pExpr.PredefinedMethod;
322
if (pm ==
PREDEFMETH
.PM_EXPRESSION_CONVERT_USER_DEFINED ||
323
pm ==
PREDEFMETH
.PM_EXPRESSION_CONVERTCHECKED_USER_DEFINED)
344
if (pm ==
PREDEFMETH
.PM_EXPRESSION_CONVERT_USER_DEFINED)
352
Debug.Assert(pm ==
PREDEFMETH
.PM_EXPRESSION_CONVERT ||
353
pm ==
PREDEFMETH
.PM_EXPRESSION_CONVERTCHECKED);
375
if (pm ==
PREDEFMETH
.PM_EXPRESSION_CONVERT)
508
case
PREDEFMETH
.PM_EXPRESSION_ADD:
510
case
PREDEFMETH
.PM_EXPRESSION_AND:
512
case
PREDEFMETH
.PM_EXPRESSION_DIVIDE:
514
case
PREDEFMETH
.PM_EXPRESSION_EQUAL:
516
case
PREDEFMETH
.PM_EXPRESSION_EXCLUSIVEOR:
518
case
PREDEFMETH
.PM_EXPRESSION_GREATERTHAN:
520
case
PREDEFMETH
.PM_EXPRESSION_GREATERTHANOREQUAL:
522
case
PREDEFMETH
.PM_EXPRESSION_LEFTSHIFT:
524
case
PREDEFMETH
.PM_EXPRESSION_LESSTHAN:
526
case
PREDEFMETH
.PM_EXPRESSION_LESSTHANOREQUAL:
528
case
PREDEFMETH
.PM_EXPRESSION_MODULO:
530
case
PREDEFMETH
.PM_EXPRESSION_MULTIPLY:
532
case
PREDEFMETH
.PM_EXPRESSION_NOTEQUAL:
534
case
PREDEFMETH
.PM_EXPRESSION_OR:
536
case
PREDEFMETH
.PM_EXPRESSION_RIGHTSHIFT:
538
case
PREDEFMETH
.PM_EXPRESSION_SUBTRACT:
540
case
PREDEFMETH
.PM_EXPRESSION_ORELSE:
542
case
PREDEFMETH
.PM_EXPRESSION_ANDALSO:
546
case
PREDEFMETH
.PM_EXPRESSION_ADDCHECKED:
548
case
PREDEFMETH
.PM_EXPRESSION_MULTIPLYCHECKED:
550
case
PREDEFMETH
.PM_EXPRESSION_SUBTRACTCHECKED:
585
case
PREDEFMETH
.PM_EXPRESSION_ADD_USER_DEFINED:
587
case
PREDEFMETH
.PM_EXPRESSION_AND_USER_DEFINED:
589
case
PREDEFMETH
.PM_EXPRESSION_DIVIDE_USER_DEFINED:
591
case
PREDEFMETH
.PM_EXPRESSION_EQUAL_USER_DEFINED:
593
case
PREDEFMETH
.PM_EXPRESSION_EXCLUSIVEOR_USER_DEFINED:
595
case
PREDEFMETH
.PM_EXPRESSION_GREATERTHAN_USER_DEFINED:
597
case
PREDEFMETH
.PM_EXPRESSION_GREATERTHANOREQUAL_USER_DEFINED:
599
case
PREDEFMETH
.PM_EXPRESSION_LEFTSHIFT_USER_DEFINED:
601
case
PREDEFMETH
.PM_EXPRESSION_LESSTHAN_USER_DEFINED:
603
case
PREDEFMETH
.PM_EXPRESSION_LESSTHANOREQUAL_USER_DEFINED:
605
case
PREDEFMETH
.PM_EXPRESSION_MODULO_USER_DEFINED:
607
case
PREDEFMETH
.PM_EXPRESSION_MULTIPLY_USER_DEFINED:
609
case
PREDEFMETH
.PM_EXPRESSION_NOTEQUAL_USER_DEFINED:
611
case
PREDEFMETH
.PM_EXPRESSION_OR_USER_DEFINED:
613
case
PREDEFMETH
.PM_EXPRESSION_RIGHTSHIFT_USER_DEFINED:
615
case
PREDEFMETH
.PM_EXPRESSION_SUBTRACT_USER_DEFINED:
617
case
PREDEFMETH
.PM_EXPRESSION_ORELSE_USER_DEFINED:
619
case
PREDEFMETH
.PM_EXPRESSION_ANDALSO_USER_DEFINED:
623
case
PREDEFMETH
.PM_EXPRESSION_ADDCHECKED_USER_DEFINED:
625
case
PREDEFMETH
.PM_EXPRESSION_MULTIPLYCHECKED_USER_DEFINED:
627
case
PREDEFMETH
.PM_EXPRESSION_SUBTRACTCHECKED_USER_DEFINED:
641
PREDEFMETH
pm = pExpr.PredefinedMethod;
646
case
PREDEFMETH
.PM_EXPRESSION_NOT:
649
case
PREDEFMETH
.PM_EXPRESSION_NEGATE:
652
case
PREDEFMETH
.PM_EXPRESSION_NEGATECHECKED:
666
PREDEFMETH
pm = pExpr.PredefinedMethod;
673
case
PREDEFMETH
.PM_EXPRESSION_NOT_USER_DEFINED:
676
case
PREDEFMETH
.PM_EXPRESSION_NEGATE_USER_DEFINED:
679
case
PREDEFMETH
.PM_EXPRESSION_UNARYPLUS_USER_DEFINED:
682
case
PREDEFMETH
.PM_EXPRESSION_NEGATECHECKED_USER_DEFINED:
712
PREDEFMETH
pm = call.PredefinedMethod;
713
Debug.Assert(pm ==
PREDEFMETH
.PM_EXPRESSION_CONVERT ||
714
pm ==
PREDEFMETH
.PM_EXPRESSION_CONVERT_USER_DEFINED ||
715
pm ==
PREDEFMETH
.PM_EXPRESSION_NEWARRAYINIT ||
716
pm ==
PREDEFMETH
.PM_EXPRESSION_CALL ||
717
pm ==
PREDEFMETH
.PM_EXPRESSION_PROPERTY ||
718
pm ==
PREDEFMETH
.PM_EXPRESSION_FIELD ||
719
pm ==
PREDEFMETH
.PM_EXPRESSION_ARRAYINDEX ||
720
pm ==
PREDEFMETH
.PM_EXPRESSION_ARRAYINDEX2 ||
721
pm ==
PREDEFMETH
.PM_EXPRESSION_CONSTANT_OBJECT_TYPE ||
722
pm ==
PREDEFMETH
.PM_EXPRESSION_NEW ||
725
pm ==
PREDEFMETH
.PM_EXPRESSION_ASSIGN ||
726
pm ==
PREDEFMETH
.PM_EXPRESSION_ADD ||
727
pm ==
PREDEFMETH
.PM_EXPRESSION_AND ||
728
pm ==
PREDEFMETH
.PM_EXPRESSION_DIVIDE ||
729
pm ==
PREDEFMETH
.PM_EXPRESSION_EQUAL ||
730
pm ==
PREDEFMETH
.PM_EXPRESSION_EXCLUSIVEOR ||
731
pm ==
PREDEFMETH
.PM_EXPRESSION_GREATERTHAN ||
732
pm ==
PREDEFMETH
.PM_EXPRESSION_GREATERTHANOREQUAL ||
733
pm ==
PREDEFMETH
.PM_EXPRESSION_LEFTSHIFT ||
734
pm ==
PREDEFMETH
.PM_EXPRESSION_LESSTHAN ||
735
pm ==
PREDEFMETH
.PM_EXPRESSION_LESSTHANOREQUAL ||
736
pm ==
PREDEFMETH
.PM_EXPRESSION_MODULO ||
737
pm ==
PREDEFMETH
.PM_EXPRESSION_MULTIPLY ||
738
pm ==
PREDEFMETH
.PM_EXPRESSION_NOTEQUAL ||
739
pm ==
PREDEFMETH
.PM_EXPRESSION_OR ||
740
pm ==
PREDEFMETH
.PM_EXPRESSION_RIGHTSHIFT ||
741
pm ==
PREDEFMETH
.PM_EXPRESSION_SUBTRACT ||
742
pm ==
PREDEFMETH
.PM_EXPRESSION_ORELSE ||
743
pm ==
PREDEFMETH
.PM_EXPRESSION_ANDALSO ||
744
pm ==
PREDEFMETH
.PM_EXPRESSION_ADD_USER_DEFINED ||
745
pm ==
PREDEFMETH
.PM_EXPRESSION_AND_USER_DEFINED ||
746
pm ==
PREDEFMETH
.PM_EXPRESSION_DIVIDE_USER_DEFINED ||
747
pm ==
PREDEFMETH
.PM_EXPRESSION_EQUAL_USER_DEFINED ||
748
pm ==
PREDEFMETH
.PM_EXPRESSION_EXCLUSIVEOR_USER_DEFINED ||
749
pm ==
PREDEFMETH
.PM_EXPRESSION_GREATERTHAN_USER_DEFINED ||
750
pm ==
PREDEFMETH
.PM_EXPRESSION_GREATERTHANOREQUAL_USER_DEFINED ||
751
pm ==
PREDEFMETH
.PM_EXPRESSION_LEFTSHIFT_USER_DEFINED ||
752
pm ==
PREDEFMETH
.PM_EXPRESSION_LESSTHAN_USER_DEFINED ||
753
pm ==
PREDEFMETH
.PM_EXPRESSION_LESSTHANOREQUAL_USER_DEFINED ||
754
pm ==
PREDEFMETH
.PM_EXPRESSION_MODULO_USER_DEFINED ||
755
pm ==
PREDEFMETH
.PM_EXPRESSION_MULTIPLY_USER_DEFINED ||
756
pm ==
PREDEFMETH
.PM_EXPRESSION_NOTEQUAL_USER_DEFINED ||
757
pm ==
PREDEFMETH
.PM_EXPRESSION_OR_USER_DEFINED ||
758
pm ==
PREDEFMETH
.PM_EXPRESSION_RIGHTSHIFT_USER_DEFINED ||
759
pm ==
PREDEFMETH
.PM_EXPRESSION_SUBTRACT_USER_DEFINED ||
760
pm ==
PREDEFMETH
.PM_EXPRESSION_ORELSE_USER_DEFINED ||
761
pm ==
PREDEFMETH
.PM_EXPRESSION_ANDALSO_USER_DEFINED ||
764
pm ==
PREDEFMETH
.PM_EXPRESSION_ADDCHECKED ||
765
pm ==
PREDEFMETH
.PM_EXPRESSION_MULTIPLYCHECKED ||
766
pm ==
PREDEFMETH
.PM_EXPRESSION_SUBTRACTCHECKED ||
767
pm ==
PREDEFMETH
.PM_EXPRESSION_ADDCHECKED_USER_DEFINED ||
768
pm ==
PREDEFMETH
.PM_EXPRESSION_MULTIPLYCHECKED_USER_DEFINED ||
769
pm ==
PREDEFMETH
.PM_EXPRESSION_SUBTRACTCHECKED_USER_DEFINED ||
772
pm ==
PREDEFMETH
.PM_EXPRESSION_NOT ||
773
pm ==
PREDEFMETH
.PM_EXPRESSION_NEGATE ||
774
pm ==
PREDEFMETH
.PM_EXPRESSION_NOT_USER_DEFINED ||
775
pm ==
PREDEFMETH
.PM_EXPRESSION_NEGATE_USER_DEFINED ||
776
pm ==
PREDEFMETH
.PM_EXPRESSION_UNARYPLUS_USER_DEFINED ||
779
pm ==
PREDEFMETH
.PM_EXPRESSION_NEGATECHECKED ||
780
pm ==
PREDEFMETH
.PM_EXPRESSION_CONVERTCHECKED ||
781
pm ==
PREDEFMETH
.PM_EXPRESSION_NEGATECHECKED_USER_DEFINED ||
782
pm ==
PREDEFMETH
.PM_EXPRESSION_CONVERTCHECKED_USER_DEFINED
787
case
PREDEFMETH
.PM_EXPRESSION_CALL:
790
case
PREDEFMETH
.PM_EXPRESSION_CONVERT:
791
case
PREDEFMETH
.PM_EXPRESSION_CONVERT_USER_DEFINED:
792
case
PREDEFMETH
.PM_EXPRESSION_CONVERTCHECKED:
793
case
PREDEFMETH
.PM_EXPRESSION_CONVERTCHECKED_USER_DEFINED:
796
case
PREDEFMETH
.PM_EXPRESSION_NEWARRAYINIT:
803
case
PREDEFMETH
.PM_EXPRESSION_ARRAYINDEX:
804
case
PREDEFMETH
.PM_EXPRESSION_ARRAYINDEX2:
807
case
PREDEFMETH
.PM_EXPRESSION_NEW:
810
case
PREDEFMETH
.PM_EXPRESSION_PROPERTY:
813
case
PREDEFMETH
.PM_EXPRESSION_FIELD:
816
case
PREDEFMETH
.PM_EXPRESSION_CONSTANT_OBJECT_TYPE:
819
case
PREDEFMETH
.PM_EXPRESSION_ASSIGN:
822
case
PREDEFMETH
.PM_EXPRESSION_ADD:
823
case
PREDEFMETH
.PM_EXPRESSION_AND:
824
case
PREDEFMETH
.PM_EXPRESSION_DIVIDE:
825
case
PREDEFMETH
.PM_EXPRESSION_EQUAL:
826
case
PREDEFMETH
.PM_EXPRESSION_EXCLUSIVEOR:
827
case
PREDEFMETH
.PM_EXPRESSION_GREATERTHAN:
828
case
PREDEFMETH
.PM_EXPRESSION_GREATERTHANOREQUAL:
829
case
PREDEFMETH
.PM_EXPRESSION_LEFTSHIFT:
830
case
PREDEFMETH
.PM_EXPRESSION_LESSTHAN:
831
case
PREDEFMETH
.PM_EXPRESSION_LESSTHANOREQUAL:
832
case
PREDEFMETH
.PM_EXPRESSION_MODULO:
833
case
PREDEFMETH
.PM_EXPRESSION_MULTIPLY:
834
case
PREDEFMETH
.PM_EXPRESSION_NOTEQUAL:
835
case
PREDEFMETH
.PM_EXPRESSION_OR:
836
case
PREDEFMETH
.PM_EXPRESSION_RIGHTSHIFT:
837
case
PREDEFMETH
.PM_EXPRESSION_SUBTRACT:
838
case
PREDEFMETH
.PM_EXPRESSION_ORELSE:
839
case
PREDEFMETH
.PM_EXPRESSION_ANDALSO:
841
case
PREDEFMETH
.PM_EXPRESSION_ADDCHECKED:
842
case
PREDEFMETH
.PM_EXPRESSION_MULTIPLYCHECKED:
843
case
PREDEFMETH
.PM_EXPRESSION_SUBTRACTCHECKED:
846
case
PREDEFMETH
.PM_EXPRESSION_ADD_USER_DEFINED:
847
case
PREDEFMETH
.PM_EXPRESSION_AND_USER_DEFINED:
848
case
PREDEFMETH
.PM_EXPRESSION_DIVIDE_USER_DEFINED:
849
case
PREDEFMETH
.PM_EXPRESSION_EQUAL_USER_DEFINED:
850
case
PREDEFMETH
.PM_EXPRESSION_EXCLUSIVEOR_USER_DEFINED:
851
case
PREDEFMETH
.PM_EXPRESSION_GREATERTHAN_USER_DEFINED:
852
case
PREDEFMETH
.PM_EXPRESSION_GREATERTHANOREQUAL_USER_DEFINED:
853
case
PREDEFMETH
.PM_EXPRESSION_LEFTSHIFT_USER_DEFINED:
854
case
PREDEFMETH
.PM_EXPRESSION_LESSTHAN_USER_DEFINED:
855
case
PREDEFMETH
.PM_EXPRESSION_LESSTHANOREQUAL_USER_DEFINED:
856
case
PREDEFMETH
.PM_EXPRESSION_MODULO_USER_DEFINED:
857
case
PREDEFMETH
.PM_EXPRESSION_MULTIPLY_USER_DEFINED:
858
case
PREDEFMETH
.PM_EXPRESSION_NOTEQUAL_USER_DEFINED:
859
case
PREDEFMETH
.PM_EXPRESSION_OR_USER_DEFINED:
860
case
PREDEFMETH
.PM_EXPRESSION_RIGHTSHIFT_USER_DEFINED:
861
case
PREDEFMETH
.PM_EXPRESSION_SUBTRACT_USER_DEFINED:
862
case
PREDEFMETH
.PM_EXPRESSION_ORELSE_USER_DEFINED:
863
case
PREDEFMETH
.PM_EXPRESSION_ANDALSO_USER_DEFINED:
865
case
PREDEFMETH
.PM_EXPRESSION_ADDCHECKED_USER_DEFINED:
866
case
PREDEFMETH
.PM_EXPRESSION_MULTIPLYCHECKED_USER_DEFINED:
867
case
PREDEFMETH
.PM_EXPRESSION_SUBTRACTCHECKED_USER_DEFINED:
870
case
PREDEFMETH
.PM_EXPRESSION_NOT:
871
case
PREDEFMETH
.PM_EXPRESSION_NEGATE:
872
case
PREDEFMETH
.PM_EXPRESSION_NEGATECHECKED:
875
case
PREDEFMETH
.PM_EXPRESSION_NOT_USER_DEFINED:
876
case
PREDEFMETH
.PM_EXPRESSION_NEGATE_USER_DEFINED:
877
case
PREDEFMETH
.PM_EXPRESSION_UNARYPLUS_USER_DEFINED:
878
case
PREDEFMETH
.PM_EXPRESSION_NEGATECHECKED_USER_DEFINED:
Microsoft\CSharp\RuntimeBinder\Semantics\Nullable.cs (1)
71
MethodSymbol meth = PredefinedMembers.GetMethod(
PREDEFMETH
.PM_G_OPTIONAL_CTOR);
Microsoft\CSharp\RuntimeBinder\Semantics\Operators.cs (16)
1681
PREDEFMETH
predefMeth;
1685
predefMeth =
PREDEFMETH
.PM_DECIMAL_OPINCREMENT;
1690
predefMeth =
PREDEFMETH
.PM_DECIMAL_OPDECREMENT;
1855
PREDEFMETH
predefMeth =
PREDEFMETH
.PM_DECIMAL_OPUNARYMINUS;
1989
PREDEFMETH
predefMeth = ek == ExpressionKind.Eq ?
PREDEFMETH
.PM_STRING_OPEQUALITY :
PREDEFMETH
.PM_STRING_OPINEQUALITY;
2022
PREDEFMETH
predefMeth = (
PREDEFMETH
)0;
2027
predefMeth =
PREDEFMETH
.PM_DELEGATE_COMBINE;
2033
predefMeth =
PREDEFMETH
.PM_DELEGATE_REMOVE;
2039
predefMeth =
PREDEFMETH
.PM_DELEGATE_OPEQUALITY;
2045
predefMeth =
PREDEFMETH
.PM_DELEGATE_OPINEQUALITY;
2789
private static ExprBinOp CreateBinopForPredefMethodCall(ExpressionKind ek,
PREDEFMETH
predefMeth, CType RetType, Expr arg1, Expr arg2)
2805
private static ExprUnaryOp CreateUnaryOpForPredefMethodCall(ExpressionKind ek,
PREDEFMETH
predefMeth, CType pRetType, Expr pArg)
Microsoft\CSharp\RuntimeBinder\Semantics\PredefinedMembers.cs (100)
158
public
PREDEFMETH
method;
166
public PredefinedMethodInfo(
PREDEFMETH
method, PredefinedType type, PredefinedName name, MethodCallingConventionEnum callingConvention, ACCESS access, int cTypeVars, int[] signature)
184
public
PREDEFMETH
getter;
186
public PredefinedPropertyInfo(PREDEFPROP property, PredefinedName name,
PREDEFMETH
getter)
198
private static readonly MethodSymbol[] _methods = new MethodSymbol[(int)
PREDEFMETH
.PM_COUNT];
214
PREDEFMETH
propertyGetter)
217
Debug.Assert(propertyGetter >= 0 && propertyGetter <
PREDEFMETH
.PM_COUNT);
299
for (int i = 0; i < (int)
PREDEFMETH
.PM_COUNT; i++)
301
Debug.Assert((int)GetMethInfo((
PREDEFMETH
)i).method == i);
320
public static MethodSymbol GetMethod(
PREDEFMETH
method)
322
Debug.Assert(method >= 0 && method <
PREDEFMETH
.PM_COUNT);
386
private static MethodSymbol LoadMethod(
PREDEFMETH
method)
399
private static
PREDEFMETH
GetPropGetter(PREDEFPROP property)
401
PREDEFMETH
result = GetPropInfo(property).getter;
404
Debug.Assert(result >= 0 && result <
PREDEFMETH
.PM_COUNT);
417
new PredefinedPropertyInfo(PREDEFPROP.PP_G_OPTIONAL_VALUE, PredefinedName.PN_CAP_VALUE,
PREDEFMETH
.PM_G_OPTIONAL_GETVALUE)
428
private static PredefinedMethodInfo GetMethInfo(
PREDEFMETH
method)
430
Debug.Assert(method >= 0 && method <
PREDEFMETH
.PM_COUNT);
438
private static readonly PredefinedMethodInfo[] s_predefinedMethods = new PredefinedMethodInfo[(int)
PREDEFMETH
.PM_COUNT] {
439
new PredefinedMethodInfo(
PREDEFMETH
.PM_DECIMAL_OPDECREMENT, PredefinedType.PT_DECIMAL, PredefinedName.PN_OPDECREMENT, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_DECIMAL, 1, (int)PredefinedType.PT_DECIMAL }),
440
new PredefinedMethodInfo(
PREDEFMETH
.PM_DECIMAL_OPINCREMENT, PredefinedType.PT_DECIMAL, PredefinedName.PN_OPINCREMENT, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_DECIMAL, 1, (int)PredefinedType.PT_DECIMAL }),
441
new PredefinedMethodInfo(
PREDEFMETH
.PM_DECIMAL_OPUNARYMINUS, PredefinedType.PT_DECIMAL, PredefinedName.PN_OPUNARYMINUS, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_DECIMAL, 1, (int)PredefinedType.PT_DECIMAL }),
442
new PredefinedMethodInfo(
PREDEFMETH
.PM_DELEGATE_COMBINE, PredefinedType.PT_DELEGATE, PredefinedName.PN_COMBINE, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_DELEGATE, 2, (int)PredefinedType.PT_DELEGATE, (int)PredefinedType.PT_DELEGATE }),
443
new PredefinedMethodInfo(
PREDEFMETH
.PM_DELEGATE_OPEQUALITY, PredefinedType.PT_DELEGATE, PredefinedName.PN_OPEQUALITY, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_BOOL, 2, (int)PredefinedType.PT_DELEGATE, (int)PredefinedType.PT_DELEGATE }),
444
new PredefinedMethodInfo(
PREDEFMETH
.PM_DELEGATE_OPINEQUALITY, PredefinedType.PT_DELEGATE, PredefinedName.PN_OPINEQUALITY, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_BOOL, 2, (int)PredefinedType.PT_DELEGATE, (int)PredefinedType.PT_DELEGATE }),
445
new PredefinedMethodInfo(
PREDEFMETH
.PM_DELEGATE_REMOVE, PredefinedType.PT_DELEGATE, PredefinedName.PN_REMOVE, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_DELEGATE, 2, (int)PredefinedType.PT_DELEGATE, (int)PredefinedType.PT_DELEGATE }),
446
new PredefinedMethodInfo(
PREDEFMETH
.PM_EXPRESSION_ADD, PredefinedType.PT_EXPRESSION, PredefinedName.PN_ADD, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_BINARYEXPRESSION, 2, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_EXPRESSION }),
447
new PredefinedMethodInfo(
PREDEFMETH
.PM_EXPRESSION_ADD_USER_DEFINED, PredefinedType.PT_EXPRESSION, PredefinedName.PN_ADD, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_BINARYEXPRESSION, 3, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_METHODINFO }),
448
new PredefinedMethodInfo(
PREDEFMETH
.PM_EXPRESSION_ADDCHECKED, PredefinedType.PT_EXPRESSION, PredefinedName.PN_ADDCHECKED, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_BINARYEXPRESSION, 2, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_EXPRESSION }),
449
new PredefinedMethodInfo(
PREDEFMETH
.PM_EXPRESSION_ADDCHECKED_USER_DEFINED, PredefinedType.PT_EXPRESSION, PredefinedName.PN_ADDCHECKED, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_BINARYEXPRESSION, 3, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_METHODINFO }),
450
new PredefinedMethodInfo(
PREDEFMETH
.PM_EXPRESSION_AND, PredefinedType.PT_EXPRESSION, PredefinedName.PN_AND, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_BINARYEXPRESSION, 2, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_EXPRESSION }),
451
new PredefinedMethodInfo(
PREDEFMETH
.PM_EXPRESSION_AND_USER_DEFINED, PredefinedType.PT_EXPRESSION, PredefinedName.PN_AND, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_BINARYEXPRESSION, 3, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_METHODINFO }),
452
new PredefinedMethodInfo(
PREDEFMETH
.PM_EXPRESSION_ANDALSO, PredefinedType.PT_EXPRESSION, PredefinedName.PN_ANDALSO, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_BINARYEXPRESSION, 2, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_EXPRESSION }),
453
new PredefinedMethodInfo(
PREDEFMETH
.PM_EXPRESSION_ANDALSO_USER_DEFINED, PredefinedType.PT_EXPRESSION, PredefinedName.PN_ANDALSO, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_BINARYEXPRESSION, 3, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_METHODINFO }),
454
new PredefinedMethodInfo(
PREDEFMETH
.PM_EXPRESSION_ARRAYINDEX, PredefinedType.PT_EXPRESSION, PredefinedName.PN_ARRAYINDEX, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_BINARYEXPRESSION, 2, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_EXPRESSION }),
455
new PredefinedMethodInfo(
PREDEFMETH
.PM_EXPRESSION_ARRAYINDEX2, PredefinedType.PT_EXPRESSION, PredefinedName.PN_ARRAYINDEX, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_METHODCALLEXPRESSION, 2, (int)PredefinedType.PT_EXPRESSION, (int)MethodSignatureEnum.SIG_SZ_ARRAY, (int)PredefinedType.PT_EXPRESSION }),
456
new PredefinedMethodInfo(
PREDEFMETH
.PM_EXPRESSION_ASSIGN, PredefinedType.PT_EXPRESSION, PredefinedName.PN_ASSIGN, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_BINARYEXPRESSION, 2, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_EXPRESSION }),
457
new PredefinedMethodInfo(
PREDEFMETH
.PM_EXPRESSION_CONSTANT_OBJECT_TYPE, PredefinedType.PT_EXPRESSION, PredefinedName.PN_CONSTANT, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_CONSTANTEXPRESSION, 2, (int)PredefinedType.PT_OBJECT, (int)PredefinedType.PT_TYPE }),
458
new PredefinedMethodInfo(
PREDEFMETH
.PM_EXPRESSION_CONVERT, PredefinedType.PT_EXPRESSION, PredefinedName.PN_CONVERT, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_UNARYEXPRESSION, 2, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_TYPE }),
459
new PredefinedMethodInfo(
PREDEFMETH
.PM_EXPRESSION_CONVERT_USER_DEFINED, PredefinedType.PT_EXPRESSION, PredefinedName.PN_CONVERT, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_UNARYEXPRESSION, 3, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_TYPE, (int)PredefinedType.PT_METHODINFO }),
460
new PredefinedMethodInfo(
PREDEFMETH
.PM_EXPRESSION_CONVERTCHECKED, PredefinedType.PT_EXPRESSION, PredefinedName.PN_CONVERTCHECKED, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_UNARYEXPRESSION, 2, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_TYPE }),
461
new PredefinedMethodInfo(
PREDEFMETH
.PM_EXPRESSION_CONVERTCHECKED_USER_DEFINED, PredefinedType.PT_EXPRESSION, PredefinedName.PN_CONVERTCHECKED, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_UNARYEXPRESSION, 3, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_TYPE, (int)PredefinedType.PT_METHODINFO }),
462
new PredefinedMethodInfo(
PREDEFMETH
.PM_EXPRESSION_DIVIDE, PredefinedType.PT_EXPRESSION, PredefinedName.PN_DIVIDE, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_BINARYEXPRESSION, 2, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_EXPRESSION }),
463
new PredefinedMethodInfo(
PREDEFMETH
.PM_EXPRESSION_DIVIDE_USER_DEFINED, PredefinedType.PT_EXPRESSION, PredefinedName.PN_DIVIDE, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_BINARYEXPRESSION, 3, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_METHODINFO }),
464
new PredefinedMethodInfo(
PREDEFMETH
.PM_EXPRESSION_EQUAL, PredefinedType.PT_EXPRESSION, PredefinedName.PN_EQUAL, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_BINARYEXPRESSION, 2, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_EXPRESSION }),
465
new PredefinedMethodInfo(
PREDEFMETH
.PM_EXPRESSION_EQUAL_USER_DEFINED, PredefinedType.PT_EXPRESSION, PredefinedName.PN_EQUAL, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_BINARYEXPRESSION, 4, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_BOOL, (int)PredefinedType.PT_METHODINFO }),
466
new PredefinedMethodInfo(
PREDEFMETH
.PM_EXPRESSION_EXCLUSIVEOR, PredefinedType.PT_EXPRESSION, PredefinedName.PN_EXCLUSIVEOR, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_BINARYEXPRESSION, 2, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_EXPRESSION }),
467
new PredefinedMethodInfo(
PREDEFMETH
.PM_EXPRESSION_EXCLUSIVEOR_USER_DEFINED, PredefinedType.PT_EXPRESSION, PredefinedName.PN_EXCLUSIVEOR, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_BINARYEXPRESSION, 3, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_METHODINFO }),
468
new PredefinedMethodInfo(
PREDEFMETH
.PM_EXPRESSION_FIELD, PredefinedType.PT_EXPRESSION, PredefinedName.PN_CAP_FIELD, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_MEMBEREXPRESSION, 2, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_FIELDINFO }),
469
new PredefinedMethodInfo(
PREDEFMETH
.PM_EXPRESSION_GREATERTHAN, PredefinedType.PT_EXPRESSION, PredefinedName.PN_GREATERTHAN, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_BINARYEXPRESSION, 2, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_EXPRESSION }),
470
new PredefinedMethodInfo(
PREDEFMETH
.PM_EXPRESSION_GREATERTHAN_USER_DEFINED, PredefinedType.PT_EXPRESSION, PredefinedName.PN_GREATERTHAN, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_BINARYEXPRESSION, 4, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_BOOL, (int)PredefinedType.PT_METHODINFO }),
471
new PredefinedMethodInfo(
PREDEFMETH
.PM_EXPRESSION_GREATERTHANOREQUAL, PredefinedType.PT_EXPRESSION, PredefinedName.PN_GREATERTHANOREQUAL, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_BINARYEXPRESSION, 2, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_EXPRESSION }),
472
new PredefinedMethodInfo(
PREDEFMETH
.PM_EXPRESSION_GREATERTHANOREQUAL_USER_DEFINED, PredefinedType.PT_EXPRESSION, PredefinedName.PN_GREATERTHANOREQUAL, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_BINARYEXPRESSION, 4, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_BOOL, (int)PredefinedType.PT_METHODINFO }),
473
new PredefinedMethodInfo(
PREDEFMETH
.PM_EXPRESSION_LAMBDA, PredefinedType.PT_EXPRESSION, PredefinedName.PN_LAMBDA, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 1, new int[] { (int)PredefinedType.PT_G_EXPRESSION, (int)MethodSignatureEnum.SIG_METH_TYVAR, 0, 2, (int)PredefinedType.PT_EXPRESSION, (int)MethodSignatureEnum.SIG_SZ_ARRAY, (int)PredefinedType.PT_PARAMETEREXPRESSION }),
474
new PredefinedMethodInfo(
PREDEFMETH
.PM_EXPRESSION_LEFTSHIFT, PredefinedType.PT_EXPRESSION, PredefinedName.PN_LEFTSHIFT, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_BINARYEXPRESSION, 2, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_EXPRESSION }),
475
new PredefinedMethodInfo(
PREDEFMETH
.PM_EXPRESSION_LEFTSHIFT_USER_DEFINED, PredefinedType.PT_EXPRESSION, PredefinedName.PN_LEFTSHIFT, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_BINARYEXPRESSION, 3, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_METHODINFO }),
476
new PredefinedMethodInfo(
PREDEFMETH
.PM_EXPRESSION_LESSTHAN, PredefinedType.PT_EXPRESSION, PredefinedName.PN_LESSTHAN, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_BINARYEXPRESSION, 2, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_EXPRESSION }),
477
new PredefinedMethodInfo(
PREDEFMETH
.PM_EXPRESSION_LESSTHAN_USER_DEFINED, PredefinedType.PT_EXPRESSION, PredefinedName.PN_LESSTHAN, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_BINARYEXPRESSION, 4, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_BOOL, (int)PredefinedType.PT_METHODINFO }),
478
new PredefinedMethodInfo(
PREDEFMETH
.PM_EXPRESSION_LESSTHANOREQUAL, PredefinedType.PT_EXPRESSION, PredefinedName.PN_LESSTHANOREQUAL, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_BINARYEXPRESSION, 2, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_EXPRESSION }),
479
new PredefinedMethodInfo(
PREDEFMETH
.PM_EXPRESSION_LESSTHANOREQUAL_USER_DEFINED, PredefinedType.PT_EXPRESSION, PredefinedName.PN_LESSTHANOREQUAL, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_BINARYEXPRESSION, 4, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_BOOL, (int)PredefinedType.PT_METHODINFO }),
480
new PredefinedMethodInfo(
PREDEFMETH
.PM_EXPRESSION_MODULO, PredefinedType.PT_EXPRESSION, PredefinedName.PN_MODULO, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_BINARYEXPRESSION, 2, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_EXPRESSION }),
481
new PredefinedMethodInfo(
PREDEFMETH
.PM_EXPRESSION_MODULO_USER_DEFINED, PredefinedType.PT_EXPRESSION, PredefinedName.PN_MODULO, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_BINARYEXPRESSION, 3, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_METHODINFO }),
482
new PredefinedMethodInfo(
PREDEFMETH
.PM_EXPRESSION_MULTIPLY, PredefinedType.PT_EXPRESSION, PredefinedName.PN_MULTIPLY, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_BINARYEXPRESSION, 2, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_EXPRESSION }),
483
new PredefinedMethodInfo(
PREDEFMETH
.PM_EXPRESSION_MULTIPLY_USER_DEFINED, PredefinedType.PT_EXPRESSION, PredefinedName.PN_MULTIPLY, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_BINARYEXPRESSION, 3, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_METHODINFO }),
484
new PredefinedMethodInfo(
PREDEFMETH
.PM_EXPRESSION_MULTIPLYCHECKED, PredefinedType.PT_EXPRESSION, PredefinedName.PN_MULTIPLYCHECKED, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_BINARYEXPRESSION, 2, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_EXPRESSION }),
485
new PredefinedMethodInfo(
PREDEFMETH
.PM_EXPRESSION_MULTIPLYCHECKED_USER_DEFINED, PredefinedType.PT_EXPRESSION, PredefinedName.PN_MULTIPLYCHECKED, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_BINARYEXPRESSION, 3, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_METHODINFO }),
486
new PredefinedMethodInfo(
PREDEFMETH
.PM_EXPRESSION_NOTEQUAL, PredefinedType.PT_EXPRESSION, PredefinedName.PN_NOTEQUAL, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_BINARYEXPRESSION, 2, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_EXPRESSION }),
487
new PredefinedMethodInfo(
PREDEFMETH
.PM_EXPRESSION_NOTEQUAL_USER_DEFINED, PredefinedType.PT_EXPRESSION, PredefinedName.PN_NOTEQUAL, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_BINARYEXPRESSION, 4, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_BOOL, (int)PredefinedType.PT_METHODINFO }),
488
new PredefinedMethodInfo(
PREDEFMETH
.PM_EXPRESSION_OR, PredefinedType.PT_EXPRESSION, PredefinedName.PN_OR, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_BINARYEXPRESSION, 2, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_EXPRESSION }),
489
new PredefinedMethodInfo(
PREDEFMETH
.PM_EXPRESSION_OR_USER_DEFINED, PredefinedType.PT_EXPRESSION, PredefinedName.PN_OR, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_BINARYEXPRESSION, 3, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_METHODINFO }),
490
new PredefinedMethodInfo(
PREDEFMETH
.PM_EXPRESSION_ORELSE, PredefinedType.PT_EXPRESSION, PredefinedName.PN_ORELSE, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_BINARYEXPRESSION, 2, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_EXPRESSION }),
491
new PredefinedMethodInfo(
PREDEFMETH
.PM_EXPRESSION_ORELSE_USER_DEFINED, PredefinedType.PT_EXPRESSION, PredefinedName.PN_ORELSE, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_BINARYEXPRESSION, 3, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_METHODINFO }),
492
new PredefinedMethodInfo(
PREDEFMETH
.PM_EXPRESSION_PARAMETER, PredefinedType.PT_EXPRESSION, PredefinedName.PN_PARAMETER, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_PARAMETEREXPRESSION, 2, (int)PredefinedType.PT_TYPE, (int)PredefinedType.PT_STRING }),
493
new PredefinedMethodInfo(
PREDEFMETH
.PM_EXPRESSION_RIGHTSHIFT, PredefinedType.PT_EXPRESSION, PredefinedName.PN_RIGHTSHIFT, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_BINARYEXPRESSION, 2, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_EXPRESSION }),
494
new PredefinedMethodInfo(
PREDEFMETH
.PM_EXPRESSION_RIGHTSHIFT_USER_DEFINED, PredefinedType.PT_EXPRESSION, PredefinedName.PN_RIGHTSHIFT, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_BINARYEXPRESSION, 3, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_METHODINFO }),
495
new PredefinedMethodInfo(
PREDEFMETH
.PM_EXPRESSION_SUBTRACT, PredefinedType.PT_EXPRESSION, PredefinedName.PN_SUBTRACT, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_BINARYEXPRESSION, 2, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_EXPRESSION }),
496
new PredefinedMethodInfo(
PREDEFMETH
.PM_EXPRESSION_SUBTRACT_USER_DEFINED, PredefinedType.PT_EXPRESSION, PredefinedName.PN_SUBTRACT, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_BINARYEXPRESSION, 3, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_METHODINFO }),
497
new PredefinedMethodInfo(
PREDEFMETH
.PM_EXPRESSION_SUBTRACTCHECKED, PredefinedType.PT_EXPRESSION, PredefinedName.PN_SUBTRACTCHECKED, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_BINARYEXPRESSION, 2, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_EXPRESSION }),
498
new PredefinedMethodInfo(
PREDEFMETH
.PM_EXPRESSION_SUBTRACTCHECKED_USER_DEFINED, PredefinedType.PT_EXPRESSION, PredefinedName.PN_SUBTRACTCHECKED, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_BINARYEXPRESSION, 3, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_METHODINFO }),
499
new PredefinedMethodInfo(
PREDEFMETH
.PM_EXPRESSION_UNARYPLUS_USER_DEFINED, PredefinedType.PT_EXPRESSION, PredefinedName.PN_PLUS, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_UNARYEXPRESSION, 2, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_METHODINFO }),
500
new PredefinedMethodInfo(
PREDEFMETH
.PM_EXPRESSION_NEGATE, PredefinedType.PT_EXPRESSION, PredefinedName.PN_NEGATE, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_UNARYEXPRESSION, 1, (int)PredefinedType.PT_EXPRESSION }),
501
new PredefinedMethodInfo(
PREDEFMETH
.PM_EXPRESSION_NEGATE_USER_DEFINED, PredefinedType.PT_EXPRESSION, PredefinedName.PN_NEGATE, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_UNARYEXPRESSION, 2, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_METHODINFO }),
502
new PredefinedMethodInfo(
PREDEFMETH
.PM_EXPRESSION_NEGATECHECKED, PredefinedType.PT_EXPRESSION, PredefinedName.PN_NEGATECHECKED, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_UNARYEXPRESSION, 1, (int)PredefinedType.PT_EXPRESSION }),
503
new PredefinedMethodInfo(
PREDEFMETH
.PM_EXPRESSION_NEGATECHECKED_USER_DEFINED, PredefinedType.PT_EXPRESSION, PredefinedName.PN_NEGATECHECKED, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_UNARYEXPRESSION, 2, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_METHODINFO }),
504
new PredefinedMethodInfo(
PREDEFMETH
.PM_EXPRESSION_CALL, PredefinedType.PT_EXPRESSION, PredefinedName.PN_CALL, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_METHODCALLEXPRESSION, 3, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_METHODINFO, (int)MethodSignatureEnum.SIG_SZ_ARRAY, (int)PredefinedType.PT_EXPRESSION }),
505
new PredefinedMethodInfo(
PREDEFMETH
.PM_EXPRESSION_NEW, PredefinedType.PT_EXPRESSION, PredefinedName.PN_NEW, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_NEWEXPRESSION, 2, (int)PredefinedType.PT_CONSTRUCTORINFO, (int)MethodSignatureEnum.SIG_SZ_ARRAY, (int)PredefinedType.PT_EXPRESSION }),
506
new PredefinedMethodInfo(
PREDEFMETH
.PM_EXPRESSION_NEW_TYPE, PredefinedType.PT_EXPRESSION, PredefinedName.PN_NEW, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_NEWEXPRESSION, 1, (int)PredefinedType.PT_TYPE }),
507
new PredefinedMethodInfo(
PREDEFMETH
.PM_EXPRESSION_QUOTE, PredefinedType.PT_EXPRESSION, PredefinedName.PN_QUOTE, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_UNARYEXPRESSION, 1, (int)PredefinedType.PT_EXPRESSION }),
508
new PredefinedMethodInfo(
PREDEFMETH
.PM_EXPRESSION_NOT, PredefinedType.PT_EXPRESSION, PredefinedName.PN_NOT, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_UNARYEXPRESSION, 1, (int)PredefinedType.PT_EXPRESSION }),
509
new PredefinedMethodInfo(
PREDEFMETH
.PM_EXPRESSION_NOT_USER_DEFINED, PredefinedType.PT_EXPRESSION, PredefinedName.PN_NOT, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_UNARYEXPRESSION, 2, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_METHODINFO }),
510
new PredefinedMethodInfo(
PREDEFMETH
.PM_EXPRESSION_NEWARRAYINIT, PredefinedType.PT_EXPRESSION, PredefinedName.PN_NEWARRAYINIT, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_NEWARRAYEXPRESSION, 2, (int)PredefinedType.PT_TYPE, (int)MethodSignatureEnum.SIG_SZ_ARRAY, (int)PredefinedType.PT_EXPRESSION }),
511
new PredefinedMethodInfo(
PREDEFMETH
.PM_EXPRESSION_PROPERTY, PredefinedType.PT_EXPRESSION, PredefinedName.PN_EXPRESSION_PROPERTY, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_MEMBEREXPRESSION, 2, (int)PredefinedType.PT_EXPRESSION, (int)PredefinedType.PT_PROPERTYINFO }),
512
new PredefinedMethodInfo(
PREDEFMETH
.PM_EXPRESSION_INVOKE, PredefinedType.PT_EXPRESSION, PredefinedName.PN_INVOKE, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_INVOCATIONEXPRESSION, 2, (int)PredefinedType.PT_EXPRESSION, (int)MethodSignatureEnum.SIG_SZ_ARRAY, (int)PredefinedType.PT_EXPRESSION }),
513
new PredefinedMethodInfo(
PREDEFMETH
.PM_G_OPTIONAL_CTOR, PredefinedType.PT_G_OPTIONAL, PredefinedName.PN_CTOR, MethodCallingConventionEnum.Instance, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_VOID, 1, (int)MethodSignatureEnum.SIG_CLASS_TYVAR, 0 }),
514
new PredefinedMethodInfo(
PREDEFMETH
.PM_G_OPTIONAL_GETVALUE, PredefinedType.PT_G_OPTIONAL, PredefinedName.PN_GETVALUE, MethodCallingConventionEnum.Instance, ACCESS.ACC_PUBLIC, 0, new int[] { (int)MethodSignatureEnum.SIG_CLASS_TYVAR, 0, 0 }),
515
new PredefinedMethodInfo(
PREDEFMETH
.PM_STRING_CONCAT_OBJECT_2, PredefinedType.PT_STRING, PredefinedName.PN_CONCAT, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_STRING, 2, (int)PredefinedType.PT_OBJECT, (int)PredefinedType.PT_OBJECT }),
516
new PredefinedMethodInfo(
PREDEFMETH
.PM_STRING_CONCAT_OBJECT_3, PredefinedType.PT_STRING, PredefinedName.PN_CONCAT, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_STRING, 3, (int)PredefinedType.PT_OBJECT, (int)PredefinedType.PT_OBJECT, (int)PredefinedType.PT_OBJECT }),
517
new PredefinedMethodInfo(
PREDEFMETH
.PM_STRING_CONCAT_STRING_2, PredefinedType.PT_STRING, PredefinedName.PN_CONCAT, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_STRING, 2, (int)PredefinedType.PT_STRING, (int)PredefinedType.PT_STRING }),
518
new PredefinedMethodInfo(
PREDEFMETH
.PM_STRING_OPEQUALITY, PredefinedType.PT_STRING, PredefinedName.PN_OPEQUALITY, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_BOOL, 2, (int)PredefinedType.PT_STRING, (int)PredefinedType.PT_STRING }),
519
new PredefinedMethodInfo(
PREDEFMETH
.PM_STRING_OPINEQUALITY, PredefinedType.PT_STRING, PredefinedName.PN_OPINEQUALITY, MethodCallingConventionEnum.Static, ACCESS.ACC_PUBLIC, 0, new int[] { (int)PredefinedType.PT_BOOL, 2, (int)PredefinedType.PT_STRING, (int)PredefinedType.PT_STRING }),
Microsoft\CSharp\RuntimeBinder\Semantics\Tree\Call.cs (2)
25
public
PREDEFMETH
PredefinedMethod { get; set; } =
PREDEFMETH
.PM_COUNT;
Microsoft\CSharp\RuntimeBinder\Semantics\Tree\Visitors\ExpressionTreeRewriter.cs (107)
58
lhs = GenerateCall(
PREDEFMETH
.PM_EXPRESSION_PROPERTY, instance, propInfo, arguments);
67
return GenerateCall(
PREDEFMETH
.PM_EXPRESSION_ASSIGN, lhs, rhs);
81
return GenerateCall(
PREDEFMETH
.PM_EXPRESSION_ASSIGN, lhs, rhs);
92
MethodSymbol lambdaMethod = GetPreDefMethod(
PREDEFMETH
.PM_EXPRESSION_LAMBDA);
107
call.PredefinedMethod =
PREDEFMETH
.PM_EXPRESSION_LAMBDA;
140
return GenerateCall(
PREDEFMETH
.PM_EXPRESSION_FIELD, pObject, pFieldInfo);
188
PREDEFMETH
pdm;
191
pdm =
PREDEFMETH
.PM_STRING_CONCAT_STRING_2;
195
pdm =
PREDEFMETH
.PM_STRING_CONCAT_OBJECT_2;
201
return GenerateCall(
PREDEFMETH
.PM_EXPRESSION_ADD_USER_DEFINED, p1, p2, methodInfo);
241
return GenerateCall(
PREDEFMETH
.PM_EXPRESSION_ARRAYINDEX2, arr, Params);
243
return GenerateCall(
PREDEFMETH
.PM_EXPRESSION_ARRAYINDEX, arr, args);
305
PREDEFMETH
pdm =
PREDEFMETH
.PM_EXPRESSION_CALL;
330
return GenerateCall(
PREDEFMETH
.PM_EXPRESSION_PROPERTY, pObject, propInfo, Params);
332
return GenerateCall(
PREDEFMETH
.PM_EXPRESSION_PROPERTY, pObject, propInfo);
343
return GenerateCall(
PREDEFMETH
.PM_EXPRESSION_NEWARRAYINIT, pTypeOf, Params);
371
return GenerateCall(
PREDEFMETH
.PM_EXPRESSION_INVOKE, pObject, Params);
379
PREDEFMETH
pdm = expr.Kind switch
381
ExpressionKind.LeftShirt =>
PREDEFMETH
.PM_EXPRESSION_LEFTSHIFT,
382
ExpressionKind.RightShift =>
PREDEFMETH
.PM_EXPRESSION_RIGHTSHIFT,
383
ExpressionKind.BitwiseExclusiveOr =>
PREDEFMETH
.PM_EXPRESSION_EXCLUSIVEOR,
384
ExpressionKind.BitwiseOr =>
PREDEFMETH
.PM_EXPRESSION_OR,
385
ExpressionKind.BitwiseAnd =>
PREDEFMETH
.PM_EXPRESSION_AND,
386
ExpressionKind.LogicalAnd =>
PREDEFMETH
.PM_EXPRESSION_ANDALSO,
387
ExpressionKind.LogicalOr =>
PREDEFMETH
.PM_EXPRESSION_ORELSE,
388
ExpressionKind.StringEq =>
PREDEFMETH
.PM_EXPRESSION_EQUAL,
389
ExpressionKind.Eq =>
PREDEFMETH
.PM_EXPRESSION_EQUAL,
390
ExpressionKind.StringNotEq =>
PREDEFMETH
.PM_EXPRESSION_NOTEQUAL,
391
ExpressionKind.NotEq =>
PREDEFMETH
.PM_EXPRESSION_NOTEQUAL,
392
ExpressionKind.GreaterThanOrEqual =>
PREDEFMETH
.PM_EXPRESSION_GREATERTHANOREQUAL,
393
ExpressionKind.LessThanOrEqual =>
PREDEFMETH
.PM_EXPRESSION_LESSTHANOREQUAL,
394
ExpressionKind.LessThan =>
PREDEFMETH
.PM_EXPRESSION_LESSTHAN,
395
ExpressionKind.GreaterThan =>
PREDEFMETH
.PM_EXPRESSION_GREATERTHAN,
396
ExpressionKind.Modulo =>
PREDEFMETH
.PM_EXPRESSION_MODULO,
397
ExpressionKind.Divide =>
PREDEFMETH
.PM_EXPRESSION_DIVIDE,
398
ExpressionKind.Multiply => expr.isChecked() ?
PREDEFMETH
.PM_EXPRESSION_MULTIPLYCHECKED :
PREDEFMETH
.PM_EXPRESSION_MULTIPLY,
399
ExpressionKind.Subtract => expr.isChecked() ?
PREDEFMETH
.PM_EXPRESSION_SUBTRACTCHECKED :
PREDEFMETH
.PM_EXPRESSION_SUBTRACT,
400
ExpressionKind.Add => expr.isChecked() ?
PREDEFMETH
.PM_EXPRESSION_ADDCHECKED :
PREDEFMETH
.PM_EXPRESSION_ADD,
458
newL = GenerateCall(
PREDEFMETH
.PM_EXPRESSION_CONVERT, newL, CreateTypeOf(convertL));
462
newR = GenerateCall(
PREDEFMETH
.PM_EXPRESSION_CONVERT, newR, CreateTypeOf(convertR));
469
call = GenerateCall(
PREDEFMETH
.PM_EXPRESSION_CONVERT, call, CreateTypeOf(expr.Type));
479
PREDEFMETH
pdm;
484
case ExpressionKind.BitwiseNot: pdm =
PREDEFMETH
.PM_EXPRESSION_NOT; break;
485
case ExpressionKind.LogicalNot: pdm =
PREDEFMETH
.PM_EXPRESSION_NOT; break;
487
pdm = expr.isChecked() ?
PREDEFMETH
.PM_EXPRESSION_NEGATECHECKED :
PREDEFMETH
.PM_EXPRESSION_NEGATE;
503
PREDEFMETH
pdm;
507
case ExpressionKind.LogicalOr: pdm =
PREDEFMETH
.PM_EXPRESSION_ORELSE_USER_DEFINED; break;
508
case ExpressionKind.LogicalAnd: pdm =
PREDEFMETH
.PM_EXPRESSION_ANDALSO_USER_DEFINED; break;
509
case ExpressionKind.LeftShirt: pdm =
PREDEFMETH
.PM_EXPRESSION_LEFTSHIFT_USER_DEFINED; break;
510
case ExpressionKind.RightShift: pdm =
PREDEFMETH
.PM_EXPRESSION_RIGHTSHIFT_USER_DEFINED; break;
511
case ExpressionKind.BitwiseExclusiveOr: pdm =
PREDEFMETH
.PM_EXPRESSION_EXCLUSIVEOR_USER_DEFINED; break;
512
case ExpressionKind.BitwiseOr: pdm =
PREDEFMETH
.PM_EXPRESSION_OR_USER_DEFINED; break;
513
case ExpressionKind.BitwiseAnd: pdm =
PREDEFMETH
.PM_EXPRESSION_AND_USER_DEFINED; break;
514
case ExpressionKind.Modulo: pdm =
PREDEFMETH
.PM_EXPRESSION_MODULO_USER_DEFINED; break;
515
case ExpressionKind.Divide: pdm =
PREDEFMETH
.PM_EXPRESSION_DIVIDE_USER_DEFINED; break;
529
pdm = expr.isChecked() ?
PREDEFMETH
.PM_EXPRESSION_SUBTRACTCHECKED_USER_DEFINED :
PREDEFMETH
.PM_EXPRESSION_SUBTRACT_USER_DEFINED;
533
pdm = expr.isChecked() ?
PREDEFMETH
.PM_EXPRESSION_ADDCHECKED_USER_DEFINED :
PREDEFMETH
.PM_EXPRESSION_ADD_USER_DEFINED;
536
pdm = expr.isChecked() ?
PREDEFMETH
.PM_EXPRESSION_MULTIPLYCHECKED_USER_DEFINED :
PREDEFMETH
.PM_EXPRESSION_MULTIPLY_USER_DEFINED;
574
return GenerateCall(
PREDEFMETH
.PM_EXPRESSION_CONVERT, call, pTypeOf);
583
PREDEFMETH
pdm;
600
pdm =
PREDEFMETH
.PM_EXPRESSION_UNARYPLUS_USER_DEFINED;
602
case ExpressionKind.BitwiseNot: pdm =
PREDEFMETH
.PM_EXPRESSION_NOT_USER_DEFINED; break;
603
case ExpressionKind.LogicalNot: pdm =
PREDEFMETH
.PM_EXPRESSION_NOT_USER_DEFINED; break;
606
pdm = expr.isChecked() ?
PREDEFMETH
.PM_EXPRESSION_NEGATECHECKED_USER_DEFINED :
PREDEFMETH
.PM_EXPRESSION_NEGATE_USER_DEFINED;
613
pdm =
PREDEFMETH
.PM_EXPRESSION_CALL;
635
PREDEFMETH
pdm = expr.Kind switch
637
ExpressionKind.StringEq =>
PREDEFMETH
.PM_EXPRESSION_EQUAL_USER_DEFINED,
638
ExpressionKind.StringNotEq =>
PREDEFMETH
.PM_EXPRESSION_NOTEQUAL_USER_DEFINED,
639
ExpressionKind.DelegateEq =>
PREDEFMETH
.PM_EXPRESSION_EQUAL_USER_DEFINED,
640
ExpressionKind.DelegateNotEq =>
PREDEFMETH
.PM_EXPRESSION_NOTEQUAL_USER_DEFINED,
641
ExpressionKind.Eq =>
PREDEFMETH
.PM_EXPRESSION_EQUAL_USER_DEFINED,
642
ExpressionKind.NotEq =>
PREDEFMETH
.PM_EXPRESSION_NOTEQUAL_USER_DEFINED,
643
ExpressionKind.LessThanOrEqual =>
PREDEFMETH
.PM_EXPRESSION_LESSTHANOREQUAL_USER_DEFINED,
644
ExpressionKind.LessThan =>
PREDEFMETH
.PM_EXPRESSION_LESSTHAN_USER_DEFINED,
645
ExpressionKind.GreaterThanOrEqual =>
PREDEFMETH
.PM_EXPRESSION_GREATERTHANOREQUAL_USER_DEFINED,
646
ExpressionKind.GreaterThan =>
PREDEFMETH
.PM_EXPRESSION_GREATERTHAN_USER_DEFINED,
675
PREDEFMETH
pdm = bChecked ?
PREDEFMETH
.PM_EXPRESSION_CONVERTCHECKED :
PREDEFMETH
.PM_EXPRESSION_CONVERT;
686
return GenerateCall(
PREDEFMETH
.PM_EXPRESSION_CONVERT, Visit(pArgument), pStrippedTypeExpr);
712
target = GenerateCall(
PREDEFMETH
.PM_EXPRESSION_CONVERT, target, typeofNubEnum);
726
PREDEFMETH
pdmInner = arg.isChecked() ?
PREDEFMETH
.PM_EXPRESSION_CONVERTCHECKED_USER_DEFINED :
PREDEFMETH
.PM_EXPRESSION_CONVERT_USER_DEFINED;
734
PREDEFMETH
pdmOuter = arg.isChecked() ?
PREDEFMETH
.PM_EXPRESSION_CONVERTCHECKED :
PREDEFMETH
.PM_EXPRESSION_CONVERT;
794
return GenerateCall(
PREDEFMETH
.PM_EXPRESSION_PARAMETER, pTypeOf, nameString);
798
private static MethodSymbol GetPreDefMethod(
PREDEFMETH
pdm) => PredefinedMembers.GetMethod(pdm);
839
return GenerateCall(
PREDEFMETH
.PM_EXPRESSION_NEW, constructorInfo, Params);
886
return GenerateCall(
PREDEFMETH
.PM_EXPRESSION_CONSTANT_OBJECT_TYPE, expr, pTypeOf);
898
return GenerateCall(
PREDEFMETH
.PM_EXPRESSION_CONSTANT_OBJECT_TYPE, cast, pTypeOf2);
902
private static ExprCall GenerateCall(
PREDEFMETH
pdm, Expr arg1)
918
private static ExprCall GenerateCall(
PREDEFMETH
pdm, Expr arg1, Expr arg2)
933
private static ExprCall GenerateCall(
PREDEFMETH
pdm, Expr arg1, Expr arg2, Expr arg3)
948
private static ExprCall GenerateCall(
PREDEFMETH
pdm, Expr arg1, Expr arg2, Expr arg3, Expr arg4)
1006
new1 = GenerateCall(
PREDEFMETH
.PM_EXPRESSION_CONVERT, new1, CreateTypeOf(nubfptype1));
1012
new2 = GenerateCall(
PREDEFMETH
.PM_EXPRESSION_CONVERT, new2, CreateTypeOf(nubfptype2));