#ifndef ANGELSCRIPTDEBUGGER_ASVARIABLEFORMATTER_HPP #define ANGELSCRIPTDEBUGGER_ASVARIABLEFORMATTER_HPP #include #include #include "AngelscriptDebugger.hpp" #include "DebugAdapterProtocol/Types.hpp" class ASVariableFormatter { public: static nlohmann::json GetAsJsonValue(asIScriptEngine* engine, int, void*, int32_t depth = 0); static DebugAdapterProtocol::Variable GetAsDAPVariable(asIScriptEngine* engine, asIScriptContext* ctx, AngelscriptDebugger* debugger, const std::string& name, int, void*); template static void FormatArrayLike(std::vector& vars, asIScriptEngine* engine, asIScriptContext* ctx, void* address, AngelscriptDebugger* debugger, asIScriptFunction* indexFunc); static void GetChildDAPVariables(std::vector&, asIScriptEngine* engine, asIScriptContext* ctx, AngelscriptDebugger* debugger, int, void*); }; #endif // ANGELSCRIPTDEBUGGER_ASVARIABLEFORMATTER_HPP