From 38c214d483a12d4c6621a7e424971e38effa2ec0 Mon Sep 17 00:00:00 2001 From: Dmitrii Maganov Date: Fri, 30 Dec 2022 09:58:07 +0200 Subject: GDScript: Fix some issues with assignments that involve untyped things --- .../analyzer/errors/incompatible_assignment.gd | 3 +++ .../analyzer/errors/incompatible_assignment.out | 2 ++ .../analyzer/features/assignments_with_untyped.gd | 19 +++++++++++++++++++ .../analyzer/features/assignments_with_untyped.out | 5 +++++ 4 files changed, 29 insertions(+) create mode 100644 modules/gdscript/tests/scripts/analyzer/errors/incompatible_assignment.gd create mode 100644 modules/gdscript/tests/scripts/analyzer/errors/incompatible_assignment.out create mode 100644 modules/gdscript/tests/scripts/analyzer/features/assignments_with_untyped.gd create mode 100644 modules/gdscript/tests/scripts/analyzer/features/assignments_with_untyped.out (limited to 'modules/gdscript/tests/scripts/analyzer') diff --git a/modules/gdscript/tests/scripts/analyzer/errors/incompatible_assignment.gd b/modules/gdscript/tests/scripts/analyzer/errors/incompatible_assignment.gd new file mode 100644 index 0000000000..664e364493 --- /dev/null +++ b/modules/gdscript/tests/scripts/analyzer/errors/incompatible_assignment.gd @@ -0,0 +1,3 @@ +func test(): + var foo: bool = true + foo += 'bar' diff --git a/modules/gdscript/tests/scripts/analyzer/errors/incompatible_assignment.out b/modules/gdscript/tests/scripts/analyzer/errors/incompatible_assignment.out new file mode 100644 index 0000000000..358b096a64 --- /dev/null +++ b/modules/gdscript/tests/scripts/analyzer/errors/incompatible_assignment.out @@ -0,0 +1,2 @@ +GDTEST_ANALYZER_ERROR +Invalid operands "bool" and "String" for assignment operator. diff --git a/modules/gdscript/tests/scripts/analyzer/features/assignments_with_untyped.gd b/modules/gdscript/tests/scripts/analyzer/features/assignments_with_untyped.gd new file mode 100644 index 0000000000..2d2c2bef19 --- /dev/null +++ b/modules/gdscript/tests/scripts/analyzer/features/assignments_with_untyped.gd @@ -0,0 +1,19 @@ +func test(): + var one_0 = 0 + one_0 = 1 + var one_1 := one_0 + print(one_1) + + var two: Variant = 0 + two += 2 + print(two) + + var three_0: Variant = 1 + var three_1: int = 2 + three_0 += three_1 + print(three_0) + + var four_0: int = 3 + var four_1: Variant = 1 + four_0 += four_1 + print(four_0) diff --git a/modules/gdscript/tests/scripts/analyzer/features/assignments_with_untyped.out b/modules/gdscript/tests/scripts/analyzer/features/assignments_with_untyped.out new file mode 100644 index 0000000000..7536c38490 --- /dev/null +++ b/modules/gdscript/tests/scripts/analyzer/features/assignments_with_untyped.out @@ -0,0 +1,5 @@ +GDTEST_OK +1 +2 +3 +4 -- cgit v1.2.3