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-02 22:26:58 +0300
committerLluis Sanchez <lluis@novell.com>2009-12-02 22:26:58 +0300
commit54a28c46278713f09387b4fdb040cd8673b9542e (patch)
tree031ffa1782c78d14b2eb6ceecf76fbc1c851d0d3 /extras/MonoDevelop.Debugger.Mdb
parent0e8ede942b68c970396a5615275ef712c908c216 (diff)
* FieldReference.cs:
* PropertyReference.cs: * MdbObjectValueAdaptor.cs: Implement new members. Properly set the Global flag for static fields and properties. svn path=/trunk/monodevelop/; revision=147492
Diffstat (limited to 'extras/MonoDevelop.Debugger.Mdb')
-rw-r--r--extras/MonoDevelop.Debugger.Mdb/Mono.Debugging.Server.Mdb/ChangeLog7
-rw-r--r--extras/MonoDevelop.Debugger.Mdb/Mono.Debugging.Server.Mdb/FieldReference.cs7
-rw-r--r--extras/MonoDevelop.Debugger.Mdb/Mono.Debugging.Server.Mdb/MdbObjectValueAdaptor.cs11
-rw-r--r--extras/MonoDevelop.Debugger.Mdb/Mono.Debugging.Server.Mdb/PropertyReference.cs7
4 files changed, 31 insertions, 1 deletions
diff --git a/extras/MonoDevelop.Debugger.Mdb/Mono.Debugging.Server.Mdb/ChangeLog b/extras/MonoDevelop.Debugger.Mdb/Mono.Debugging.Server.Mdb/ChangeLog
index 57ff94e5d7..5b2cfa68df 100644
--- a/extras/MonoDevelop.Debugger.Mdb/Mono.Debugging.Server.Mdb/ChangeLog
+++ b/extras/MonoDevelop.Debugger.Mdb/Mono.Debugging.Server.Mdb/ChangeLog
@@ -1,3 +1,10 @@
+2009-12-02 Lluis Sanchez Gual <lluis@novell.com>
+
+ * FieldReference.cs:
+ * PropertyReference.cs:
+ * MdbObjectValueAdaptor.cs: Implement new members. Properly
+ set the Global flag for static fields and properties.
+
2009-11-23 Lluis Sanchez Gual <lluis@novell.com>
* Convert.cs: Improve conversion of corlib types.
diff --git a/extras/MonoDevelop.Debugger.Mdb/Mono.Debugging.Server.Mdb/FieldReference.cs b/extras/MonoDevelop.Debugger.Mdb/Mono.Debugging.Server.Mdb/FieldReference.cs
index a9651a8b20..e705fdbe93 100644
--- a/extras/MonoDevelop.Debugger.Mdb/Mono.Debugging.Server.Mdb/FieldReference.cs
+++ b/extras/MonoDevelop.Debugger.Mdb/Mono.Debugging.Server.Mdb/FieldReference.cs
@@ -53,6 +53,12 @@ namespace DebuggerServer
}
}
+ public override object DeclaringType {
+ get {
+ return type;
+ }
+ }
+
public override object Value {
get {
MdbEvaluationContext ctx = (MdbEvaluationContext) Context;
@@ -78,6 +84,7 @@ namespace DebuggerServer
get {
ObjectValueFlags flags = ObjectValueFlags.Field | ObjectUtil.GetAccessibility (field.Accessibility);
if (field.HasConstValue) flags |= ObjectValueFlags.ReadOnly;
+ if (field.IsStatic) flags |= ObjectValueFlags.Global;
return flags;
}
}
diff --git a/extras/MonoDevelop.Debugger.Mdb/Mono.Debugging.Server.Mdb/MdbObjectValueAdaptor.cs b/extras/MonoDevelop.Debugger.Mdb/Mono.Debugging.Server.Mdb/MdbObjectValueAdaptor.cs
index 9b61f95234..6a634ed7e4 100644
--- a/extras/MonoDevelop.Debugger.Mdb/Mono.Debugging.Server.Mdb/MdbObjectValueAdaptor.cs
+++ b/extras/MonoDevelop.Debugger.Mdb/Mono.Debugging.Server.Mdb/MdbObjectValueAdaptor.cs
@@ -273,6 +273,15 @@ namespace DebuggerServer
return mctx.Frame.Language.LookupType (name);
}
+ public override object GetBaseType (EvaluationContext ctx, object t)
+ {
+ MdbEvaluationContext mctx = (MdbEvaluationContext) ctx;
+ TargetStructType type = t as TargetStructType;
+ if (type != null && type.HasParent)
+ return type.GetParentType (mctx.Thread);
+ else
+ return null;
+ }
public override object[] GetTypeArgs (EvaluationContext ctx, object type)
{
@@ -944,7 +953,7 @@ namespace DebuggerServer
}
}
- if (type.HasParent)
+ if (type.HasParent && (flags & BindingFlags.DeclaredOnly) == 0)
type = type.GetParentType (ctx.Thread);
else
break;
diff --git a/extras/MonoDevelop.Debugger.Mdb/Mono.Debugging.Server.Mdb/PropertyReference.cs b/extras/MonoDevelop.Debugger.Mdb/Mono.Debugging.Server.Mdb/PropertyReference.cs
index d716c9a013..1995ffbba1 100644
--- a/extras/MonoDevelop.Debugger.Mdb/Mono.Debugging.Server.Mdb/PropertyReference.cs
+++ b/extras/MonoDevelop.Debugger.Mdb/Mono.Debugging.Server.Mdb/PropertyReference.cs
@@ -51,6 +51,12 @@ namespace DebuggerServer
}
}
+ public override object DeclaringType {
+ get {
+ return prop.Getter.DeclaringType;
+ }
+ }
+
public override object Value {
get {
MdbEvaluationContext ctx = (MdbEvaluationContext) Context;
@@ -72,6 +78,7 @@ namespace DebuggerServer
get {
ObjectValueFlags flags = ObjectValueFlags.Property | ObjectUtil.GetAccessibility (prop.Accessibility);
if (!prop.CanWrite) flags |= ObjectValueFlags.ReadOnly;
+ if (prop.IsStatic) flags |= ObjectValueFlags.Global;
return flags;
}
}