LeviLamina
Loading...
Searching...
No Matches
ModuleBindingBuilder.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/scripting/binding_type/EnumBinding.h"
7
8// auto generated forward declare list
9// clang-format off
10namespace Scripting { class Release; }
11namespace Scripting { class RuntimeConditions; }
12namespace Scripting { class TypeMapBuilder; }
13namespace Scripting { struct ClassBinding; }
14namespace Scripting { struct ConstantFactory; }
15namespace Scripting { struct EnumBinding; }
16namespace Scripting { struct ErrorBinding; }
17namespace Scripting { struct FunctionBinding; }
18namespace Scripting { struct InterfaceBinding; }
19namespace Scripting { struct ModuleBinding; }
20namespace Scripting { struct ObjectFactory; }
21namespace Scripting { struct TaggedBinding; }
22namespace Scripting { struct TypeMapData; }
23// clang-format on
24
25namespace Scripting {
26
27class ModuleBindingBuilder {
28public:
29 // ModuleBindingBuilder inner types declare
30 // clang-format off
31 struct BuilderData;
32 // clang-format on
33
34 // ModuleBindingBuilder inner types define
35 struct BuilderData {
36 public:
37 // member variables
38 // NOLINTBEGIN
51 // NOLINTEND
52
53 public:
54 // prevent constructor by default
55 BuilderData& operator=(BuilderData const&);
56 BuilderData(BuilderData const&);
57
58 public:
59 // member functions
60 // NOLINTBEGIN
61 MCNAPI BuilderData();
62
63 MCNAPI ::Scripting::ModuleBindingBuilder::BuilderData&
65
66 MCNAPI ~BuilderData();
67 // NOLINTEND
68
69 public:
70 // constructor thunks
71 // NOLINTBEGIN
72 MCNAPI void* $ctor();
73 // NOLINTEND
74
75 public:
76 // destructor thunk
77 // NOLINTBEGIN
78 MCNAPI void $dtor();
79 // NOLINTEND
80 };
81
82public:
83 // member variables
84 // NOLINTBEGIN
86 // NOLINTEND
87
88public:
89 // prevent constructor by default
90 ModuleBindingBuilder& operator=(ModuleBindingBuilder const&);
91 ModuleBindingBuilder(ModuleBindingBuilder const&);
92 ModuleBindingBuilder();
93
94public:
95 // member functions
96 // NOLINTBEGIN
97 MCNAPI bool _allowed(
98 ::std::vector<::Scripting::Release> const& releases,
99 bool allowUntagged,
100 ::std::vector<::std::string> const& additionalTags
101 ) const;
102
103 MCNAPI ::std::vector<::Scripting::ClassBinding> _filterClassBindings(
104 ::std::vector<::Scripting::ClassBinding> const& classBindings,
105 bool allowUntagged,
106 ::std::vector<::std::string> const& additionalTags
107 ) const;
108
109 MCNAPI ::std::vector<::Scripting::EnumBinding> _filterEnumBindings(
110 ::std::vector<::Scripting::EnumBinding> const& enumBindings,
111 bool allowUntagged,
112 ::std::vector<::std::string> const& additionalTags
113 ) const;
114
115 MCNAPI ::std::vector<::Scripting::EnumBinding::EnumValue> _filterEnumValueMap(
116 ::std::vector<::Scripting::ConstantFactory> const& filteredConstants,
117 ::std::vector<::Scripting::EnumBinding::EnumValue> const& valueMap
118 ) const;
119
120 MCNAPI ::std::vector<::Scripting::ErrorBinding> _filterErrorBindings(
121 ::std::vector<::Scripting::ErrorBinding> const& errorBindings,
122 bool allowUnreleased,
123 ::std::vector<::std::string> const& allowedTags
124 ) const;
125
126 MCNAPI ::std::vector<::Scripting::InterfaceBinding> _filterInterfaceBindings(
127 ::std::vector<::Scripting::InterfaceBinding> const& interfaceBindings,
128 bool allowUntagged,
129 ::std::vector<::std::string> const& additionalTags
130 ) const;
131
132 MCNAPI ::std::vector<::Scripting::TypeMapData> _filterTypeMaps(
133 ::std::vector<::Scripting::TypeMapData> const& typeMaps,
134 bool allowUntagged,
135 ::std::vector<::std::string> const& additionalTags
136 ) const;
137
138 MCNAPI ::std::vector<::Scripting::ClassBinding>
139 _orderClassBindingsByDependency(::std::vector<::Scripting::ClassBinding>& unorderedBindings) const;
140
141 MCNAPI ::Scripting::ModuleBinding build(
142 bool allowUntagged,
143 ::std::vector<::std::string> const& additionalTags,
144 ::Scripting::RuntimeConditions const& currentRuntimeConditions
145 );
146
147 MCNAPI ::Scripting::ModuleBindingBuilder& classBinding(::Scripting::ClassBinding&& classBinding);
148
149 MCNAPI ::Scripting::ModuleBindingBuilder& createTypeMap(::Scripting::TypeMapBuilder& typeMapBuilder);
150
151 MCNAPI ::Scripting::ModuleBindingBuilder& enumBinding(::Scripting::EnumBinding&& enumBinding);
152
153 MCNAPI ::Scripting::ModuleBindingBuilder& errorBinding(::Scripting::ErrorBinding&& errorBinding);
154
155 MCNAPI ::Scripting::ModuleBindingBuilder& interfaceBinding(::Scripting::InterfaceBinding&& interfaceBinding);
156
158 // NOLINTEND
159
160public:
161 // static functions
162 // NOLINTBEGIN
165 ::std::string const& name,
166 ::Scripting::TaggedBinding const& binding
167 );
168
171 ::std::string const& name,
172 ::Scripting::TaggedBinding const& binding
173 );
174
176 ::Scripting::ModuleBinding const& moduleBinding,
177 ::std::string const& name,
178 ::Scripting::TaggedBinding const& binding
179 );
180
181 MCNAPI static void _validateClassConstructors(::Scripting::ModuleBinding const& moduleBinding);
182
183 MCNAPI static void _validateModuleNames(::Scripting::ModuleBinding const& moduleBinding);
184 // NOLINTEND
185
186public:
187 // static variables
188 // NOLINTBEGIN
189 MCNAPI static ::Scripting::ConstantFactory& mEmptyConstantFactory();
190
191 MCNAPI static ::Scripting::FunctionBinding& mEmptyFunctionBinding();
192
193 MCNAPI static ::Scripting::ObjectFactory& mEmptyObjectFactory();
194 // NOLINTEND
195
196public:
197 // destructor thunk
198 // NOLINTBEGIN
199 MCNAPI void $dtor();
200 // NOLINTEND
201};
202
203} // namespace Scripting
MCAPI ::std::vector<::Scripting::EnumBinding > _filterEnumBindings(::std::vector<::Scripting::EnumBinding > const &enumBindings, bool allowUntagged, ::std::vector<::std::string > const &additionalTags) const
MCAPI::Scripting::ModuleBindingBuilder & enumBinding(::Scripting::EnumBinding &&enumBinding)
MCAPI::Scripting::ModuleBindingBuilder & createTypeMap(::Scripting::TypeMapBuilder &typeMapBuilder)
static MCAPI bool _assertEnumMemberSymbolDoNotExist(::Scripting::EnumBinding const &enumBinding, ::std::string const &name, ::Scripting::TaggedBinding const &binding)
static MCAPI bool _assertModuleMemberSymbolDoNotExist(::Scripting::ModuleBinding const &moduleBinding, ::std::string const &name, ::Scripting::TaggedBinding const &binding)
MCAPI bool _allowed(::std::vector<::Scripting::Release > const &releases, bool allowUntagged, ::std::vector<::std::string > const &additionalTags) const
static MCAPI ::Scripting::ConstantFactory & mEmptyConstantFactory()
static MCAPI bool _assertClassMemberSymbolDoNotExist(::Scripting::ClassBinding const &classBinding, ::std::string const &name, ::Scripting::TaggedBinding const &binding)
MCAPI::Scripting::ModuleBindingBuilder & errorBinding(::Scripting::ErrorBinding &&errorBinding)
MCAPI ::std::vector<::Scripting::ClassBinding > _filterClassBindings(::std::vector<::Scripting::ClassBinding > const &classBindings, bool allowUntagged, ::std::vector<::std::string > const &additionalTags) const
MCAPI::Scripting::ModuleBindingBuilder & classBinding(::Scripting::ClassBinding &&classBinding)
MCAPI ::std::vector<::Scripting::TypeMapData > _filterTypeMaps(::std::vector<::Scripting::TypeMapData > const &typeMaps, bool allowUntagged, ::std::vector<::std::string > const &additionalTags) const
MCAPI ::std::vector<::Scripting::EnumBinding::EnumValue > _filterEnumValueMap(::std::vector<::Scripting::ConstantFactory > const &filteredConstants, ::std::vector<::Scripting::EnumBinding::EnumValue > const &valueMap) const
static MCAPI void _validateClassConstructors(::Scripting::ModuleBinding const &moduleBinding)
static MCAPI ::Scripting::ObjectFactory & mEmptyObjectFactory()
MCAPI ::std::vector<::Scripting::ErrorBinding > _filterErrorBindings(::std::vector<::Scripting::ErrorBinding > const &errorBindings, bool allowUnreleased, ::std::vector<::std::string > const &allowedTags) const
MCAPI ::std::vector<::Scripting::ClassBinding > _orderClassBindingsByDependency(::std::vector<::Scripting::ClassBinding > &unorderedBindings) const
MCAPI::Scripting::ModuleBindingBuilder & interfaceBinding(::Scripting::InterfaceBinding &&interfaceBinding)
static MCAPI void _validateModuleNames(::Scripting::ModuleBinding const &moduleBinding)
static MCAPI ::Scripting::FunctionBinding & mEmptyFunctionBinding()
MCAPI::Scripting::ModuleBinding build(bool allowUntagged, ::std::vector<::std::string > const &additionalTags, ::Scripting::RuntimeConditions const &currentRuntimeConditions)
MCAPI ::std::vector<::Scripting::InterfaceBinding > _filterInterfaceBindings(::std::vector<::Scripting::InterfaceBinding > const &interfaceBindings, bool allowUntagged, ::std::vector<::std::string > const &additionalTags) const
Definition Release.h:16
Definition RuntimeConditions.h:12
Definition TypeMapBuilder.h:15
Definition ClassBinding.h:19
Definition ConstantFactory.h:15
Definition EnumBinding.h:15
Definition ErrorBinding.h:15
Definition FunctionBinding.h:10
Definition InterfaceBinding.h:16
Definition ModuleBindingBuilder.h:35
MCAPI::Scripting::ModuleBindingBuilder::BuilderData & operator=(::Scripting::ModuleBindingBuilder::BuilderData &&)
Definition ModuleBinding.h:23
Definition ObjectFactory.h:17
Definition TaggedBinding.h:13
Definition TypeMapData.h:10
Definition Alias.h:14