use crate::compiler::{CompilationResult, CompilationStage};
use typescript_ir::TypedProgram;
use typescript_types::TsError;
#[derive(Debug, Clone)]
pub struct CodeGenerator {
current_stage: CompilationStage,
}
impl CodeGenerator {
pub fn new() -> Self {
Self { current_stage: CompilationStage::CodeGeneration }
}
pub fn generate(&mut self, ir: &TypedProgram) -> CompilationResult<Vec<u8>> {
self.current_stage = CompilationStage::CodeGeneration;
CompilationResult::Success(Vec::new())
}
pub fn current_stage(&self) -> CompilationStage {
self.current_stage
}
pub fn reset(&mut self) {
self.current_stage = CompilationStage::CodeGeneration;
}
}
impl Default for CodeGenerator {
fn default() -> Self {
Self::new()
}
}