mirror of
https://github.com/godotengine/godot.git
synced 2026-01-05 06:11:29 +03:00
GDScript: Fix autocompletion issues with nested types
This commit is contained in:
@@ -1,5 +1,27 @@
|
||||
extends Node
|
||||
|
||||
class InnerA:
|
||||
class InnerInnerA:
|
||||
enum EnumOfInnerInnerA {
|
||||
ENUM_VALUE_1,
|
||||
ENUM_VALUE_2,
|
||||
}
|
||||
|
||||
enum EnumOfInnerA {
|
||||
ENUM_VALUE_1,
|
||||
ENUM_VALUE_2,
|
||||
}
|
||||
|
||||
signal signal_of_inner_a
|
||||
var property_of_inner_a
|
||||
func func_of_inner_a():
|
||||
pass
|
||||
|
||||
enum EnumOfA {
|
||||
ENUM_VALUE_1,
|
||||
ENUM_VALUE_2,
|
||||
}
|
||||
|
||||
signal signal_of_a
|
||||
|
||||
var property_of_a
|
||||
|
||||
31
modules/gdscript/tests/scripts/completion/class_b.notest.gd
Normal file
31
modules/gdscript/tests/scripts/completion/class_b.notest.gd
Normal file
@@ -0,0 +1,31 @@
|
||||
extends Node
|
||||
class_name B
|
||||
|
||||
class InnerB:
|
||||
class InnerInnerB:
|
||||
enum EnumOfInnerInnerB {
|
||||
ENUM_VALUE_1,
|
||||
ENUM_VALUE_2,
|
||||
}
|
||||
|
||||
enum EnumOfInnerB {
|
||||
ENUM_VALUE_1,
|
||||
ENUM_VALUE_2,
|
||||
}
|
||||
|
||||
signal signal_of_inner_b
|
||||
var property_of_inner_b
|
||||
func func_of_inner_b():
|
||||
pass
|
||||
|
||||
enum EnumOfB {
|
||||
ENUM_VALUE_1,
|
||||
ENUM_VALUE_2,
|
||||
}
|
||||
|
||||
signal signal_of_b
|
||||
|
||||
var property_of_b
|
||||
|
||||
func func_of_b():
|
||||
pass
|
||||
@@ -1,8 +1,8 @@
|
||||
class B:
|
||||
class TestClass:
|
||||
func to_str(b: int):
|
||||
return str(b)
|
||||
|
||||
var a: B
|
||||
var a: TestClass
|
||||
|
||||
func _ready():
|
||||
a.to_str(10).➡
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
[output]
|
||||
exclude=[
|
||||
{"display": "AUTO_TRANSLATE_MODE_INHERIT"},
|
||||
{"display": "AUTO_TRANSLATE_MODE_INHERIT"},
|
||||
]
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
extends Node
|
||||
|
||||
var test = {
|
||||
t = 1,
|
||||
AutoTranslateMode.➡
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
# Disabled due to GH-105421
|
||||
extends Node
|
||||
|
||||
var test = {
|
||||
t = 1,
|
||||
AutoTranslateMode.➡
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
[output]
|
||||
include=[
|
||||
{"display": "A"},
|
||||
{"display": "B"},
|
||||
{"display": "LocalInnerClass"},
|
||||
{"display": "LocalInnerEnum"},
|
||||
{"display": "ConnectFlags"},
|
||||
{"display": "int"},
|
||||
{"display": "String"},
|
||||
{"display": "float"},
|
||||
{"display": "Vector2"},
|
||||
{"display": "Vector3"},
|
||||
{"display": "Vector4"},
|
||||
{"display": "Node"},
|
||||
{"display": "Node2D"},
|
||||
]
|
||||
exclude=[
|
||||
{"display": "AInner"},
|
||||
{"display": "LocalInnerInnerEnum"},
|
||||
{"display": "LocalInnerInnerClass"},
|
||||
]
|
||||
@@ -0,0 +1,11 @@
|
||||
const A = preload("res://completion/class_a.notest.gd")
|
||||
|
||||
class LocalInnerClass:
|
||||
const AInner = preload("res://completion/class_a.notest.gd")
|
||||
enum LocalInnerInnerEnum {}
|
||||
class LocalInnerInnerClass:
|
||||
pass
|
||||
|
||||
enum LocalInnerEnum {}
|
||||
|
||||
var test_var: A➡
|
||||
@@ -0,0 +1,19 @@
|
||||
[output]
|
||||
include=[
|
||||
{"display": "A"},
|
||||
{"display": "AInner"},
|
||||
{"display": "B"},
|
||||
{"display": "LocalInnerClass"},
|
||||
{"display": "LocalInnerInnerClass"},
|
||||
{"display": "LocalInnerEnum"},
|
||||
{"display": "LocalInnerInnerEnum"},
|
||||
{"display": "ConnectFlags"},
|
||||
{"display": "int"},
|
||||
{"display": "String"},
|
||||
{"display": "float"},
|
||||
{"display": "Vector2"},
|
||||
{"display": "Vector3"},
|
||||
{"display": "Vector4"},
|
||||
{"display": "Node"},
|
||||
{"display": "Node2D"},
|
||||
]
|
||||
@@ -0,0 +1,10 @@
|
||||
const A = preload("res://completion/class_a.notest.gd")
|
||||
|
||||
class LocalInnerClass:
|
||||
const AInner = preload("res://completion/class_a.notest.gd")
|
||||
enum LocalInnerInnerEnum {}
|
||||
class LocalInnerInnerClass:
|
||||
pass
|
||||
var test_var: A➡
|
||||
|
||||
enum LocalInnerEnum {}
|
||||
@@ -0,0 +1,12 @@
|
||||
[output]
|
||||
include=[
|
||||
{"display": "InnerB"},
|
||||
{"display": "EnumOfB"},
|
||||
{"display": "ConnectFlags"},
|
||||
]
|
||||
exclude=[
|
||||
{"display": "int"},
|
||||
{"display": "String"},
|
||||
{"display": "Node2D"},
|
||||
{"display": "B"},
|
||||
]
|
||||
@@ -0,0 +1 @@
|
||||
var test_var: B.➡
|
||||
@@ -0,0 +1,12 @@
|
||||
[output]
|
||||
include=[
|
||||
{"display": "InnerInnerClass"},
|
||||
{"display": "InnerInnerEnum"},
|
||||
{"display": "ConnectFlags"},
|
||||
]
|
||||
exclude=[
|
||||
{"display": "int"},
|
||||
{"display": "String"},
|
||||
{"display": "Node2D"},
|
||||
{"display": "B"},
|
||||
]
|
||||
@@ -0,0 +1,8 @@
|
||||
const A = preload("res://completion/class_a.notest.gd")
|
||||
|
||||
class LocalInnerClass:
|
||||
class InnerInnerClass:
|
||||
pass
|
||||
enum InnerInnerEnum {}
|
||||
|
||||
var test_var: LocalInnerClass.➡
|
||||
@@ -0,0 +1,11 @@
|
||||
[output]
|
||||
exclude=[
|
||||
{"display": "TEST_LOCAL_VAL"},
|
||||
{"display": "ConnectFlags"},
|
||||
]
|
||||
exclude=[
|
||||
{"display": "int"},
|
||||
{"display": "String"},
|
||||
{"display": "Node2D"},
|
||||
{"display": "B"},
|
||||
]
|
||||
@@ -0,0 +1,7 @@
|
||||
const A = preload("res://completion/class_a.notest.gd")
|
||||
|
||||
enum LocalInnerEnum {
|
||||
TEST_LOCAL_VAL,
|
||||
}
|
||||
|
||||
var test_var: LocalInnerEnum.➡
|
||||
@@ -0,0 +1,12 @@
|
||||
[output]
|
||||
include=[
|
||||
{"display": "InnerA"},
|
||||
{"display": "EnumOfA"},
|
||||
{"display": "ConnectFlags"},
|
||||
]
|
||||
exclude=[
|
||||
{"display": "int"},
|
||||
{"display": "String"},
|
||||
{"display": "Node2D"},
|
||||
{"display": "B"},
|
||||
]
|
||||
@@ -0,0 +1,3 @@
|
||||
const A = preload("res://completion/class_a.notest.gd")
|
||||
|
||||
var test_var: A.➡
|
||||
@@ -0,0 +1,19 @@
|
||||
[output]
|
||||
include=[
|
||||
{"display": "AInnerInner"},
|
||||
{"display": "InnerInnerInnerEnum"},
|
||||
{"display": "InnerInnerInnerClass"},
|
||||
{"display": "ConnectFlags"},
|
||||
]
|
||||
exclude=[
|
||||
{"display": "A"},
|
||||
{"display": "AInner"},
|
||||
{"display": "TestEnum"},
|
||||
{"display": "InnerInnerEnum"},
|
||||
{"display": "InnerInnerClass"},
|
||||
{"display": "LocalInnerClass"},
|
||||
{"display": "int"},
|
||||
{"display": "String"},
|
||||
{"display": "Node2D"},
|
||||
{"display": "B"},
|
||||
]
|
||||
@@ -0,0 +1,14 @@
|
||||
const A = preload("res://completion/class_a.notest.gd")
|
||||
|
||||
class LocalInnerClass:
|
||||
const AInner = preload("res://completion/class_a.notest.gd")
|
||||
class InnerInnerClass:
|
||||
const AInnerInner = preload("res://completion/class_a.notest.gd")
|
||||
enum InnerInnerInnerEnum {}
|
||||
class InnerInnerInnerClass:
|
||||
pass
|
||||
enum InnerInnerEnum {}
|
||||
|
||||
enum TestEnum {}
|
||||
|
||||
var test_var: LocalInnerClass.InnerInnerClass.➡
|
||||
Reference in New Issue
Block a user