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 
CompilationRelaxationsAttribute( int relaxations)32         public CompilationRelaxationsAttribute (
33             int relaxations)
34         {
35             m_relaxations = relaxations;
36         }
37 
CompilationRelaxationsAttribute( CompilationRelaxations relaxations)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 }
54