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
6 {
7     internal static class SpecialNames
8     {
9         public const string ImplicitConversion = "op_Implicit";
10         public const string ExplicitConversion = "op_Explicit";
11         public const string Invoke = "Invoke";
12         public const string Constructor = ".ctor";
13         public const string Indexer = "$Item$";
14 
15         // Binary Operators
16         public const string CLR_Add = "op_Addition";
17         public const string CLR_Subtract = "op_Subtraction";
18         public const string CLR_Multiply = "op_Multiply";
19         public const string CLR_Division = "op_Division";
20         public const string CLR_Modulus = "op_Modulus";
21         public const string CLR_LShift = "op_LeftShift";
22         public const string CLR_RShift = "op_RightShift";
23         public const string CLR_LT = "op_LessThan";
24         public const string CLR_GT = "op_GreaterThan";
25         public const string CLR_LTE = "op_LessThanOrEqual";
26         public const string CLR_GTE = "op_GreaterThanOrEqual";
27         public const string CLR_Equality = "op_Equality";
28         public const string CLR_Inequality = "op_Inequality";
29         public const string CLR_BitwiseAnd = "op_BitwiseAnd";
30         public const string CLR_ExclusiveOr = "op_ExclusiveOr";
31         public const string CLR_BitwiseOr = "op_BitwiseOr";
32         public const string CLR_LogicalNot = "op_LogicalNot";
33 
34         // In place binary operators.
35         public const string CLR_InPlaceAdd = "op_Addition";
36         public const string CLR_InPlaceSubtract = "op_Subtraction";
37         public const string CLR_InPlaceMultiply = "op_Multiply";
38         public const string CLR_InPlaceDivide = "op_Division";
39         public const string CLR_InPlaceModulus = "op_Modulus";
40         public const string CLR_InPlaceBitwiseAnd = "op_BitwiseAnd";
41         public const string CLR_InPlaceExclusiveOr = "op_ExclusiveOr";
42         public const string CLR_InPlaceBitwiseOr = "op_BitwiseOr";
43         public const string CLR_InPlaceLShift = "op_LeftShift";
44         public const string CLR_InPlaceRShift = "op_RightShift";
45 
46         // Unary Operators
47         public const string CLR_UnaryNegation = "op_UnaryNegation";
48         public const string CLR_UnaryPlus = "op_UnaryPlus";
49         public const string CLR_OnesComplement = "op_OnesComplement";
50         public const string CLR_True = "op_True";
51         public const string CLR_False = "op_False";
52 
53         public const string CLR_PreIncrement = "op_Increment";
54         public const string CLR_PostIncrement = "op_Increment";
55         public const string CLR_PreDecrement = "op_Decrement";
56         public const string CLR_PostDecrement = "op_Decrement";
57     }
58 }
59