You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-04 12:00:25 +00:00
Merge pull request #70948 from vnen/gdscript-ptr-method-name-in-debug
This commit is contained in:
@@ -95,6 +95,24 @@ class GDScriptByteCodeGenerator : public GDScriptCodeGenerator {
|
||||
RBMap<MethodBind *, int> method_bind_map;
|
||||
RBMap<GDScriptFunction *, int> lambdas_map;
|
||||
|
||||
#if DEBUG_ENABLED
|
||||
// Keep method and property names for pointer and validated operations.
|
||||
// Used when disassembling the bytecode.
|
||||
Vector<String> operator_names;
|
||||
Vector<String> setter_names;
|
||||
Vector<String> getter_names;
|
||||
Vector<String> builtin_methods_names;
|
||||
Vector<String> constructors_names;
|
||||
Vector<String> utilities_names;
|
||||
Vector<String> gds_utilities_names;
|
||||
void add_debug_name(Vector<String> &vector, int index, const String &name) {
|
||||
if (index >= vector.size()) {
|
||||
vector.resize(index + 1);
|
||||
}
|
||||
vector.write[index] = name;
|
||||
}
|
||||
#endif
|
||||
|
||||
// Lists since these can be nested.
|
||||
List<int> if_jmp_addrs;
|
||||
List<int> for_jmp_addrs;
|
||||
@@ -467,8 +485,8 @@ public:
|
||||
virtual void write_super_call(const Address &p_target, const StringName &p_function_name, const Vector<Address> &p_arguments) override;
|
||||
virtual void write_call_async(const Address &p_target, const Address &p_base, const StringName &p_function_name, const Vector<Address> &p_arguments) override;
|
||||
virtual void write_call_utility(const Address &p_target, const StringName &p_function, const Vector<Address> &p_arguments) override;
|
||||
virtual void write_call_gdscript_utility(const Address &p_target, GDScriptUtilityFunctions::FunctionPtr p_function, const Vector<Address> &p_arguments) override;
|
||||
void write_call_builtin_type(const Address &p_target, const Address &p_base, Variant::Type p_type, const StringName &p_method, bool p_is_static, const Vector<Address> &p_arguments);
|
||||
virtual void write_call_gdscript_utility(const Address &p_target, const StringName &p_function, const Vector<Address> &p_arguments) override;
|
||||
virtual void write_call_builtin_type(const Address &p_target, const Address &p_base, Variant::Type p_type, const StringName &p_method, const Vector<Address> &p_arguments) override;
|
||||
virtual void write_call_builtin_type_static(const Address &p_target, Variant::Type p_type, const StringName &p_method, const Vector<Address> &p_arguments) override;
|
||||
virtual void write_call_native_static(const Address &p_target, const StringName &p_class, const StringName &p_method, const Vector<Address> &p_arguments) override;
|
||||
|
||||
Reference in New Issue
Block a user