@ -401,6 +401,16 @@ GDScriptFunction *GDScriptByteCodeGenerator::write_end() {
function - > _instruction_args_size = instr_args_max ;
function - > _ptrcall_args_size = ptrcall_max ;
# ifdef DEBUG_ENABLED
function - > operator_names = operator_names ;
function - > setter_names = setter_names ;
function - > getter_names = getter_names ;
function - > builtin_methods_names = builtin_methods_names ;
function - > constructors_names = constructors_names ;
function - > utilities_names = utilities_names ;
function - > gds_utilities_names = gds_utilities_names ;
# endif
ended = true ;
return function ;
}
@ -551,6 +561,9 @@ void GDScriptByteCodeGenerator::write_unary_operator(const Address &p_target, Va
append ( Address ( ) ) ;
append ( p_target ) ;
append ( op_func ) ;
# ifdef DEBUG_ENABLED
add_debug_name ( operator_names , get_operation_pos ( op_func ) , Variant : : get_operator_name ( p_operator ) ) ;
# endif
return ;
}
@ -580,6 +593,9 @@ void GDScriptByteCodeGenerator::write_binary_operator(const Address &p_target, V
append ( p_right_operand ) ;
append ( p_target ) ;
append ( op_func ) ;
# ifdef DEBUG_ENABLED
add_debug_name ( operator_names , get_operation_pos ( op_func ) , Variant : : get_operator_name ( p_operator ) ) ;
# endif
return ;
}
@ -765,6 +781,9 @@ void GDScriptByteCodeGenerator::write_set_named(const Address &p_target, const S
append ( p_target ) ;
append ( p_source ) ;
append ( setter ) ;
# ifdef DEBUG_ENABLED
add_debug_name ( setter_names , get_setter_pos ( setter ) , p_name ) ;
# endif
return ;
}
append_opcode ( GDScriptFunction : : OPCODE_SET_NAMED ) ;
@ -780,6 +799,9 @@ void GDScriptByteCodeGenerator::write_get_named(const Address &p_target, const S
append ( p_source ) ;
append ( p_target ) ;
append ( getter ) ;
# ifdef DEBUG_ENABLED
add_debug_name ( getter_names , get_getter_pos ( getter ) , p_name ) ;
# endif
return ;
}
append_opcode ( GDScriptFunction : : OPCODE_GET_NAMED ) ;
@ -972,14 +994,18 @@ void GDScriptByteCodeGenerator::write_call_async(const Address &p_target, const
append ( p_function_name ) ;
}
void GDScriptByteCodeGenerator : : write_call_gdscript_utility ( const Address & p_target , GDScriptUtilityFunctions : : FunctionPtr p_function , const Vector < Address > & p_arguments ) {
void GDScriptByteCodeGenerator : : write_call_gdscript_utility ( const Address & p_target , const StringName & p_function , const Vector < Address > & p_arguments ) {
append_opcode_and_argcount ( GDScriptFunction : : OPCODE_CALL_GDSCRIPT_UTILITY , 1 + p_arguments . size ( ) ) ;
GDScriptUtilityFunctions : : FunctionPtr gds_function = GDScriptUtilityFunctions : : get_function ( p_function ) ;
for ( int i = 0 ; i < p_arguments . size ( ) ; i + + ) {
append ( p_arguments [ i ] ) ;
}
append ( get_call_target ( p_target ) ) ;
append ( p_arguments . size ( ) ) ;
append ( p_function ) ;
append ( gds_function ) ;
# ifdef DEBUG_ENABLED
add_debug_name ( gds_utilities_names , get_gds_utility_pos ( gds_function ) , p_function ) ;
# endif
}
void GDScriptByteCodeGenerator : : write_call_utility ( const Address & p_target , const StringName & p_function , const Vector < Address > & p_arguments ) {
@ -1012,6 +1038,9 @@ void GDScriptByteCodeGenerator::write_call_utility(const Address &p_target, cons
append ( target ) ;
append ( p_arguments . size ( ) ) ;
append ( Variant : : get_validated_utility_function ( p_function ) ) ;
# ifdef DEBUG_ENABLED
add_debug_name ( utilities_names , get_utility_pos ( Variant : : get_validated_utility_function ( p_function ) ) , p_function ) ;
# endif
} else {
append_opcode_and_argcount ( GDScriptFunction : : OPCODE_CALL_UTILITY , 1 + p_arguments . size ( ) ) ;
for ( int i = 0 ; i < p_arguments . size ( ) ; i + + ) {
@ -1074,6 +1103,9 @@ void GDScriptByteCodeGenerator::write_call_builtin_type(const Address &p_target,
append ( target ) ;
append ( p_arguments . size ( ) ) ;
append ( Variant : : get_validated_builtin_method ( p_type , p_method ) ) ;
# ifdef DEBUG_ENABLED
add_debug_name ( builtin_methods_names , get_builtin_method_pos ( Variant : : get_validated_builtin_method ( p_type , p_method ) ) , p_method ) ;
# endif
}
void GDScriptByteCodeGenerator : : 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 ) {
@ -1263,6 +1295,9 @@ void GDScriptByteCodeGenerator::write_construct(const Address &p_target, Variant
append ( get_call_target ( p_target ) ) ;
append ( p_arguments . size ( ) ) ;
append ( Variant : : get_validated_constructor ( p_type , valid_constructor ) ) ;
# ifdef DEBUG_ENABLED
add_debug_name ( constructors_names , get_constructor_pos ( Variant : : get_validated_constructor ( p_type , valid_constructor ) ) , Variant : : get_type_name ( p_type ) ) ;
# endif
return ;
}
}