Still more work

This commit is contained in:
greg 2016-02-12 23:14:09 -08:00
parent 8a92d5ffa8
commit 64d560a1fc
1 changed files with 17 additions and 1 deletions

View File

@ -8,7 +8,7 @@ use self::iron_llvm::core;
use self::iron_llvm::core::types::{RealTypeCtor, RealTypeRef};
use self::iron_llvm::{LLVMRef, LLVMRefCtor};
use parser::{ParseResult, AST, ASTNode};
use parser::{ParseResult, AST, ASTNode, Prototype, Expression};
pub struct Context {
context: core::Context,
@ -96,3 +96,19 @@ impl IRBuilder for AST {
result
}
}
impl IRBuilder for ASTNode {
fn codegen(&self, context: &mut Context, module_provider: &mut ModuleProvider) -> IRBuildingResult {
match self {
&ASTNode::ExprNode(ref expression) => expression.codegen(context, module_provider),
&ASTNode::FuncNode(ref function) => function.codegen(context, module_provider),
}
}
}
impl IRBuilder for Function {
fn codegen(&self, context: &mut Context, module_provider: &mut ModuleProvider) -> IRBuildingResult {
}
}