Fixes for Windows.

This commit is contained in:
2021-10-23 15:15:08 +02:00
parent 1a29ae0c2a
commit 2fe2286df8
6 changed files with 20 additions and 15 deletions

View File

@@ -233,11 +233,11 @@ void ASVariableFormatter::GetChildDAPVariables(std::vector<DebugAdapterProtocol:
ctx->SetObject(address);
ctx->Execute();
if (t == asTYPEID_UINT64) {
FormatArrayLike<uint64_t, &asIScriptContext::SetArgQWord, &asIScriptContext::GetReturnQWord>(
FormatArrayLike<asQWORD, &asIScriptContext::SetArgQWord, &asIScriptContext::GetReturnQWord>(
vars, engine, ctx, address, debugger, indexFunc);
}
else if (t == asTYPEID_INT32){
FormatArrayLike<uint32_t, &asIScriptContext::SetArgDWord, &asIScriptContext::GetReturnDWord>(
FormatArrayLike<asDWORD, &asIScriptContext::SetArgDWord, &asIScriptContext::GetReturnDWord>(
vars, engine, ctx, address, debugger, indexFunc);
}
}

View File

@@ -321,7 +321,7 @@ void AngelscriptDebugger::OnRequest(asio::ip::tcp::socket* client, DebugAdapterP
auto response = new DebugAdapterProtocol::VariablesResponse(msg->seq);
auto variables = std::vector<DebugAdapterProtocol::Variable>();
auto reference = t->arguments.value()->variablesReference - 1;
if (reference >= _storedVariableReferences.size() || reference < 0)
if (reference >= _storedVariableReferences.size())
return;
auto& variant = _storedVariableReferences[reference];

View File

@@ -189,7 +189,7 @@ namespace DebugAdapterProtocol {
std::optional<std::vector<size_t>> hitBreakpointIds;
explicit StoppedEventBody(std::string reason, size_t breakpoint)
: reason(std::move(reason)), hitBreakpointIds({breakpoint}) {}
: reason(std::move(reason)), hitBreakpointIds(std::vector<size_t>({breakpoint})) {}
explicit StoppedEventBody(std::string reason, std::string description, std::string text)
: reason(std::move(reason)), description(std::move(description)), text(std::move(text)) {}

View File

@@ -248,20 +248,22 @@ namespace DebugAdapterProtocol {
presentationHint(presentationHint) {}
static Variable FromString(std::string name, std::string value) {
return Variable(
name, value, "string",
VariablePresentationHint{.kind = "data", .attributes = std::vector<std::string>{"rawString"}});
return Variable(name, value, "string",
VariablePresentationHint{
.kind = "data", .attributes = std::vector<std::string>{"rawString"}, .visibility = {}});
}
static Variable FromNull(std::string name, std::string type) {
return Variable(name, "null", type,
VariablePresentationHint{.kind = "data", .attributes = std::vector<std::string>{}});
return Variable(
name, "null", type,
VariablePresentationHint{.kind = "data", .attributes = std::vector<std::string>{}, .visibility = {}});
}
static Variable FromPointer(std::string name, std::string type, std::string display, size_t variableReference) {
auto v = Variable(
std::move(name), std::move(display), type,
VariablePresentationHint{.kind = "class", .attributes = std::vector<std::string>{"hasObjectId"}});
auto v =
Variable(std::move(name), std::move(display), type,
VariablePresentationHint{
.kind = "class", .attributes = std::vector<std::string>{"hasObjectId"}, .visibility = {}});
v.variablesReference = variableReference;
return v;
}