Summary Files Commits Branches @commit @diff @stats
path: root / Year 2 / Implementation of Programming Languages / Transpiler / src / Value / Function / UserFunction.cpp
blob: a9841d3a416f4829349e75a28e2c03d6d1ce77f5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include "UserFunction.h"
#include "../../LLVMVisitor/LLVMVisitor.h"

std::string UserFunction::Visit(LLVMVisitor& visitor) const {
	return visitor.Visit(*this);
}

Value::T_Primitive UserFunction::RetType() const {
	if (body.empty())
		return T_void;
	return body.back()->RetType();
}

UserFunction::UserFunction(std::string name, std::deque<Value*> args, std::deque<Function*> body) : Function(name, args), body(body) {}