diff options
author | Lluis Sanchez <lluis@novell.com> | 2009-12-02 22:26:58 +0300 |
---|---|---|
committer | Lluis Sanchez <lluis@novell.com> | 2009-12-02 22:26:58 +0300 |
commit | 54a28c46278713f09387b4fdb040cd8673b9542e (patch) | |
tree | 031ffa1782c78d14b2eb6ceecf76fbc1c851d0d3 /extras/MonoDevelop.Debugger.Mdb | |
parent | 0e8ede942b68c970396a5615275ef712c908c216 (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')
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; } } |