Browse Source

Also allow viewing the variable graph.

pull/1/head
Daniel Grunwald 15 years ago
parent
commit
8c22f07a93
  1. 17
      ILSpy/MainWindow.xaml.cs

17
ILSpy/MainWindow.xaml.cs

@ -92,12 +92,18 @@ namespace ICSharpCode.ILSpy
#if DEBUG #if DEBUG
toolBar.Items.Add(new Separator()); toolBar.Items.Add(new Separator());
Button cfg = new Button() { Content = "CFG" }; Button cfg = new Button() { Content = "CFG" };
cfg.Click += new RoutedEventHandler(cfg_Click); cfg.Click += new RoutedEventHandler(cfg_Click);
toolBar.Items.Add(cfg); toolBar.Items.Add(cfg);
Button ssa = new Button() { Content = "SSA" }; Button ssa = new Button() { Content = "SSA" };
ssa.Click += new RoutedEventHandler(ssa_Click); ssa.Click += new RoutedEventHandler(ssa_Click);
toolBar.Items.Add(ssa); toolBar.Items.Add(ssa);
Button varGraph = new Button() { Content = "Var" };
varGraph.Click += new RoutedEventHandler(varGraph_Click);
toolBar.Items.Add(varGraph);
#endif #endif
} }
@ -117,7 +123,16 @@ namespace ICSharpCode.ILSpy
MethodTreeNode node = treeView.SelectedItem as MethodTreeNode; MethodTreeNode node = treeView.SelectedItem as MethodTreeNode;
if (node != null && node.MethodDefinition.HasBody) { if (node != null && node.MethodDefinition.HasBody) {
node.MethodDefinition.Body.SimplifyMacros(); node.MethodDefinition.Body.SimplifyMacros();
ShowGraph(node.MethodDefinition.Name + "-cfg", SsaFormBuilder.Build(node.MethodDefinition).ExportBlockGraph()); ShowGraph(node.MethodDefinition.Name + "-ssa", SsaFormBuilder.Build(node.MethodDefinition).ExportBlockGraph());
}
}
void varGraph_Click(object sender, RoutedEventArgs e)
{
MethodTreeNode node = treeView.SelectedItem as MethodTreeNode;
if (node != null && node.MethodDefinition.HasBody) {
node.MethodDefinition.Body.SimplifyMacros();
ShowGraph(node.MethodDefinition.Name + "-var", SsaFormBuilder.Build(node.MethodDefinition).ExportVariableGraph());
} }
} }

Loading…
Cancel
Save