Add a keyword for abstract classes in GDScript

Co-authored-by: Danil Alexeev <danil@alexeev.xyz>
This commit is contained in:
Aaron Franke
2023-10-08 16:22:25 -05:00
parent 730adf4801
commit 067704f1cd
17 changed files with 137 additions and 42 deletions

View File

@@ -0,0 +1,10 @@
extends RefCounted
const AbstractScript = preload("./construct_abstract_script.notest.gd")
abstract class AbstractClass:
pass
func test():
var _a := AbstractScript.new()
var _b := AbstractClass.new()

View File

@@ -0,0 +1,3 @@
GDTEST_ANALYZER_ERROR
>> ERROR at line 9: Cannot construct abstract class "AbstractScript".
>> ERROR at line 10: Cannot construct abstract class "AbstractClass".

View File

@@ -0,0 +1 @@
abstract class_name AbstractScript

View File

@@ -8,5 +8,12 @@ class B extends A:
class C extends CanvasItem:
pass
abstract class X:
pass
class Y extends X:
func test() -> String:
return "ok"
func test():
print('ok')
print(Y.new().test())

View File

@@ -0,0 +1,7 @@
extends RefCounted
abstract abstract class A:
pass
func test():
pass

View File

@@ -0,0 +1,2 @@
GDTEST_PARSER_ERROR
Expected "class_name", "extends", or "class" after "abstract".