Branch: refs/heads/master
Home: https://github.com/mono/mono
Compare: https://github.com/mono/mono/compare/7885214216f3...7e01f047fa03
Commit: 7e01f047fa03d2860abedf18a3bdcb03aebb8cfb
Author: Marek Safar <[email protected]> (marek-safar)
Date: 2013-10-02 21:29:59 GMT
URL: https://github.com/mono/mono/commit/7e01f047fa03d2860abedf18a3bdcb03aebb8cfb
Emit better debugger attribute for stepping over state machine initialization
Changed paths:
M mcs/mcs/attribute.cs
M mcs/mcs/method.cs
M mcs/mcs/modifiers.cs
Modified: mcs/mcs/attribute.cs
===================================================================
@@ -1650,6 +1650,7 @@ public class PredefinedAttributes
public readonly PredefinedAttribute UnsafeValueType;
public readonly PredefinedAttribute UnmanagedFunctionPointer;
public readonly PredefinedDebuggerBrowsableAttribute DebuggerBrowsable;
+ public readonly PredefinedAttribute DebuggerStepThrough;
// New in .NET 3.5
public readonly PredefinedAttribute Extension;
@@ -1716,6 +1717,7 @@ public PredefinedAttributes (ModuleContainer module)
UnsafeValueType = new PredefinedAttribute (module, "System.Runtime.CompilerServices", "UnsafeValueTypeAttribute");
UnmanagedFunctionPointer = new PredefinedAttribute (module, "System.Runtime.InteropServices", "UnmanagedFunctionPointerAttribute");
DebuggerBrowsable = new PredefinedDebuggerBrowsableAttribute (module, "System.Diagnostics", "DebuggerBrowsableAttribute");
+ DebuggerStepThrough = new PredefinedAttribute (module, "System.Diagnostics", "DebuggerStepThroughAttribute");
Extension = new PredefinedAttribute (module, "System.Runtime.CompilerServices", "ExtensionAttribute");
Modified: mcs/mcs/method.cs
===================================================================
@@ -685,6 +685,8 @@ public override void Emit ()
Module.PredefinedAttributes.CompilerGenerated.EmitAttribute (MethodBuilder);
if ((ModFlags & Modifiers.DEBUGGER_HIDDEN) != 0)
Module.PredefinedAttributes.DebuggerHidden.EmitAttribute (MethodBuilder);
+ if ((ModFlags & Modifiers.DEBUGGER_STEP_THROUGH) != 0)
+ Module.PredefinedAttributes.DebuggerStepThrough.EmitAttribute (MethodBuilder);
if (ReturnType.BuiltinType == BuiltinTypeSpec.Type.Dynamic) {
return_attributes = new ReturnParameter (this, MethodBuilder, Location);
@@ -1232,7 +1234,7 @@ public override bool Define ()
}
block = (ToplevelBlock) block.ConvertToAsyncTask (this, Parent.PartialContainer, parameters, ReturnType, null, Location);
- ModFlags |= Modifiers.DEBUGGER_HIDDEN;
+ ModFlags |= Modifiers.DEBUGGER_STEP_THROUGH;
}
if (Compiler.Settings.WriteMetadataOnly)
Modified: mcs/mcs/modifiers.cs
===================================================================
@@ -51,6 +51,7 @@ public enum Modifiers
COMPILER_GENERATED = 0x100000,
BACKING_FIELD = 0x200000,
DEBUGGER_HIDDEN = 0x400000,
+ DEBUGGER_STEP_THROUGH = 0x800000,
AccessibilityMask = PUBLIC | PROTECTED | INTERNAL | PRIVATE,
AllowedExplicitImplFlags = UNSAFE | EXTERN,
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.