// ==++==
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// ==--==
/*============================================================
**
** Class: DebuggerAttributes
**
**
** Purpose: Attributes for debugger
**
** Date: Feb 01, 2000
**
===========================================================*/
namespace System.Diagnostics {
//|
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Constructor, Inherited = false)]
public sealed class DebuggerStepThroughAttribute : Attribute
{
//|
public DebuggerStepThroughAttribute () {}
}
//|
[AttributeUsage(AttributeTargets.Method | AttributeTargets.Property | AttributeTargets.Constructor, Inherited = false)]
public sealed class DebuggerHiddenAttribute : Attribute
{
//|
public DebuggerHiddenAttribute () {}
}
// Attribute class used by the compiler to mark modules.
// If present, then debugging information for everything in the
// assembly was generated by the compiler, and will be preserved
// by the Runtime so that the debugger can provide full functionality
// in the case of JIT attach. If not present, then the compiler may
// or may not have included debugging information, and the Runtime
// won't preserve the debugging info, which will make debugging after
// a JIT attach difficult.
//|
[AttributeUsage(AttributeTargets.Assembly|AttributeTargets.Module, AllowMultiple = false)]
public sealed class DebuggableAttribute : Attribute
{
bool m_isJITTrackingEnabled;
bool m_isJITOptimizerDisabled;
//|
public DebuggableAttribute(bool isJITTrackingEnabled,
bool isJITOptimizerDisabled)
{
m_isJITTrackingEnabled = isJITTrackingEnabled;
m_isJITOptimizerDisabled = isJITOptimizerDisabled;
}
//|
public bool IsJITTrackingEnabled
{
get { return m_isJITTrackingEnabled; }
}
//|
public bool IsJITOptimizerDisabled
{
get { return m_isJITOptimizerDisabled; }
}
}
}