2021-02-02 01:41:37 +00:00
|
|
|
#pragma once
|
|
|
|
#include <string>
|
2021-09-12 00:52:35 +00:00
|
|
|
|
2021-02-02 01:41:37 +00:00
|
|
|
#include "decompiler/Function/Function.h"
|
|
|
|
|
|
|
|
namespace decompiler {
|
2021-02-11 14:49:15 +00:00
|
|
|
|
|
|
|
enum class FunctionDefSpecials { NONE, DEFUN_DEBUG };
|
|
|
|
|
|
|
|
std::string final_defun_out(const Function& func,
|
|
|
|
const Env& env,
|
|
|
|
const DecompilerTypeSystem& dts,
|
|
|
|
FunctionDefSpecials special_mode = FunctionDefSpecials::NONE);
|
2021-02-10 01:59:14 +00:00
|
|
|
std::string write_from_top_level(const Function& top_level,
|
|
|
|
const DecompilerTypeSystem& dts,
|
2021-03-03 20:42:55 +00:00
|
|
|
const LinkedObjectFile& file,
|
2022-05-23 22:53:02 +00:00
|
|
|
const std::vector<std::string>& imports,
|
|
|
|
const std::unordered_set<std::string>& skip_functions);
|
2021-03-14 23:06:51 +00:00
|
|
|
|
|
|
|
goos::Object get_arg_list_for_function(const Function& func, const Env& env);
|
2024-01-20 17:33:39 +00:00
|
|
|
goos::Object final_output_lambda(const Function& function, GameVersion version);
|
2023-01-22 01:45:45 +00:00
|
|
|
goos::Object final_output_defstate_anonymous_behavior(const Function& func,
|
|
|
|
const DecompilerTypeSystem& dts);
|
2021-02-10 01:59:14 +00:00
|
|
|
} // namespace decompiler
|