Esempio n. 1
0
        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;
        }
Esempio n. 2
0
        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 + ")");
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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);
            }
        }