コード例 #1
0
 public AD7BoundBreakpoint(
     NodeBreakpointBinding breakpointBinding,
     AD7PendingBreakpoint pendingBreakpoint,
     AD7BreakpointResolution breakpointResolution,
     bool enabled) {
     _breakpointBinding = breakpointBinding;
     _pendingBreakpoint = pendingBreakpoint;
     _breakpointResolution = breakpointResolution;
     _enabled = enabled;
     _deleted = false;
 }
コード例 #2
0
 public AD7BoundBreakpoint(
     NodeBreakpointBinding breakpointBinding,
     AD7PendingBreakpoint pendingBreakpoint,
     AD7BreakpointResolution breakpointResolution,
     bool enabled)
 {
     this._breakpointBinding    = breakpointBinding;
     this._pendingBreakpoint    = pendingBreakpoint;
     this._breakpointResolution = breakpointResolution;
     this._enabled = enabled;
     this._deleted = false;
 }
コード例 #3
0
 public AD7BoundBreakpoint GetBoundBreakpoint(NodeBreakpointBinding breakpointBinding) {
     AD7BoundBreakpoint boundBreakpoint;
     return _breakpointBindingMap.TryGetValue(breakpointBinding, out boundBreakpoint) ? boundBreakpoint : null;
 }
コード例 #4
0
 public void RemoveBoundBreakpoint(NodeBreakpointBinding breakpointBinding) {
     _breakpointBindingMap.Remove(breakpointBinding);
 }
コード例 #5
0
 public void AddBoundBreakpoint(NodeBreakpointBinding breakpointBinding, AD7BoundBreakpoint boundBreakpoint) {
     _breakpointBindingMap[breakpointBinding] = boundBreakpoint;
 }
コード例 #6
0
        public SetBreakpointCommand(int id, NodeModule module, NodeBreakpoint breakpoint, bool withoutPredicate, bool remote, SourceMapper sourceMapper = null)
            : base(id, "setbreakpoint")
        {
            Utilities.ArgumentNotNull("breakpoint", breakpoint);

            _module       = module;
            _breakpoint   = breakpoint;
            _sourceMapper = sourceMapper;

            _position = breakpoint.GetPosition(_sourceMapper);

            // Zero based line numbers
            int line = _position.Line;

            // Zero based column numbers
            // Special case column to avoid (line 0, column 0) which
            // Node (V8) treats specially for script loaded via require
            // Script wrapping process: https://github.com/joyent/node/blob/v0.10.26-release/src/node.js#L880
            int column = _position.Column;

            if (line == 0)
            {
                column += NodeConstants.ScriptWrapBegin.Length;
            }

            _arguments = new Dictionary <string, object> {
                { "line", line },
                { "column", column }
            };

            if (_module != null)
            {
                _arguments["type"]   = "scriptId";
                _arguments["target"] = _module.Id;
            }
            else if (remote)
            {
                _arguments["type"]   = "scriptRegExp";
                _arguments["target"] = GetCaseInsensitiveRegex(_position.FileName);
            }
            else
            {
                _arguments["type"]   = "script";
                _arguments["target"] = _position.FileName;
            }

            if (!NodeBreakpointBinding.GetEngineEnabled(_breakpoint.Enabled, _breakpoint.BreakOn, 0))
            {
                _arguments["enabled"] = false;
            }

            if (withoutPredicate)
            {
                return;
            }

            int ignoreCount = NodeBreakpointBinding.GetEngineIgnoreCount(_breakpoint.BreakOn, 0);

            if (ignoreCount > 0)
            {
                _arguments["ignoreCount"] = ignoreCount;
            }

            if (!string.IsNullOrEmpty(_breakpoint.Condition))
            {
                _arguments["condition"] = _breakpoint.Condition;
            }
        }
 public AD7BreakpointResolution(AD7Engine engine, NodeBreakpointBinding address, AD7DocumentContext documentContext) {
     _engine = engine;
     _binding = address;
     _documentContext = documentContext;
 }
コード例 #8
0
 public AD7BoundBreakpoint GetBoundBreakpoint(NodeBreakpointBinding breakpointBinding)
 {
     return(this.breakpointBindingMap.TryGetValue(breakpointBinding, out var boundBreakpoint) ? boundBreakpoint : null);
 }
コード例 #9
0
 public void RemoveBoundBreakpoint(NodeBreakpointBinding breakpointBinding)
 {
     this.breakpointBindingMap.Remove(breakpointBinding);
 }
コード例 #10
0
 public void AddBoundBreakpoint(NodeBreakpointBinding breakpointBinding, AD7BoundBreakpoint boundBreakpoint)
 {
     this.breakpointBindingMap[breakpointBinding] = boundBreakpoint;
 }
コード例 #11
0
 public AD7BreakpointResolution(AD7Engine engine, NodeBreakpointBinding address, AD7DocumentContext documentContext)
 {
     this._engine          = engine;
     this._binding         = address;
     this._documentContext = documentContext;
 }
コード例 #12
0
        public AD7BoundBreakpoint GetBoundBreakpoint(NodeBreakpointBinding breakpointBinding)
        {
            AD7BoundBreakpoint boundBreakpoint;

            return(_breakpointBindingMap.TryGetValue(breakpointBinding, out boundBreakpoint) ? boundBreakpoint : null);
        }