void DecompileSelectedNodes(DecompilerTextViewState state = null, bool recordHistory = true) { if (ignoreDecompilationRequests) { return; } if (recordHistory) { var dtState = decompilerTextView.GetState(); if (dtState != null) { history.UpdateCurrent(new NavigationState(dtState)); } history.Record(new NavigationState(treeView.SelectedItems.OfType <SharpTreeNode>())); } if (treeView.SelectedItems.Count == 1) { ILSpyTreeNode node = treeView.SelectedItem as ILSpyTreeNode; if (node != null && node.View(decompilerTextView)) { return; } } decompilerTextView.Decompile(this.decompiledLanguage, this.SelectedNodes, new DecompilationOptions() { TextViewState = state }); }