Browse Source

Object graph visualizer starting to work.

newNRvisualizers
Martin Konicek 13 years ago
parent
commit
736fe7f9ed
  1. 4
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/ObjectGraph/ObjectGraphBuilder.cs
  2. 3
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/ObjectGraphControl.xaml.cs
  3. 2
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/Utils/DebuggerHelpers.cs

4
src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/ObjectGraph/ObjectGraphBuilder.cs

@ -190,7 +190,9 @@ namespace Debugger.AddIn.Visualizers.Graph @@ -190,7 +190,9 @@ namespace Debugger.AddIn.Visualizers.Graph
LoadNodeObjectContent(baseClassNode, expression, baseType);
}
var members = type.GetFieldsAndNonIndexedProperties(GetMemberOptions.IgnoreInheritedMembers).Where(m => !m.IsStatic).ToList();
var members = type.GetFieldsAndNonIndexedProperties(GetMemberOptions.IgnoreInheritedMembers).
Where(m => !m.IsStatic && !m.IsSynthetic && !m.Name.EndsWith(">k__BackingField")).
ToList();
// non-public members
var nonPublicProperties = createProperties(expression, members.Where(m => !m.IsPublic));
if (nonPublicProperties.Count > 0) {

3
src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/ObjectGraphControl.xaml.cs

@ -107,7 +107,8 @@ namespace Debugger.AddIn.Visualizers.Graph @@ -107,7 +107,8 @@ namespace Debugger.AddIn.Visualizers.Graph
RefreshView();
return;
}
if (shownExpression == null || value.Expr != shownExpression.Expr) {
if (shownExpression == null || shownExpression.Expr != value.Expr) {
shownExpression = value;
txtExpression.Text = value.Expr;
RefreshView();
}

2
src/AddIns/Debugger/Debugger.AddIn/Visualizers/Utils/DebuggerHelpers.cs

@ -93,7 +93,7 @@ namespace Debugger.AddIn.Visualizers.Utils @@ -93,7 +93,7 @@ namespace Debugger.AddIn.Visualizers.Utils
value.Type.GetDefinition().Compilation.FindType(
typeof(System.Runtime.CompilerServices.RuntimeHelpers)
).GetDefinition();
hashCodeMethod = runtimeHelpers.GetMethods(m => m.FullName == "GetHashCode").FirstOrDefault();
hashCodeMethod = runtimeHelpers.GetMethods(m => m.Name == "GetHashCode" && m.Parameters.Count == 1).FirstOrDefault();
if (hashCodeMethod == null) {
throw new DebuggerException(
"Cannot find method System.Runtime.CompilerServices.RuntimeHelpers.GetHashCode().");

Loading…
Cancel
Save