From e5ebc9710df36d99f53f63380d6dcfed74f52887 Mon Sep 17 00:00:00 2001 From: George Marques <george@gmarqu.es> Date: Tue, 21 Sep 2021 14:13:23 -0300 Subject: GDScript: Allow classes declaration to be done in single line Incidentally, allow multiple statements in single line functions when using semicolon as a terminator. --- .../parser/features/semicolon_as_terminator.gd | 22 ++++++++++++++++++++++ .../parser/features/semicolon_as_terminator.out | 10 ++++++++++ .../parser/features/single_line_declaration.gd | 11 +++++++++++ .../parser/features/single_line_declaration.out | 3 +++ 4 files changed, 46 insertions(+) create mode 100644 modules/gdscript/tests/scripts/parser/features/semicolon_as_terminator.gd create mode 100644 modules/gdscript/tests/scripts/parser/features/semicolon_as_terminator.out create mode 100644 modules/gdscript/tests/scripts/parser/features/single_line_declaration.gd create mode 100644 modules/gdscript/tests/scripts/parser/features/single_line_declaration.out (limited to 'modules/gdscript/tests/scripts/parser/features') diff --git a/modules/gdscript/tests/scripts/parser/features/semicolon_as_terminator.gd b/modules/gdscript/tests/scripts/parser/features/semicolon_as_terminator.gd new file mode 100644 index 0000000000..0f4aebb459 --- /dev/null +++ b/modules/gdscript/tests/scripts/parser/features/semicolon_as_terminator.gd @@ -0,0 +1,22 @@ +#GDTEST_OK + +func test(): + a(); + b(); + c(); + d(); + e(); + +func a(): print("a"); + +func b(): print("b1"); print("b2") + +func c(): print("c1"); print("c2"); + +func d(): + print("d1"); + print("d2") + +func e(): + print("e1"); + print("e2"); diff --git a/modules/gdscript/tests/scripts/parser/features/semicolon_as_terminator.out b/modules/gdscript/tests/scripts/parser/features/semicolon_as_terminator.out new file mode 100644 index 0000000000..387cbd8fc2 --- /dev/null +++ b/modules/gdscript/tests/scripts/parser/features/semicolon_as_terminator.out @@ -0,0 +1,10 @@ +GDTEST_OK +a +b1 +b2 +c1 +c2 +d1 +d2 +e1 +e2 diff --git a/modules/gdscript/tests/scripts/parser/features/single_line_declaration.gd b/modules/gdscript/tests/scripts/parser/features/single_line_declaration.gd new file mode 100644 index 0000000000..650500663b --- /dev/null +++ b/modules/gdscript/tests/scripts/parser/features/single_line_declaration.gd @@ -0,0 +1,11 @@ +#GDTEST_OK + +func test(): C.new().test("Ok"); test2() + +func test2(): print("Ok 2") + +class A: pass + +class B extends RefCounted: pass + +class C extends RefCounted: func test(x): print(x) diff --git a/modules/gdscript/tests/scripts/parser/features/single_line_declaration.out b/modules/gdscript/tests/scripts/parser/features/single_line_declaration.out new file mode 100644 index 0000000000..e021923dc2 --- /dev/null +++ b/modules/gdscript/tests/scripts/parser/features/single_line_declaration.out @@ -0,0 +1,3 @@ +GDTEST_OK +Ok +Ok 2 -- cgit v1.2.3