lang_2023/include/builtin_methods.hpp
2023-05-04 16:11:25 +03:00

31 lines
720 B
C++

#pragma once
#include <vector>
// for clangd
#include "types.hpp"
#include "utils.hpp"
// TODO
namespace info {
struct BuiltinFunction {
public:
BuiltinFunction(const std::vector<utils::IdType>& argument_types, utils::IdType return_type)
: argument_types(argument_types), return_type(return_type) {}
static std::optional<BuiltinFunction> FindMethod(const std::string& name, info::type::TypeManager& type_manager) {
return std::nullopt;
}
static std::optional<BuiltinFunction> FindStaticMethod(const std::string& name, info::type::TypeManager& type_manager) {
return std::nullopt;
}
public:
std::vector<utils::IdType> argument_types;
utils::IdType return_type;
};
} // namespace info