GDScript: Fix subscript resolution for constant non-metatypes

This commit is contained in:
Danil Alexeev
2023-09-19 20:35:45 +03:00
parent 571cd0eb79
commit c35cb51d74
5 changed files with 193 additions and 17 deletions

View File

@@ -0,0 +1,17 @@
class_name TestExportEnumAsDictionary
enum MyEnum {A, B, C}
const Utils = preload("../../utils.notest.gd")
@export var x1 = MyEnum
@export var x2 = MyEnum.A
@export var x3 := MyEnum
@export var x4 := MyEnum.A
@export var x5: MyEnum
func test():
for property in get_property_list():
if property.usage & PROPERTY_USAGE_SCRIPT_VARIABLE:
print(Utils.get_property_signature(property))
print(" ", Utils.get_property_additional_info(property))

View File

@@ -0,0 +1,11 @@
GDTEST_OK
@export var x1: Dictionary
hint=NONE hint_string="" usage=DEFAULT|SCRIPT_VARIABLE
@export var x2: TestExportEnumAsDictionary.MyEnum
hint=ENUM hint_string="A:0,B:1,C:2" usage=DEFAULT|SCRIPT_VARIABLE|CLASS_IS_ENUM
@export var x3: Dictionary
hint=NONE hint_string="" usage=DEFAULT|SCRIPT_VARIABLE
@export var x4: TestExportEnumAsDictionary.MyEnum
hint=ENUM hint_string="A:0,B:1,C:2" usage=DEFAULT|SCRIPT_VARIABLE|CLASS_IS_ENUM
@export var x5: TestExportEnumAsDictionary.MyEnum
hint=ENUM hint_string="A:0,B:1,C:2" usage=DEFAULT|SCRIPT_VARIABLE|CLASS_IS_ENUM