| 681 | } |
| 682 | |
| 683 | Error GDScript::_static_init() { |
| 684 | if (likely(valid) && static_initializer) { |
| 685 | Callable::CallError call_err; |
| 686 | static_initializer->call(nullptr, nullptr, 0, call_err); |
| 687 | if (call_err.error != Callable::CallError::CALL_OK) { |
| 688 | return ERR_CANT_CREATE; |
| 689 | } |
| 690 | } |
| 691 | Error err = OK; |
| 692 | for (KeyValue<StringName, Ref<GDScript>> &inner : subclasses) { |
| 693 | err = inner.value->_static_init(); |
| 694 | if (err) { |
| 695 | break; |
| 696 | } |
| 697 | } |
| 698 | return err; |
| 699 | } |
| 700 | |
| 701 | void GDScript::_static_default_init() { |
| 702 | for (const KeyValue<StringName, MemberInfo> &E : static_variables_indices) { |