From ab1d1ecba4f2562a8b81d887d08370d5fcf0921d Mon Sep 17 00:00:00 2001 From: Syndamia Date: Sun, 29 Jan 2023 20:58:52 +0200 Subject: [IPL/T] Added current progress of implementing functions --- .../Transpiler/src/Value/Function/UserFunction.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 Year 2/Implementation of Programming Languages/Transpiler/src/Value/Function/UserFunction.cpp (limited to 'Year 2/Implementation of Programming Languages/Transpiler/src/Value/Function/UserFunction.cpp') diff --git a/Year 2/Implementation of Programming Languages/Transpiler/src/Value/Function/UserFunction.cpp b/Year 2/Implementation of Programming Languages/Transpiler/src/Value/Function/UserFunction.cpp new file mode 100644 index 0000000..a9841d3 --- /dev/null +++ b/Year 2/Implementation of Programming Languages/Transpiler/src/Value/Function/UserFunction.cpp @@ -0,0 +1,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 args, std::deque body) : Function(name, args), body(body) {} -- cgit v1.3.1-23-gd82d