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)); }
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)); }
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>()); }
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); } }
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()); }
public VariablesResponse HandleVariablesRequest(VariablesArguments args) { return(new VariablesResponse(variables: this.variables.Select(v => v.GetProtocolObject(args.Format)).ToList())); }
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)); }