C#: Various fixes to generic scripts
- Report a diagnostic when there are multiple classes that match the script file name in the same script since that will result in a duplicate path key in the bimap and it's not allowed. - Fix InspectorPlugin to handle empty paths in case the project was built with a previous version of Godot that used empty paths for generic scripts. - Add tests for the new diagnostic GD0003.
This commit is contained in:
+1
-1
@@ -1,5 +1,5 @@
|
||||
using Godot;
|
||||
[ScriptPathAttribute("res://Generic.cs")]
|
||||
partial class Generic
|
||||
partial class Generic<T>
|
||||
{
|
||||
}
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
using Godot;
|
||||
namespace NamespaceA {
|
||||
|
||||
[ScriptPathAttribute("res://SameName.cs")]
|
||||
partial class SameName
|
||||
{
|
||||
}
|
||||
|
||||
}
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
using Godot;
|
||||
|
||||
partial class Generic<T> : GodotObject
|
||||
{
|
||||
private int _field;
|
||||
}
|
||||
|
||||
// Generic again but different generic parameters
|
||||
partial class {|GD0003:Generic|}<T, R> : GodotObject
|
||||
{
|
||||
private int _field;
|
||||
}
|
||||
|
||||
// Generic again but without generic parameters
|
||||
partial class {|GD0003:Generic|} : GodotObject
|
||||
{
|
||||
private int _field;
|
||||
}
|
||||
-12
@@ -4,15 +4,3 @@ partial class Generic<T> : GodotObject
|
||||
{
|
||||
private int _field;
|
||||
}
|
||||
|
||||
// Generic again but different generic parameters
|
||||
partial class Generic<T, R> : GodotObject
|
||||
{
|
||||
private int _field;
|
||||
}
|
||||
|
||||
// Generic again but without generic parameters
|
||||
partial class Generic : GodotObject
|
||||
{
|
||||
private int _field;
|
||||
}
|
||||
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
using Godot;
|
||||
|
||||
namespace NamespaceA
|
||||
{
|
||||
partial class SameName : GodotObject
|
||||
{
|
||||
private int _field;
|
||||
}
|
||||
}
|
||||
|
||||
// SameName again but different namespace
|
||||
namespace NamespaceB
|
||||
{
|
||||
partial class {|GD0003:SameName|} : GodotObject
|
||||
{
|
||||
private int _field;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user