diff options
| author | Dmitrii Maganov <vonagam@gmail.com> | 2022-12-29 09:34:13 +0200 |
|---|---|---|
| committer | Dmitrii Maganov <vonagam@gmail.com> | 2023-01-12 17:47:10 +0200 |
| commit | 274d49790dd2d68828a312e2c0802c1dbf09ac8f (patch) | |
| tree | e99c43d07ff64187c2da1f429544f44d46b848a0 /modules/gdscript/tests/scripts/analyzer/errors | |
| parent | e80cf3259ee23fe75da0ea41dcf67680e607f063 (diff) | |
| download | redot-engine-274d49790dd2d68828a312e2c0802c1dbf09ac8f.tar.gz | |
GDScript: Fix extending abstract classes, forbid their construction
Diffstat (limited to 'modules/gdscript/tests/scripts/analyzer/errors')
4 files changed, 15 insertions, 0 deletions
diff --git a/modules/gdscript/tests/scripts/analyzer/errors/abstract_class_instantiate.gd b/modules/gdscript/tests/scripts/analyzer/errors/abstract_class_instantiate.gd new file mode 100644 index 0000000000..38c2faa859 --- /dev/null +++ b/modules/gdscript/tests/scripts/analyzer/errors/abstract_class_instantiate.gd @@ -0,0 +1,2 @@ +func test(): + CanvasItem.new() diff --git a/modules/gdscript/tests/scripts/analyzer/errors/abstract_class_instantiate.out b/modules/gdscript/tests/scripts/analyzer/errors/abstract_class_instantiate.out new file mode 100644 index 0000000000..9eff912b59 --- /dev/null +++ b/modules/gdscript/tests/scripts/analyzer/errors/abstract_class_instantiate.out @@ -0,0 +1,2 @@ +GDTEST_ANALYZER_ERROR +Native class "CanvasItem" cannot be constructed as it is abstract. diff --git a/modules/gdscript/tests/scripts/analyzer/errors/abstract_script_instantiate.gd b/modules/gdscript/tests/scripts/analyzer/errors/abstract_script_instantiate.gd new file mode 100644 index 0000000000..118e7e8a45 --- /dev/null +++ b/modules/gdscript/tests/scripts/analyzer/errors/abstract_script_instantiate.gd @@ -0,0 +1,9 @@ +class A extends CanvasItem: + func _init(): + print('no') + +class B extends A: + pass + +func test(): + B.new() diff --git a/modules/gdscript/tests/scripts/analyzer/errors/abstract_script_instantiate.out b/modules/gdscript/tests/scripts/analyzer/errors/abstract_script_instantiate.out new file mode 100644 index 0000000000..8b956f5974 --- /dev/null +++ b/modules/gdscript/tests/scripts/analyzer/errors/abstract_script_instantiate.out @@ -0,0 +1,2 @@ +GDTEST_ANALYZER_ERROR +Class "abstract_script_instantiate.gd::B" cannot be constructed as it is based on abstract native class "CanvasItem". |
