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:
parent
ae51db75e7
commit
fe280ef9ae
12 changed files with 126 additions and 28 deletions
|
|
@ -1,5 +1,5 @@
|
|||
using Godot;
|
||||
[ScriptPathAttribute("res://Generic.cs")]
|
||||
partial class Generic
|
||||
partial class Generic<T>
|
||||
{
|
||||
}
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
using Godot;
|
||||
namespace NamespaceA {
|
||||
|
||||
[ScriptPathAttribute("res://SameName.cs")]
|
||||
partial class SameName
|
||||
{
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue