Beispiel #1
0
        public static void RemoveBreakpoint(FilePath fileName, int lineNumber)
        {
            WabbitcodeBreakpoint newBreak = Breakpoints.FirstOrDefault(b => fileName == b.File && b.LineNumber == lineNumber);

            if (newBreak == null)
            {
                return;
            }
            BreakList.Remove(newBreak);

            if (OnBreakpointRemoved == null)
            {
                return;
            }

            var eventArgs = new WabbitcodeBreakpointEventArgs(newBreak);

            foreach (var removedDelegate in OnBreakpointRemoved.GetInvocationList())
            {
                var handler = (BreakpointRemoved)removedDelegate;
                if (!eventArgs.Cancel)
                {
                    handler(null, eventArgs);
                }
            }
        }
Beispiel #2
0
        public static void AddBreakpoint(FilePath fileName, int lineNumber)
        {
            WabbitcodeBreakpoint newBreak = new WabbitcodeBreakpoint(fileName, lineNumber);

            if (BreakList.Contains(newBreak))
            {
                return;
            }
            BreakList.Add(newBreak);

            if (OnBreakpointAdded == null)
            {
                return;
            }

            var eventArgs = new WabbitcodeBreakpointEventArgs(newBreak);

            foreach (var addedDelegage in OnBreakpointAdded.GetInvocationList())
            {
                var handler = (BreakpointAdded)addedDelegage;
                if (!eventArgs.Cancel)
                {
                    handler(null, eventArgs);
                }
            }

            if (!eventArgs.Cancel)
            {
                return;
            }

            IStatusBarService statusBarService = DependencyFactory.Resolve <IStatusBarService>();

            statusBarService.SetText("A breakpoint could not be set at this location");
        }