From 16ef304c5fa614760a783aa02dbbb6cc20903f78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Mikrut?= <41945903+qarmin@users.noreply.github.com> Date: Tue, 6 Jul 2021 17:59:07 +0200 Subject: [PATCH] Workaround for remove/remove_at (#58) --- AutomaticBugs/BasicData.gd | 15 +++++++++------ AutomaticBugs/FunctionExecutor.gd | 2 +- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/AutomaticBugs/BasicData.gd b/AutomaticBugs/BasicData.gd index 0505e0c..4699651 100644 --- a/AutomaticBugs/BasicData.gd +++ b/AutomaticBugs/BasicData.gd @@ -257,16 +257,19 @@ func check_if_is_allowed(method_data : Dictionary) -> bool: return true -func remove_disabled_methods(method_list : Array, exceptions : Array) -> void: - for exception in exceptions: +func remove_disabled_methods(method_list : Array, exceptions : Array) -> Array: + var new_list : Array = [] # Workaround for GH 50139 renaming remove to remove_at + for method_index in range(method_list.size()): var index: int = -1 - for method_index in range(method_list.size()): + for exception in exceptions: if method_list[method_index].get("name") == exception: index = method_index break - if index != -1: - method_list.remove(index) - + if index == -1: + new_list.append(method_list[method_index]) + + method_list = new_list + return new_list # Return all available classes which can be used diff --git a/AutomaticBugs/FunctionExecutor.gd b/AutomaticBugs/FunctionExecutor.gd index 7e4acf0..b841f7e 100644 --- a/AutomaticBugs/FunctionExecutor.gd +++ b/AutomaticBugs/FunctionExecutor.gd @@ -48,7 +48,7 @@ func tests_all_functions() -> void: var method_list: Array = ClassDB.class_get_method_list(name_of_class, !use_parent_methods) # Removes excluded methods - BasicData.remove_disabled_methods(method_list, BasicData.function_exceptions) + method_list = BasicData.remove_disabled_methods(method_list, BasicData.function_exceptions) for _i in range(1): for method_data in method_list: