// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
+using System.Runtime.InteropServices;
+
namespace System.Diagnostics {
[AttributeUsage (AttributeTargets.Assembly | AttributeTargets.Module)]
+ [ComVisible (true)]
public sealed class DebuggableAttribute : System.Attribute {
private bool JITTrackingEnabledFlag;
private bool JITOptimizerDisabledFlag;
-#if NET_2_0
[Flags]
+ [ComVisible (true)]
public enum DebuggingModes {
// Fields
None = 0,
}
private DebuggingModes debuggingModes = DebuggingModes.None;
-#endif
+
+ public DebuggingModes DebuggingFlags {
+ get { return debuggingModes; }
+ }
// Public Instance Constructors
public DebuggableAttribute(bool isJITTrackingEnabled, bool isJITOptimizerDisabled)
JITTrackingEnabledFlag = isJITTrackingEnabled;
JITOptimizerDisabledFlag = isJITOptimizerDisabled;
-#if NET_2_0
if (isJITTrackingEnabled)
debuggingModes |= DebuggingModes.Default;
if (isJITOptimizerDisabled)
debuggingModes |= DebuggingModes.DisableOptimizations;
-#endif
}
-#if NET_2_0
public DebuggableAttribute(DebuggingModes modes)
{
debuggingModes = modes;
JITTrackingEnabledFlag = (debuggingModes & DebuggingModes.Default) != 0;
JITOptimizerDisabledFlag = (debuggingModes & DebuggingModes.DisableOptimizations) != 0;
}
-#endif
-
// Public Instance Properties
public bool IsJITTrackingEnabled { get { return JITTrackingEnabledFlag; } }