1 // Licensed to the .NET Foundation under one or more agreements.
2 // The .NET Foundation licenses this file to you under the MIT license.
3 // See the LICENSE file in the project root for more information.
4 
5 namespace Microsoft.CSharp.RuntimeBinder.Syntax
6 {
7     internal enum PredefinedName
8     {
9         PN_CTOR,
10         PN_DTOR,
11         PN_STATCTOR,
12         PN_PTR,
13         PN_NUB,
14         PN_OUTPARAM,
15         PN_REFPARAM,
16         PN_ARRAY0,
17         PN_ARRAY1,
18         PN_ARRAY2,
19         PN_GARRAY0,
20         PN_GARRAY1,
21         PN_GARRAY2,
22         PN_INVOKE,
23         PN_LENGTH,
24         PN_INDEXER,
25         PN_INDEXERINTERNAL,
26         PN_COMBINE,
27         PN_REMOVE,
28 
29         // internal method name for conversion operators
30         // these get mangled when converted to CLS names
31         PN_OPEXPLICITMN,
32         PN_OPIMPLICITMN,
33 
34         // CLS method names for user defined operators
35         PN_OPUNARYPLUS,
36         PN_OPUNARYMINUS,
37         PN_OPCOMPLEMENT,
38         PN_OPINCREMENT,
39         PN_OPDECREMENT,
40         PN_OPPLUS,
41         PN_OPMINUS,
42         PN_OPMULTIPLY,
43         PN_OPDIVISION,
44         PN_OPMODULUS,
45         PN_OPXOR,
46         PN_OPBITWISEAND,
47         PN_OPBITWISEOR,
48         PN_OPLEFTSHIFT,
49         PN_OPRIGHTSHIFT,
50         PN_OPEQUALS,
51         PN_OPCOMPARE,
52         PN_OPEQUALITY,
53         PN_OPINEQUALITY,
54         PN_OPGREATERTHAN,
55         PN_OPLESSTHAN,
56         PN_OPGREATERTHANOREQUAL,
57         PN_OPLESSTHANOREQUAL,
58         PN_OPTRUE,
59         PN_OPFALSE,
60         PN_OPNEGATION,
61 
62         PN_CONCAT,
63         PN_ADD,
64         PN_GETLENGTH,
65         PN_GETCHARS,
66         PN_CREATEDELEGATE,
67         PN_FIXEDELEMENT,
68         PN_HASVALUE,
69         PN_GETHASVALUE,
70         PN_CAP_VALUE,
71         PN_GETVALUE,
72         PN_GET_VALUE_OR_DEF,
73         PN_MISSING,
74         PN_MISSINGSYM,
75         PN_LAMBDA,
76         PN_PARAMETER,
77         PN_CONSTANT,
78         PN_CONVERT,
79         PN_CONVERTCHECKED,
80         PN_ADDCHECKED,
81         PN_DIVIDE,
82         PN_MODULO,
83         PN_MULTIPLY,
84         PN_MULTIPLYCHECKED,
85         PN_SUBTRACT,
86         PN_SUBTRACTCHECKED,
87         PN_AND,
88         PN_OR,
89         PN_EXCLUSIVEOR,
90         PN_LEFTSHIFT,
91         PN_RIGHTSHIFT,
92         PN_ANDALSO,
93         PN_ORELSE,
94         PN_EQUAL,
95         PN_NOTEQUAL,
96         PN_GREATERTHANOREQUAL,
97         PN_GREATERTHAN,
98         PN_LESSTHAN,
99         PN_LESSTHANOREQUAL,
100         PN_ARRAYINDEX,
101         PN_ASSIGN,
102         PN_CONDITION,
103         PN_CAP_FIELD,
104         PN_CALL,
105         PN_NEW,
106         PN_QUOTE,
107         PN_ARRAYLENGTH,
108         PN_PLUS,
109         PN_NEGATE,
110         PN_NEGATECHECKED,
111         PN_NOT,
112         PN_NEWARRAYINIT,
113         PN_EXPRESSION_PROPERTY,
114 
115         PN_ADDEVENTHANDLER,
116         PN_REMOVEEVENTHANDLER,
117         PN_INVOCATIONLIST,
118         PN_GETORCREATEEVENTREGISTRATIONTOKENTABLE,
119 
120         PN_VOID,
121         PN_EMPTY,
122 
123         PN_COUNT,  // Not a name, this is the total count of predefined names
124     }
125 }
126