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