sandbox
Loading...
Searching...
No Matches
method_info.hpp
1// SPDX-License-Identifier: MIT
2#ifndef LIBSBX_SCRIPTING_MANAGED_METHOD_INFO_HPP_
3#define LIBSBX_SCRIPTING_MANAGED_METHOD_INFO_HPP_
4
5#include <vector>
6
7#include <libsbx/scripting/managed/core.hpp>
8#include <libsbx/scripting/managed/string.hpp>
9#include <libsbx/scripting/managed/type.hpp>
10#include <libsbx/scripting/managed/attribute.hpp>
11
12namespace sbx::scripting::managed {
13
15
16 friend class type;
17
18public:
19
20 auto get_name() const -> string;
21
22 auto get_return_type() -> type&;
23
24 auto get_parameter_types() -> const std::vector<type*>&;
25
26 auto get_accessibility() const -> type_accessibility;
27
28 auto get_attributes() const -> std::vector<attribute>;
29
30private:
31
32 handle _handle = -1;
33 type* _return_type = nullptr;
34 std::vector<type*> _parameter_types;
35
36}; // class method_info
37
38} // namespace sbx::scripting::managed
39
40#endif // LIBSBX_SCRIPTING_MANAGED_METHOD_INFO_HPP_
Definition: method_info.hpp:14
Definition: string.hpp:11
Definition: type.hpp:11