| 146 | #endif |
| 147 | |
| 148 | CHAISCRIPT_MODULE_EXPORT chaiscript::ModulePtr create_chaiscript_module_test_module() |
| 149 | { |
| 150 | chaiscript::ModulePtr m(new chaiscript::Module()); |
| 151 | |
| 152 | m->add(chaiscript::fun(hello_world), "hello_world"); |
| 153 | |
| 154 | m->add(chaiscript::user_type<TestBaseType>(), "TestBaseType"); |
| 155 | m->add(chaiscript::user_type<TestDerivedType>(), "TestDerivedType"); |
| 156 | m->add(chaiscript::user_type<TestMoreDerivedType>(), "TestMoreDerivedType"); |
| 157 | m->add(chaiscript::user_type<Type2>(), "Type2"); |
| 158 | |
| 159 | m->add(chaiscript::constructor<TestBaseType ()>(), "TestBaseType"); |
| 160 | // m->add(chaiscript::constructor<TestBaseType (int)>(), "TestBaseType"); |
| 161 | m->add(chaiscript::constructor<TestBaseType (const TestBaseType &)>(), "TestBaseType"); |
| 162 | m->add(chaiscript::constructor<TestBaseType (int *)>(), "TestBaseType"); |
| 163 | |
| 164 | m->add(chaiscript::constructor<TestDerivedType ()>(), "TestDerivedType"); |
| 165 | m->add(chaiscript::constructor<TestDerivedType (const TestDerivedType &)>(), "TestDerivedType"); |
| 166 | |
| 167 | m->add(chaiscript::constructor<TestMoreDerivedType ()>(), "TestMoreDerivedType"); |
| 168 | m->add(chaiscript::constructor<TestMoreDerivedType (const TestMoreDerivedType &)>(), "TestMoreDerivedType"); |
| 169 | |
| 170 | /// \todo automatic chaining of base classes? |
| 171 | m->add(chaiscript::base_class<TestBaseType, TestDerivedType>()); |
| 172 | m->add(chaiscript::base_class<TestBaseType, TestMoreDerivedType>()); |
| 173 | m->add(chaiscript::base_class<TestDerivedType, TestMoreDerivedType>()); |
| 174 | |
| 175 | m->add(chaiscript::fun(&TestDerivedType::derived_only_func), "derived_only_func"); |
| 176 | |
| 177 | m->add(chaiscript::fun(&derived_type_factory), "derived_type_factory"); |
| 178 | m->add(chaiscript::fun(&more_derived_type_factory), "more_derived_type_factory"); |
| 179 | m->add(chaiscript::fun(&null_factory), "null_factory"); |
| 180 | |
| 181 | m->add(chaiscript::fun(&TestDerivedType::func), "func"); |
| 182 | |
| 183 | m->add(chaiscript::fun(&TestBaseType::func), "func"); |
| 184 | m->add(chaiscript::fun(&TestBaseType::val), "val"); |
| 185 | m->add(chaiscript::fun(&TestBaseType::const_val), "const_val"); |
| 186 | m->add(chaiscript::fun(&TestBaseType::const_val_ptr), "const_val_ptr"); |
| 187 | m->add(chaiscript::fun(&TestBaseType::get_const_val_ptr), "get_const_val_ptr"); |
| 188 | m->add(chaiscript::fun(&TestBaseType::base_only_func), "base_only_func"); |
| 189 | m->add(chaiscript::fun(&TestBaseType::set_string_val), "set_string_val"); |
| 190 | |
| 191 | m->add(chaiscript::fun(&TestBaseType::mdarray), "mdarray"); |
| 192 | chaiscript::bootstrap::array<int[2][3][5]>("IntArray_2_3_5", *m); |
| 193 | chaiscript::bootstrap::array<int[3][5]>("IntArray_3_5", *m); |
| 194 | chaiscript::bootstrap::array<int[5]>("IntArray_5", *m); |
| 195 | |
| 196 | // member that is a function |
| 197 | m->add(chaiscript::fun(&TestBaseType::func_member), "func_member"); |
| 198 | m->add(chaiscript::fun(&get_new_int), "get_new_int"); |
| 199 | |
| 200 | |
| 201 | m->add_global_const(chaiscript::const_var(TestValue1), "TestValue1"); |
| 202 | |
| 203 | m->add(chaiscript::user_type<TestEnum>(), "TestEnum"); |
| 204 | |
| 205 | m->add(chaiscript::fun(&to_int), "to_int"); |
nothing calls this directly
no test coverage detected