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 Add dozens of new integration tests to the GDScript test suite 2021-09-14 18:42:08 +02:00
as.out Add dozens of new integration tests to the GDScript test suite 2021-09-14 18:42:08 +02:00
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 GDScript: Avoid inferred types from giving hard errors 2021-09-17 11:52:30 -03:00
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 GDScript: Fix function signature check for self calls 2021-05-26 15:33:18 -03:00
call_self_get_name.out Correct null and boolean values being capitalised by the str command 2021-08-26 17:11:34 +10:00
call_static_builtin_function.gd GDScript: Fix calling builtin static functions 2021-08-18 18:58:41 -03:00
call_static_builtin_function.out Correct null and boolean values being capitalised by the str command 2021-08-26 17:11:34 +10:00
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 GDScript: Access outer scope classes 2021-10-13 22:39:12 -04:00
class_inference_is_weak.gd GDScript: Avoid hard errors on inferred types 2021-10-06 11:42:19 -03:00
class_inference_is_weak.out GDScript: Avoid hard errors on inferred types 2021-10-06 11:42:19 -03:00
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 GDScript: Allow access to outer constant and enum values 2021-08-24 14:45:51 -03:00
constants_from_parent.out Fix GDScript test cases 2021-09-13 15:02:01 -03:00
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 GDScript: Consolidate behavior for assigning enum types 2022-02-03 13:32:16 -03:00
enum_assign_enum_to_int_typed_var.out GDScript: Consolidate behavior for assigning enum types 2022-02-03 13:32:16 -03:00
enum_assign_int_cast_to_same_enum.gd GDScript: Consolidate behavior for assigning enum types 2022-02-03 13:32:16 -03:00
enum_assign_int_cast_to_same_enum.out GDScript: Consolidate behavior for assigning enum types 2022-02-03 13:32:16 -03:00
enum_assign_other_enum_cast_to_same_enum.gd GDScript: Consolidate behavior for assigning enum types 2022-02-03 13:32:16 -03:00
enum_assign_other_enum_cast_to_same_enum.out GDScript: Consolidate behavior for assigning enum types 2022-02-03 13:32:16 -03:00
enum_assign_same_enum.gd GDScript: Consolidate behavior for assigning enum types 2022-02-03 13:32:16 -03:00
enum_assign_same_enum.out GDScript: Consolidate behavior for assigning enum types 2022-02-03 13:32:16 -03:00
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 GDScript: Treat enum values as int and enum types as dictionary 2022-02-03 13:32:34 -03:00
enum_is_treated_as_int.out GDScript: Treat enum values as int and enum types as dictionary 2022-02-03 13:32:34 -03:00
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 GDScript: Treat enum values as int and enum types as dictionary 2022-02-03 13:32:34 -03:00
enum_type_is_treated_as_dictionary.out GDScript: Treat enum values as int and enum types as dictionary 2022-02-03 13:32:34 -03:00
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 GDScript: Allow access to outer constant and enum values 2021-08-24 14:45:51 -03:00
enum_value_from_parent.out Fix GDScript test cases 2021-09-13 15:02:01 -03:00
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 GDScript: Check if method signature matches the parent 2022-03-06 11:16:20 -03:00
function_match_parent_signature_with_extra_parameters.out GDScript: Check if method signature matches the parent 2022-03-06 11:16:20 -03:00
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 GDScript: Fix inner classes and preloaded scripts as types 2021-08-18 18:56:21 -03:00
inner_class_as_return_type.out GDScript: Fix inner classes and preloaded scripts as types 2021-08-18 18:56:21 -03:00
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 GDScript: Avoid hard errors on inferred types 2021-10-06 11:42:19 -03:00
local_inference_is_weak.out GDScript: Avoid hard errors on inferred types 2021-10-06 11:42:19 -03:00
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 GDScript: Report property type errors 2021-10-08 22:06:15 +02:00
property_functions.out GDScript: Report property type errors 2021-10-08 22:06:15 +02:00
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 Add more integration tests to the GDScript test suite 2021-09-15 19:57:39 +02:00
static_method_builtin_type.out Add more integration tests to the GDScript test suite 2021-09-15 19:57:39 +02:00
subscript_self.gd GDScript: Allow subscript on self and object types 2021-10-06 12:01:34 -03:00
subscript_self.out GDScript: Allow subscript on self and object types 2021-10-06 12:01:34 -03:00
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 GDScript: Fix inferred typed array marked as constant 2021-10-15 10:40:50 -03:00
typed_array_inferred_access_isnt_constant.out GDScript: Fix inferred typed array marked as constant 2021-10-15 10:40:50 -03:00
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 GDScript: Fix typed array with custom classes 2021-10-12 10:41:04 -03:00
typed_array_with_custom_class.out GDScript: Fix typed array with custom classes 2021-10-12 10:41:04 -03:00
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 GDScript: Fix inner classes and preloaded scripts as types 2021-08-18 18:56:21 -03:00
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 GDScript: Add annotation to ignore warnings 2022-01-04 09:32:43 -03:00
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