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 OperatorKind : uint
8     {
9         OP_NONE,
10 
11         // Binary
12         OP_ASSIGN,
13         OP_ADDEQ,
14         OP_SUBEQ,
15         OP_MULEQ,
16         OP_DIVEQ,
17         OP_MODEQ,
18         OP_ANDEQ,
19         OP_XOREQ,
20         OP_OREQ,
21         OP_LSHIFTEQ,
22         OP_RSHIFTEQ,
23         OP_QUESTION,
24         OP_VALORDEF,
25         OP_LOGOR,
26         OP_LOGAND,
27         OP_BITOR,
28         OP_BITXOR,
29         OP_BITAND,
30         OP_EQ,
31         OP_NEQ,
32         OP_LT,
33         OP_LE,
34         OP_GT,
35         OP_GE,
36         OP_IS,
37         OP_AS,
38         OP_LSHIFT,
39         OP_RSHIFT,
40         OP_ADD,
41         OP_SUB,
42         OP_MUL,
43         OP_DIV,
44         OP_MOD,
45 
46         // Unary
47         OP_NOP,
48         OP_UPLUS,
49         OP_NEG,
50         OP_BITNOT,
51         OP_LOGNOT,
52         OP_PREINC,
53         OP_PREDEC,
54         OP_TYPEOF,
55         OP_CHECKED,
56         OP_UNCHECKED,
57 
58         OP_MAKEREFANY,
59         OP_REFVALUE,
60         OP_REFTYPE,
61         OP_ARGS,
62 
63         OP_CAST,
64         OP_INDIR,
65         OP_ADDR,
66 
67         OP_COLON,
68         OP_THIS,
69         OP_BASE,
70         OP_NULL,
71         OP_TRUE,
72         OP_FALSE,
73         OP_CALL,
74         OP_DEREF,
75         OP_PAREN,
76         OP_POSTINC,
77         OP_POSTDEC,
78         OP_DOT,
79         OP_IMPLICIT,
80         OP_EXPLICIT,
81 
82         OP_EQUALS,
83         OP_COMPARE,
84 
85         OP_DEFAULT,
86 
87         OP_LAST
88     }
89 }
90