private static bool LineHasBreakPoint(Marker marker) { if ((!InitCalled) || (!BreakPointsSet)) return false; string myName = marker.document.FullName.ToUpper(); Breakpoints breakPoints = applicationObject.Debugger.Breakpoints; foreach (EnvDTE.Breakpoint breakPoint in breakPoints) { if ((breakPoint.File.ToUpper() == myName) && (breakPoint.FileLine == marker.startLine)) return true; } return false; }
public static void Push(Closure proc, Expression rator, Object[] args, Marker marker) { if (!InitCalled) return; if (command == Command.EvalImmediate) return; procs.Add(proc); if (marker == null) return; if ((command == Command.StepOver) && (stepOverProcsCount == -1)) { RunHidden = true; stepOverProcsCount = procs.Count; } procIndexOfItemInCallStack.Add(procs.Count - 1); string ratorname; if (rator is Var) ratorname = ((Tachy.Var) rator).id.ToString(); else ratorname = "..."; string argsstr = ""; foreach (object arg in args) argsstr = argsstr + " " + arg.ToString(); //ListViewItem lvi = callstackListView.Items.Add(""); //lvi.SubItems.Add("(" + ratorname + argsstr + ")"); calls.Add("(" + ratorname + argsstr + ")"); }
internal static void MarkExpression(Marker marker) { if (!InitCalled) return; TextDocument textDocument = (TextDocument)marker.document.Object("TextDocument"); TextSelection textSelection = textDocument.Selection; textSelection.MoveTo(marker.startLine, marker.startCol, false); textSelection.MoveTo(marker.endLine, marker.endCol, true); }
public static void Pop(Marker marker) { if (!InitCalled) return; if (command == Command.EvalImmediate) return; SetEnvironment(null); procs.RemoveAt(procs.Count - 1); if (marker != null) { if ((command == Command.StepOver) && (stepOverProcsCount == procs.Count + 1)) { RunHidden = false; stepOverProcsCount = -1; } //callstackListView.Items.RemoveAt(0); calls.RemoveAt(calls.Count - 1); procIndexOfItemInCallStack.RemoveAt(procIndexOfItemInCallStack.Count - 1); } }