Пример #1
0
 internal override void RemoveSelf(Debugger debugger)
 {
     Func<LineBreakpoint, bool> predicate = null;
     if (this.ScriptBlock != null)
     {
         List<LineBreakpoint> boundBreakpoints = debugger.GetBoundBreakpoints(this.ScriptBlock);
         if (boundBreakpoints != null)
         {
             boundBreakpoints.Remove(this);
             if (predicate == null)
             {
                 predicate = breakpoint => breakpoint.SequencePointIndex != this.SequencePointIndex;
             }
             if (boundBreakpoints.All<LineBreakpoint>(predicate))
             {
                 this.BreakpointBitArray.Set(this.SequencePointIndex, false);
             }
         }
     }
     debugger.RemoveLineBreakpoint(this);
 }
Пример #2
0
        internal override void RemoveSelf(Debugger debugger)
        {
            Func <LineBreakpoint, bool> predicate = null;

            if (this.ScriptBlock != null)
            {
                List <LineBreakpoint> boundBreakpoints = debugger.GetBoundBreakpoints(this.ScriptBlock);
                if (boundBreakpoints != null)
                {
                    boundBreakpoints.Remove(this);
                    if (predicate == null)
                    {
                        predicate = breakpoint => breakpoint.SequencePointIndex != this.SequencePointIndex;
                    }
                    if (boundBreakpoints.All <LineBreakpoint>(predicate))
                    {
                        this.BreakpointBitArray.Set(this.SequencePointIndex, false);
                    }
                }
            }
            debugger.RemoveLineBreakpoint(this);
        }