mirror of
https://git.sfja.dk/Mikkel/slige.git
synced 2025-01-18 18:16:31 +00:00
39 lines
1.0 KiB
C++
39 lines
1.0 KiB
C++
#include "actions.hpp"
|
|
#include "vm_provider.hpp"
|
|
|
|
auto sliger::rpc::action::RunDebug::perform_action(
|
|
std::unique_ptr<sliger::rpc::BufferedWriter> writer,
|
|
vm_provider::VmProvider vm) -> void
|
|
{
|
|
auto program = this->instructions;
|
|
vm.load_and_run(program);
|
|
};
|
|
|
|
auto sliger::rpc::action::FlameGraph::perform_action(
|
|
std::unique_ptr<sliger::rpc::BufferedWriter> writer,
|
|
vm_provider::VmProvider vm) -> void
|
|
{
|
|
auto json = vm.flame_graph_json();
|
|
if (json) {
|
|
writer->write(
|
|
std::format("{{ ok: true, flameGraph: \"{}\" }}", json.value()));
|
|
} else {
|
|
writer->write("null");
|
|
}
|
|
writer->flush();
|
|
};
|
|
|
|
auto sliger::rpc::action::CodeCoverage::perform_action(
|
|
std::unique_ptr<sliger::rpc::BufferedWriter> writer,
|
|
vm_provider::VmProvider vm) -> void
|
|
{
|
|
auto json = vm.code_coverage_json();
|
|
if (json) {
|
|
writer->write(
|
|
std::format("{{ ok: true, codeCoverage: \"{}\" }}", json.value()));
|
|
} else {
|
|
writer->write("{ ok: false }");
|
|
}
|
|
writer->flush();
|
|
};
|