Ejemplo n.º 1
0
        public Task <VariablesResponse> Handle(VariablesArguments request, CancellationToken cancellationToken)
        {
            VariableDetailsBase[] variables =
                _debugService.GetVariables(
                    (int)request.VariablesReference);

            VariablesResponse variablesResponse = null;

            try
            {
                variablesResponse = new VariablesResponse
                {
                    Variables =
                        variables
                        .Select(LspDebugUtils.CreateVariable)
                        .ToArray()
                };
            }
            catch (Exception)
            {
                // TODO: This shouldn't be so broad
            }

            return(Task.FromResult(variablesResponse));
        }
Ejemplo n.º 2
0
        protected override VariablesResponse HandleVariablesRequest(VariablesArguments arguments)

        {
            foreach (var t in debugged.Threads)
            {
                var thread = t.Value as VSCodeThread;
                var scope  = thread.FindScope(arguments.VariablesReference);
                if (scope != null)
                {
                    List <Variable> res = new List <Variable>();
                    foreach (var i in scope.Variables)
                    {
                        res.Add(i.Variable);
                    }
                    return(new VariablesResponse(res));
                }
                var variable = thread.FindVariable(arguments.VariablesReference);
                if (variable != null)
                {
                    var             children = variable.EnumChildren(arguments.Timeout.GetValueOrDefault());
                    List <Variable> res      = new List <Variable>();
                    foreach (var i in children)
                    {
                        res.Add(i.Variable);
                    }

                    return(new VariablesResponse(res));
                }
            }

            return(new VariablesResponse());
        }
        internal VariablesResponse HandleVariablesRequest(VariablesArguments args)
        {
            ISampleVariableContainer container = this.GetVariableContainer(args.VariablesReference);

            if (container == null)
            {
                throw new ProtocolException(Invariant($"Invalid variable reference '{args.VariablesReference}'!"));
            }

            return(container.HandleVariablesRequest(args));
        }
Ejemplo n.º 4
0
        public IEnumerable <Variable> GetVariables(VariablesArguments args)
        {
            if ((engine.State & HALT_OR_FAULT) == 0)
            {
                if (variableContainers.TryGetValue(args.VariablesReference, out var container))
                {
                    return(container.GetVariables());
                }
            }

            return(Enumerable.Empty <Variable>());
        }
Ejemplo n.º 5
0
        protected override VariablesResponse HandleVariablesRequest(VariablesArguments arguments)
        {
            try
            {
                if (session == null)
                {
                    throw new InvalidOperationException();
                }

                var variables = session.GetVariables(arguments).ToList();
                return(new VariablesResponse(variables));
            }
            catch (Exception ex)
            {
                Log(ex.Message, LogCategory.DebugAdapterOutput);
                throw new ProtocolException(ex.Message, ex);
            }
        }
Ejemplo n.º 6
0
        protected override VariablesResponse HandleVariablesRequest(VariablesArguments arguments)
        {
            if (arguments.VariablesReference == 1)
            {
                var names = new[] {
                    "D0", "D1", "D2", "D3", "D4", "D5", "D6", "D7",
                    "A0", "A1", "A2", "A3", "A4", "A5", "A6", "SP",
                    "PC"
                };

                return(new VariablesResponse()
                {
                    Variables = names.Select(x => new Variable {
                        Name = x, Value = Controller.Evaluate(x)
                    }).ToList()
                });
            }
            return(new VariablesResponse());
        }
Ejemplo n.º 7
0
 public VariablesResponse HandleVariablesRequest(VariablesArguments args)
 {
     return(new VariablesResponse(variables: this.variables.Select(v => v.GetProtocolObject(args.Format)).ToList()));
 }
Ejemplo n.º 8
0
 protected override VariablesResponse HandleVariablesRequest(VariablesArguments arguments)
 {
     return(this.ThreadManager.HandleVariablesRequest(arguments));
 }
 public VariablesResponse HandleVariablesRequest(VariablesArguments args)
 {
     return(new VariablesResponse(variables: this.GetChildren().Any() ? this.GetChildren().Select(c => c.GetProtocolObject(args.Format)).ToList() : null));
 }