Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLluis Sanchez <lluis@novell.com>2009-12-03 18:47:25 +0300
committerLluis Sanchez <lluis@novell.com>2009-12-03 18:47:25 +0300
commit0a09a46920724d391317b525f24eb8427f9c018c (patch)
tree2c9b1294eebac49fd407516f04470a3c402fd98b
parent7cab3ec2a49c45ebaa8c1011ad9daf2d39857fa3 (diff)
svn path=/branches/monodevelop/extras/MonoDevelop.Debugger.Win32/2.2/; revision=147564MonoDevelop.Debugger.Win32-2.2
-rw-r--r--extras/MonoDevelop.Debugger.Win32/CorApi2/Metadata/CorMetadata.cs3
-rw-r--r--extras/MonoDevelop.Debugger.Win32/MonoDevelop.Debugger.Win32/CorDebuggerSession.cs5
-rw-r--r--extras/MonoDevelop.Debugger.Win32/MonoDevelop.Debugger.Win32/CorObjectAdaptor.cs10
-rw-r--r--extras/MonoDevelop.Debugger.Win32/MonoDevelop.Debugger.Win32/PropertyReference.cs3
4 files changed, 13 insertions, 8 deletions
diff --git a/extras/MonoDevelop.Debugger.Win32/CorApi2/Metadata/CorMetadata.cs b/extras/MonoDevelop.Debugger.Win32/CorApi2/Metadata/CorMetadata.cs
index 1e15c6dce2..483d09a9eb 100644
--- a/extras/MonoDevelop.Debugger.Win32/CorApi2/Metadata/CorMetadata.cs
+++ b/extras/MonoDevelop.Debugger.Win32/CorApi2/Metadata/CorMetadata.cs
@@ -877,6 +877,9 @@ namespace Microsoft.Samples.Debugging.CorMetadata
attr = MetadataHelperFunctions.GetCustomAttribute (importer, token, typeof (System.Diagnostics.DebuggerBrowsableAttribute));
if (attr != null)
attributes.Add (attr);
+ attr = MetadataHelperFunctions.GetCustomAttribute (importer, token, typeof (System.Runtime.CompilerServices.CompilerGeneratedAttribute));
+ if (attr != null)
+ attributes.Add (attr);
if (attributes.Count == 0)
return emptyAttributes;
diff --git a/extras/MonoDevelop.Debugger.Win32/MonoDevelop.Debugger.Win32/CorDebuggerSession.cs b/extras/MonoDevelop.Debugger.Win32/MonoDevelop.Debugger.Win32/CorDebuggerSession.cs
index 0b6c8581ae..a9f30a1d69 100644
--- a/extras/MonoDevelop.Debugger.Win32/MonoDevelop.Debugger.Win32/CorDebuggerSession.cs
+++ b/extras/MonoDevelop.Debugger.Win32/MonoDevelop.Debugger.Win32/CorDebuggerSession.cs
@@ -715,10 +715,9 @@ namespace MonoDevelop.Debugger.Win32
process.OnEvalComplete += completeHandler;
process.OnEvalException += exceptionHandler;
- OnStartEvaluating ();
ctx.Eval.NewString (value);
-
process.SetAllThreadsDebugState (CorDebugThreadState.THREAD_SUSPEND, ctx.Thread);
+ OnStartEvaluating ();
ClearEvalStatus ();
process.Continue (false);
@@ -884,7 +883,7 @@ namespace MonoDevelop.Debugger.Win32
CorEvaluationContext cctx = (CorEvaluationContext) ctx;
CorObjectAdaptor actx = (CorObjectAdaptor) ctx.Adapter;
if (actx.IsEnum (ctx, thisVal.Val.ExactType) && !actx.IsEnum (ctx, val.Val.ExactType)) {
- ValueReference vr = actx.GetMember (ctx, thisVal, "value__");
+ ValueReference vr = actx.GetMember (ctx, null, thisVal, "value__");
vr.Value = val;
// Required to make sure that var returns an up-to-date value object
thisVal.IsValid = false;
diff --git a/extras/MonoDevelop.Debugger.Win32/MonoDevelop.Debugger.Win32/CorObjectAdaptor.cs b/extras/MonoDevelop.Debugger.Win32/MonoDevelop.Debugger.Win32/CorObjectAdaptor.cs
index 8f438e1b75..c48838f973 100644
--- a/extras/MonoDevelop.Debugger.Win32/MonoDevelop.Debugger.Win32/CorObjectAdaptor.cs
+++ b/extras/MonoDevelop.Debugger.Win32/MonoDevelop.Debugger.Win32/CorObjectAdaptor.cs
@@ -418,9 +418,6 @@ namespace MonoDevelop.Debugger.Win32
CorType t = (CorType) tt;
CorValRef val = (CorValRef) gval;
- if (val != null)
- t = GetRealObject (ctx, val).ExactType;
-
if (t.Class == null)
yield break;
@@ -509,7 +506,7 @@ namespace MonoDevelop.Debugger.Win32
MetadataType rt = co.ExactType.Class.GetTypeInfo (cctx.Session) as MetadataType;
bool isFlags = rt != null && rt.ReallyIsFlagsEnum;
string enumName = GetTypeName (ctx, co.ExactType);
- ValueReference val = GetMember (ctx, objr, "value__");
+ ValueReference val = GetMember (ctx, null, objr, "value__");
ulong nval = (ulong) Convert.ChangeType (val.ObjectValue, typeof(ulong));
ulong remainingFlags = nval;
string flags = null;
@@ -684,6 +681,11 @@ namespace MonoDevelop.Debugger.Win32
foreach (MemberInfo m in mems) {
object[] atts = m.GetCustomAttributes (typeof (DebuggerBrowsableAttribute), false);
+ if (atts.Length == 0) {
+ atts = m.GetCustomAttributes (typeof (System.Runtime.CompilerServices.CompilerGeneratedAttribute), false);
+ if (atts.Length > 0)
+ atts[0] = new DebuggerBrowsableAttribute (DebuggerBrowsableState.Never);
+ }
if (atts.Length > 0) {
if (td == null) td = new TypeDisplayData ();
if (td.MemberData == null) td.MemberData = new Dictionary<string, DebuggerBrowsableState> ();
diff --git a/extras/MonoDevelop.Debugger.Win32/MonoDevelop.Debugger.Win32/PropertyReference.cs b/extras/MonoDevelop.Debugger.Win32/MonoDevelop.Debugger.Win32/PropertyReference.cs
index 74cb18af90..cd3c8eb0bc 100644
--- a/extras/MonoDevelop.Debugger.Win32/MonoDevelop.Debugger.Win32/PropertyReference.cs
+++ b/extras/MonoDevelop.Debugger.Win32/MonoDevelop.Debugger.Win32/PropertyReference.cs
@@ -52,10 +52,11 @@ namespace MonoDevelop.Debugger.Win32
: base (ctx)
{
this.prop = prop;
- this.thisobj = thisobj;
this.declaringType = declaringType;
this.module = declaringType.Class.Module;
this.index = index;
+ if (!prop.GetGetMethod (true).IsStatic)
+ this.thisobj = thisobj;
loader = delegate {
return ((CorValRef)Value).Val;