You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2026-01-05 19:31:35 +00:00
Refactor variant built-in methods yet again.
* Using C-style function pointers now, InternalMethod is gone. * This ensures much better performance in typed code. * Renamed builtin_funcs to utility_funcs, to avoid naming confusion
This commit is contained in:
@@ -737,16 +737,16 @@ void DocData::generate(bool p_basic_types) {
|
||||
c.properties.push_back(pd);
|
||||
}
|
||||
|
||||
List<StringName> builtin_funcs;
|
||||
Variant::get_builtin_function_list(&builtin_funcs);
|
||||
builtin_funcs.sort_custom<StringName::AlphCompare>();
|
||||
for (List<StringName>::Element *E = builtin_funcs.front(); E; E = E->next()) {
|
||||
List<StringName> utility_functions;
|
||||
Variant::get_utility_function_list(&utility_functions);
|
||||
utility_functions.sort_custom<StringName::AlphCompare>();
|
||||
for (List<StringName>::Element *E = utility_functions.front(); E; E = E->next()) {
|
||||
MethodDoc md;
|
||||
md.name = E->get();
|
||||
//return
|
||||
if (Variant::has_builtin_func_return_value(E->get())) {
|
||||
if (Variant::has_utility_function_return_value(E->get())) {
|
||||
PropertyInfo pi;
|
||||
pi.type = Variant::get_builtin_func_return_type(E->get());
|
||||
pi.type = Variant::get_utility_function_return_type(E->get());
|
||||
if (pi.type == Variant::NIL) {
|
||||
pi.usage = PROPERTY_USAGE_NIL_IS_VARIANT;
|
||||
}
|
||||
@@ -755,13 +755,13 @@ void DocData::generate(bool p_basic_types) {
|
||||
md.return_type = ad.type;
|
||||
}
|
||||
|
||||
if (Variant::is_builtin_func_vararg(E->get())) {
|
||||
if (Variant::is_utility_function_vararg(E->get())) {
|
||||
md.qualifiers = "vararg";
|
||||
} else {
|
||||
for (int i = 0; i < Variant::get_builtin_func_argument_count(E->get()); i++) {
|
||||
for (int i = 0; i < Variant::get_utility_function_argument_count(E->get()); i++) {
|
||||
PropertyInfo pi;
|
||||
pi.type = Variant::get_builtin_func_argument_type(E->get(), i);
|
||||
pi.name = Variant::get_builtin_func_argument_name(E->get(), i);
|
||||
pi.type = Variant::get_utility_function_argument_type(E->get(), i);
|
||||
pi.name = Variant::get_utility_function_argument_name(E->get(), i);
|
||||
if (pi.type == Variant::NIL) {
|
||||
pi.usage = PROPERTY_USAGE_NIL_IS_VARIANT;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user