Compile function calls

This commit is contained in:
Sofia 2026-04-10 18:58:28 +03:00
parent 8dc0a6bf12
commit e653734f86

View File

@ -4,6 +4,7 @@
#include <llvm/IR/Module.h>
#include <llvm/IR/Verifier.h>
#include <llvm/Support/Casting.h>
#include <memory>
#include <iostream>
@ -77,7 +78,13 @@ namespace AST {
}
codegen::StackValue FunctionCallExpression::codegen(codegen::Builder& builder, codegen::Scope& scope) {
// TODO
std::vector<llvm::Value*> args{};
for (auto& arg : this->m_args) {
args.push_back(arg->codegen(builder, scope).value);
}
auto function = this->m_fn_expr->codegen(builder, scope);
builder.builder->CreateCall(dyn_cast<llvm::FunctionType>(function.ty->codegen(builder)), function.value);
}
void ReturnStatement::codegen(codegen::Builder& builder, codegen::Scope& scope) {