diff options
author | Lluis Sanchez <lluis@novell.com> | 2009-12-03 14:57:51 +0300 |
---|---|---|
committer | Lluis Sanchez <lluis@novell.com> | 2009-12-03 14:57:51 +0300 |
commit | fd6460fb1cda38763d88464b881f4a56e68e29c1 (patch) | |
tree | df6b215cbdca09c108ab68b7e925b7bd60545c6a | |
parent | b0dbc9e35c4833080fc400aa3a44bee90f56aff2 (diff) |
2009-12-03 Lluis Sanchez Gual <lluis@novell.com>extras/MonoDevelop.Debugger.Mdb/2.2-rc
* MdbObjectValueAdaptor.cs: Track api changes.
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.
svn path=/branches/monodevelop/extras/MonoDevelop.Debugger.Mdb/2.2/; revision=147550
4 files changed, 36 insertions, 2 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..a283fc4c5c 100644 --- a/extras/MonoDevelop.Debugger.Mdb/Mono.Debugging.Server.Mdb/ChangeLog +++ b/extras/MonoDevelop.Debugger.Mdb/Mono.Debugging.Server.Mdb/ChangeLog @@ -1,3 +1,14 @@ +2009-12-03 Lluis Sanchez Gual <lluis@novell.com> + + * MdbObjectValueAdaptor.cs: Track api changes. + +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..fa2a00a11c 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) { @@ -414,7 +423,7 @@ namespace DebuggerServer return obj.GetType ().GetProperty (name).GetValue (obj, null); } - public override IEnumerable<ValueReference> GetMembers (EvaluationContext gctx, object tt, object ob, BindingFlags bindingFlags) + protected override IEnumerable<ValueReference> GetMembers (EvaluationContext gctx, object tt, object ob, BindingFlags bindingFlags) { MdbEvaluationContext ctx = (MdbEvaluationContext)gctx; TargetStructObject co = ctx.GetRealObject (ob) as TargetStructObject; // It can be a TargetObjectObject @@ -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; } } |