godot/modules/gdscript/tests/scripts/analyzer/features
ocean (they/them) 861743cd04 GDScript: add errors when calling unimplemented virtual functions
This PR does a small refactor of how method flags are handled in the GDScript analyzer.
This way, it adds support for the analyzer to use any of MethodInfo's flags, where previously
it could only use METHOD_FLAG_STATIC and METHOD_FLAG_VARARG.

As a side-effect, this also normalizes behavior between editor and release templates, which fixes #76938.

The tests added also brought a different issue to light, where using `super()` appears to generate a
return variable discarded on calling super's _init(), which doesn't have a return value. This should be
tackled in a different PR, which will have to change the output of this PR's tests.
2023-06-15 07:16:31 -04:00
..
allow_get_node_with_onready.gd GDScript: Add warnings that are set to error by default 2023-02-02 12:07:25 -03:00
allow_get_node_with_onready.out GDScript: Add warnings that are set to error by default 2023-02-02 12:07:25 -03:00
allow_void_function_to_return_void.gd GDScript: Allow void functions to return calls to other void functions 2023-01-31 11:37:30 -03:00
allow_void_function_to_return_void.out GDScript: Reorganize and unify warnings 2023-04-28 18:25:11 +03:00
annotation_constant_expression_parameters.gd GDScript: Allow constant expressions in annotations 2023-01-25 18:43:56 +03:00
annotation_constant_expression_parameters.out GDScript: Allow constant expressions in annotations 2023-01-25 18:43:56 +03:00
array_string_stringname_equivalent.gd Fix String type compatibility being too permissive 2022-12-12 07:27:41 -05:00
array_string_stringname_equivalent.out Fix String type compatibility being too permissive 2022-12-12 07:27:41 -05:00
as.gd
as.out
assert_literal_false.gd GDScript: Allow usage of literal false in assert without a warning 2023-03-17 05:37:56 +02:00
assert_literal_false.out GDScript: Allow usage of literal false in assert without a warning 2023-03-17 05:37:56 +02:00
assign_to_native_enum_property.gd GDScript: Add warnings that are set to error by default 2023-02-02 12:07:25 -03:00
assign_to_native_enum_property.out GDScript: Add warnings that are set to error by default 2023-02-02 12:07:25 -03:00
assignments_with_untyped.gd GDScript: Disallow type inference with untyped initializer 2023-01-13 20:51:29 +02:00
assignments_with_untyped.out GDScript: Disallow type inference with untyped initializer 2023-01-13 20:51:29 +02:00
assymetric_assignment_good.gd GDScript: Fix constant conversions 2023-01-29 00:01:53 +02:00
assymetric_assignment_good.out GDScript: Fix constant conversions 2023-01-29 00:01:53 +02:00
auto_inferred_type_dont_error.gd
auto_inferred_type_dont_error.out GDScript: Reorganize and unify warnings 2023-04-28 18:25:11 +03:00
await_type_inference.gd GDScript: Fix await type inference 2023-02-06 23:02:14 +03:00
await_type_inference.out GDScript: Fix await type inference 2023-02-06 23:02:14 +03:00
await_with_signals_no_warning.gd GDScript: Don't show redundant await warning on unknown types 2022-05-24 14:37:50 -03:00
await_with_signals_no_warning.out GDScript: Don't show redundant await warning on unknown types 2022-05-24 14:37:50 -03:00
base_outer_resolution_a.notest.gd Fix constant base typing in extended GDScript class 2022-12-10 13:39:45 -05:00
base_outer_resolution_b.notest.gd Fix constant base typing in extended GDScript class 2022-12-10 13:39:45 -05:00
base_outer_resolution_base.notest.gd Fix constant base typing in extended GDScript class 2022-12-10 13:39:45 -05:00
base_outer_resolution_c.notest.gd Fix constant base typing in extended GDScript class 2022-12-10 13:39:45 -05:00
base_outer_resolution_extend.notest.gd Fix constant base typing in extended GDScript class 2022-12-10 13:39:45 -05:00
base_outer_resolution.gd Add GDScript .editorconfig rules 2023-01-10 12:25:35 -05:00
base_outer_resolution.out Fix constant base typing in extended GDScript class 2022-12-10 13:39:45 -05:00
call_self_get_name.gd
call_self_get_name.out
call_static_builtin_function.gd
call_static_builtin_function.out
cast_non_null.gd GDScript: Fix cast producing null 2022-12-12 19:57:26 -05:00
cast_non_null.out GDScript: Fix cast producing null 2022-12-12 19:57:26 -05:00
class_from_parent.gd Add GDScript .editorconfig rules 2023-01-10 12:25:35 -05:00
class_from_parent.out
class_inference_is_weak.gd
class_inference_is_weak.out
const_conversions.gd GDScript: Fix constant conversions 2023-01-29 00:01:53 +02:00
const_conversions.out GDScript: Fix constant conversions 2023-01-29 00:01:53 +02:00
constants_from_parent.gd
constants_from_parent.out
default_arg_convertable.gd Unify typing of variables, constants and parameters in GDScript 2023-01-06 01:10:04 +02:00
default_arg_convertable.out Unify typing of variables, constants and parameters in GDScript 2023-01-06 01:10:04 +02:00
enum_access_types.gd Assorted enum and native type fixes 2023-01-09 11:08:07 -05:00
enum_access_types.out Assorted enum and native type fixes 2023-01-09 11:08:07 -05:00
enum_as_const.gd Fix usage of Enum as constant 2022-12-28 23:04:40 +02:00
enum_as_const.out Fix usage of Enum as constant 2022-12-28 23:04:40 +02:00
enum_assign_enum_to_int_typed_var.gd
enum_assign_enum_to_int_typed_var.out
enum_assign_int_cast_to_same_enum.gd
enum_assign_int_cast_to_same_enum.out
enum_assign_other_enum_cast_to_same_enum.gd
enum_assign_other_enum_cast_to_same_enum.out
enum_assign_same_enum.gd
enum_assign_same_enum.out
enum_duplicate_into_dict.gd Fix GDScript code style regarding colon 2023-03-05 17:03:20 +03:00
enum_duplicate_into_dict.out Assorted enum and native type fixes 2023-01-09 11:08:07 -05:00
enum_from_base.gd Assorted enum and native type fixes 2023-01-09 11:08:07 -05:00
enum_from_base.out Assorted enum and native type fixes 2023-01-09 11:08:07 -05:00
enum_from_outer.gd Assorted enum and native type fixes 2023-01-09 11:08:07 -05:00
enum_from_outer.out Assorted enum and native type fixes 2023-01-09 11:08:07 -05:00
enum_function_typecheck.gd Fix GDScript code style regarding colon 2023-03-05 17:03:20 +03:00
enum_function_typecheck.out Assorted enum and native type fixes 2023-01-09 11:08:07 -05:00
enum_is_treated_as_int.gd
enum_is_treated_as_int.out
enum_named_no_shadow.gd Assorted enum and native type fixes 2023-01-09 11:08:07 -05:00
enum_named_no_shadow.out Assorted enum and native type fixes 2023-01-09 11:08:07 -05:00
enum_native_access_types.gd Fix GDScript code style regarding colon 2023-03-05 17:03:20 +03:00
enum_native_access_types.out Assorted enum and native type fixes 2023-01-09 11:08:07 -05:00
enum_type_is_treated_as_dictionary.gd
enum_type_is_treated_as_dictionary.out
enum_typecheck_inner_class.gd Fix GDScript code style regarding colon 2023-03-05 17:03:20 +03:00
enum_typecheck_inner_class.out Assorted enum and native type fixes 2023-01-09 11:08:07 -05:00
enum_unnamed_depend.gd Fix unnammed enum crash regression 2023-01-18 09:35:48 -05:00
enum_unnamed_depend.out Fix unnammed enum crash regression 2023-01-18 09:35:48 -05:00
enum_value_from_parent.gd
enum_value_from_parent.out
enums_in_range_call.gd GDScript: Fix usage of enum value as range argument 2023-02-23 10:38:53 +02:00
enums_in_range_call.out GDScript: Fix usage of enum value as range argument 2023-02-23 10:38:53 +02:00
extend_abstract_class.gd GDScript: Fix extending abstract classes, forbid their construction 2023-01-12 17:47:10 +02:00
extend_abstract_class.out GDScript: Fix extending abstract classes, forbid their construction 2023-01-12 17:47:10 +02:00
external_enum_as_constant_external.notest.gd Add GDScript .editorconfig rules 2023-01-10 12:25:35 -05:00
external_enum_as_constant.gd Add GDScript .editorconfig rules 2023-01-10 12:25:35 -05:00
external_enum_as_constant.out Fix external enums not assignable as constants 2022-12-17 17:59:38 -05:00
external_inner_base.gd GDScript compiler subclass bugfixes 2022-11-13 02:29:21 -08:00
external_inner_base.out GDScript compiler subclass bugfixes 2022-11-13 02:29:21 -08:00
external_inner_class_as_constant_external.notest.gd Fix external enums not assignable as constants 2022-12-17 17:59:38 -05:00
external_inner_class_as_constant.gd Fix external enums not assignable as constants 2022-12-17 17:59:38 -05:00
external_inner_class_as_constant.out Fix external enums not assignable as constants 2022-12-17 17:59:38 -05:00
for_loop_on_variant.gd GDScript: Fix typing of iterator in for loop 2023-01-13 15:36:11 +02:00
for_loop_on_variant.out GDScript: Fix typing of iterator in for loop 2023-01-13 15:36:11 +02:00
for_range_usage.gd GDScript: Fix range regression 2023-02-24 00:35:11 +02:00
for_range_usage.out GDScript: Fix range regression 2023-02-24 00:35:11 +02:00
function_match_parent_signature_with_default_dict_void.gd Add regression test for gdscript valid function signature 2022-05-03 12:46:09 -07:00
function_match_parent_signature_with_default_dict_void.out Add regression test for gdscript valid function signature 2022-05-03 12:46:09 -07:00
function_match_parent_signature_with_extra_parameters.gd
function_match_parent_signature_with_extra_parameters.out
gdscript_to_preload.notest.gd Fix cyclic references in GDScript 2.0 2022-11-18 16:41:31 -05:00
getter_return_type.gd Fix GDScript code style regarding colon 2023-03-05 17:03:20 +03:00
getter_return_type.out Add return type for GDScript getters 2023-02-15 17:54:38 -05:00
global_enums.gd Make global scope enums accessible as types in GDScript 2023-02-19 13:00:07 -03:00
global_enums.out Make global scope enums accessible as types in GDScript 2023-02-19 13:00:07 -03:00
hard_variants.gd GDScript: Add warnings that are set to error by default 2023-02-02 12:07:25 -03:00
hard_variants.out GDScript: Fix wrong marking of some lines related to Variant as unsafe 2023-01-12 17:21:33 +02:00
inferred_return_type.gd Fix GDScript analyzer null literal 2022-12-22 06:02:34 -05:00
inferred_return_type.out Fix GDScript analyzer null literal 2022-12-22 06:02:34 -05:00
inheritance_signature_check_no_meta.gd GDScript: Fix override signature check of script inheritance 2023-02-21 14:37:08 -03:00
inheritance_signature_check_no_meta.out GDScript: Fix override signature check of script inheritance 2023-02-21 14:37:08 -03:00
inner_base.gd GDScript compiler subclass bugfixes 2022-11-13 02:29:21 -08:00
inner_base.out GDScript compiler subclass bugfixes 2022-11-13 02:29:21 -08:00
inner_class_as_return_type.gd
inner_class_as_return_type.out
lambda_typed.gd GDScript: Fix typing of lambda functions 2023-01-06 16:38:22 +02:00
lambda_typed.out GDScript: Fix typing of lambda functions 2023-01-06 16:38:22 +02:00
local_inference_is_weak.gd
local_inference_is_weak.out
lookup_class_external.notest.gd Fix GDScript base and outer classes, signals and functions lookup order 2023-01-09 20:12:10 -05:00
lookup_class.gd Add GDScript .editorconfig rules 2023-01-10 12:25:35 -05:00
lookup_class.out Fix GDScript base and outer classes, signals and functions lookup order 2023-01-09 20:12:10 -05:00
lookup_signal.gd Add GDScript .editorconfig rules 2023-01-10 12:25:35 -05:00
lookup_signal.out Fix GDScript base and outer classes, signals and functions lookup order 2023-01-09 20:12:10 -05:00
native_typed_assign_null.gd Fix inability to assign null regression 2023-02-17 11:45:56 -05:00
native_typed_assign_null.out Fix inability to assign null regression 2023-02-17 11:45:56 -05:00
null_initializer.gd Unify typing of variables, constants and parameters in GDScript 2023-01-06 01:10:04 +02:00
null_initializer.out Unify typing of variables, constants and parameters in GDScript 2023-01-06 01:10:04 +02:00
onready_on_inner_class_with_non_node_outer.gd GDScript: Fix inheritance check of @onready for inner classes 2023-02-06 14:52:13 -03:00
onready_on_inner_class_with_non_node_outer.out GDScript: Fix inheritance check of @onready for inner classes 2023-02-06 14:52:13 -03:00
out_of_order_external_a.notest.gd GDScript: Allow out of order member resolution 2022-12-14 21:44:05 -05:00
out_of_order_external.gd GDScript: Allow out of order member resolution 2022-12-14 21:44:05 -05:00
out_of_order_external.out GDScript: Allow out of order member resolution 2022-12-14 21:44:05 -05:00
out_of_order.gd Fix enum value regression 2022-12-16 22:48:25 -05:00
out_of_order.out GDScript: Allow out of order member resolution 2022-12-14 21:44:05 -05:00
preload_constant_types_are_inferred.gd Fix cyclic references in GDScript 2.0 2022-11-18 16:41:31 -05:00
preload_constant_types_are_inferred.out fix(gdscript): Infer type from preload const 2022-08-07 16:09:24 +02:00
preload_cyclic_reference_a.notest.gd Fix cyclic references in GDScript 2.0 2022-11-18 16:41:31 -05:00
preload_cyclic_reference_b.notest.gd Fix cyclic references in GDScript 2.0 2022-11-18 16:41:31 -05:00
preload_cyclic_reference.gd Fix cyclic references in GDScript 2.0 2022-11-18 16:41:31 -05:00
preload_cyclic_reference.out Fix cyclic references in GDScript 2.0 2022-11-18 16:41:31 -05:00
preload_script_native_type.gd GDScript: Fix wrong native type for preloaded class 2023-01-03 05:45:06 +02:00
preload_script_native_type.notest.gd GDScript: Fix wrong native type for preloaded class 2023-01-03 05:45:06 +02:00
preload_script_native_type.out GDScript: Fix wrong native type for preloaded class 2023-01-03 05:45:06 +02:00
property_functions.gd
property_functions.out
property_inline.gd Fix GDScript code style regarding colon 2023-03-05 17:03:20 +03:00
property_inline.out Improve null and object printing to avoid confusion with arrays 2022-08-31 15:31:49 +02:00
return_conversions.gd GDScript: Fix implicit conversions for function returns 2023-01-28 23:56:07 +02:00
return_conversions.out GDScript: Fix implicit conversions for function returns 2023-01-28 23:56:07 +02:00
return_variant_typed.gd Add GDScript .editorconfig rules 2023-01-10 12:25:35 -05:00
return_variant_typed.out GDScript: Disallow return with value in void functions 2022-12-29 03:06:13 +02:00
script_typed_assign_null.gd Added check for null objects in gdscript typed assign. 2023-02-21 15:29:07 -05:00
script_typed_assign_null.out Added check for null objects in gdscript typed assign. 2023-02-21 15:29:07 -05:00
static_method_builtin_type.gd
static_method_builtin_type.out
subscript_self.gd
subscript_self.out
ternary_hard_infer.gd GDScript: Fix recently merged test not ignoring warnings 2023-02-06 18:19:34 +01:00
ternary_hard_infer.out GDScript: Fix type certainty for result of ternary operator 2023-02-01 14:52:29 +02:00
type_test_usage.gd GDScript: Rework type check 2023-02-17 19:57:18 +02:00
type_test_usage.out GDScript: Rework type check 2023-02-17 19:57:18 +02:00
typed_array_as_default_parameter.gd GDScript: Fix array as default value for parameter 2023-01-06 06:25:55 +02:00
typed_array_as_default_parameter.out GDScript: Fix issues with typed arrays 2023-01-31 11:54:41 +02:00
typed_array_inferred_access_isnt_constant.gd
typed_array_inferred_access_isnt_constant.out
typed_array_usage.gd GDScript: Allow elements of a parent class in a typed array literal 2023-03-28 13:47:24 +03:00
typed_array_usage.out GDScript: Fix issues with typed arrays 2023-01-31 11:54:41 +02:00
typed_array_with_custom_class.gd
typed_array_with_custom_class.out
use_preload_script_as_type.gd Fix GDScript code style regarding colon 2023-03-05 17:03:20 +03:00
use_preload_script_as_type.out
vararg_call.gd GDScript: Fix vararg method calls with exact arguments 2023-01-30 19:38:07 +02:00
vararg_call.out GDScript: Fix vararg method calls with exact arguments 2023-01-30 19:38:07 +02:00
variant_arg_in_virtual_method.gd GDScript: Fix getting type from PropertyInfo for Variant arguments 2023-01-12 16:47:06 +02:00
variant_arg_in_virtual_method.out GDScript: Fix getting type from PropertyInfo for Variant arguments 2023-01-12 16:47:06 +02:00
virtual_method_implemented.gd GDScript: add errors when calling unimplemented virtual functions 2023-06-15 07:16:31 -04:00
virtual_method_implemented.out GDScript: add errors when calling unimplemented virtual functions 2023-06-15 07:16:31 -04:00
virtual_super_implemented.gd GDScript: do not warn of return value discarded for super() inside _init() 2023-05-22 09:29:34 -04:00
virtual_super_implemented.out GDScript: do not warn of return value discarded for super() inside _init() 2023-05-22 09:29:34 -04:00
warning_ignore_annotation.gd GDScript: Fix false positive REDUNDANT_AWAIT warning 2023-03-16 14:04:14 +03:00
warning_ignore_annotation.out
weak_initializer.gd Unify typing of variables, constants and parameters in GDScript 2023-01-06 01:10:04 +02:00
weak_initializer.out Unify typing of variables, constants and parameters in GDScript 2023-01-06 01:10:04 +02:00