2021-02-01 20:41:37 -05:00
|
|
|
#pragma once
|
|
|
|
#include <string>
|
2021-09-11 20:52:35 -04:00
|
|
|
|
2021-02-01 20:41:37 -05:00
|
|
|
#include "decompiler/Function/Function.h"
|
|
|
|
|
|
|
|
namespace decompiler {
|
2021-02-11 09:49:15 -05: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-09 20:59:14 -05:00
|
|
|
std::string write_from_top_level(const Function& top_level,
|
|
|
|
const DecompilerTypeSystem& dts,
|
2021-03-03 15:42:55 -05:00
|
|
|
const LinkedObjectFile& file,
|
2022-05-23 18:53:02 -04:00
|
|
|
const std::vector<std::string>& imports,
|
|
|
|
const std::unordered_set<std::string>& skip_functions);
|
2021-03-14 19:06:51 -04:00
|
|
|
|
|
|
|
goos::Object get_arg_list_for_function(const Function& func, const Env& env);
|
2024-01-20 12:33:39 -05:00
|
|
|
goos::Object final_output_lambda(const Function& function, GameVersion version);
|
2023-01-21 20:45:45 -05:00
|
|
|
goos::Object final_output_defstate_anonymous_behavior(const Function& func,
|
|
|
|
const DecompilerTypeSystem& dts);
|
2021-02-09 20:59:14 -05:00
|
|
|
} // namespace decompiler
|