Updates referencesource to .NET 4.7
[mono.git] / mcs / class / referencesource / mscorlib / system / runtime / compilerservices / compilationrelaxations.cs
1 // ==++==
2 // 
3 //   Copyright (c) Microsoft Corporation.  All rights reserved.
4 // 
5 // ==--==
6 ////////////////////////////////////////////////////////////////////////////////
7 ////////////////////////////////////////////////////////////////////////////////
8
9 namespace System.Runtime.CompilerServices 
10 {
11
12     using System;
13
14     /// IMPORTANT: Keep this in sync with corhdr.h
15 [Serializable]
16 [Flags]
17 [System.Runtime.InteropServices.ComVisible(true)]
18     public enum CompilationRelaxations : int
19     { 
20         NoStringInterning       = 0x0008, // Start in 0x0008, we had other non public flags in this enum before,
21                                           // so we'll start here just in case somebody used them. This flag is only
22                                           // valid when set for Assemblies.
23     };
24         
25 [Serializable]
26 [AttributeUsage(AttributeTargets.Assembly | AttributeTargets.Module | AttributeTargets.Class | AttributeTargets.Method)]  
27 [System.Runtime.InteropServices.ComVisible(true)]
28     public class CompilationRelaxationsAttribute : Attribute 
29     {
30         private int m_relaxations;      // The relaxations.
31         
32         public CompilationRelaxationsAttribute (
33             int relaxations) 
34         { 
35             m_relaxations = relaxations; 
36         }
37         
38         public CompilationRelaxationsAttribute (
39             CompilationRelaxations relaxations) 
40         { 
41             m_relaxations = (int) relaxations; 
42         }
43         
44         public int CompilationRelaxations
45         { 
46             get 
47             { 
48                 return m_relaxations; 
49             } 
50         }
51     }
52     
53 }