Files
jak-project/goalc/compiler/CodeGenerator.h
T
water111 951f31878e [Source Line Debugger] Tracking objects and IR (#115)
* track where segments are when debugging

* missing windows include

* figure out what function we're in

* addr to IR is working
2020-11-13 22:33:57 -05:00

31 lines
653 B
C++

/*!
* @file CodeGenerator.h
* Generate object files from a FileEnv using an emitter::ObjectGenerator.
* Populates a DebugInfo.
* Currently owns the logic for emitting the function prologues.
*/
#pragma once
#ifndef JAK_CODEGENERATOR_H
#define JAK_CODEGENERATOR_H
#include "Env.h"
#include "goalc/emitter/ObjectGenerator.h"
class DebugInfo;
class CodeGenerator {
public:
CodeGenerator(FileEnv* env, DebugInfo* debug_info);
std::vector<u8> run();
private:
void do_function(FunctionEnv* env, int f_idx);
emitter::ObjectGenerator m_gen;
FileEnv* m_fe = nullptr;
DebugInfo* m_debug_info = nullptr;
};
#endif // JAK_CODEGENERATOR_H