Merge pull request #98059 from zaevi/fix_csharp_unhandled_GD0303
[.NET] Fix unhandled GD0303 error for nested generic attribute types
This commit is contained in:
commit
c409546cc3
2 changed files with 14 additions and 1 deletions
|
@ -395,6 +395,11 @@ public class MustBeVariantAnnotatedMethods
|
|||
public void MethodWithWrongAttribute()
|
||||
{
|
||||
}
|
||||
|
||||
[NestedGenericTypeAttributeContainer.NestedGenericTypeAttribute<bool>()]
|
||||
public void MethodWithNestedAttribute()
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
[GenericTypeAttribute<bool>()]
|
||||
|
@ -657,3 +662,11 @@ public class ClassNonVariantAnnotated
|
|||
public class GenericTypeAttribute<[MustBeVariant] T> : Attribute
|
||||
{
|
||||
}
|
||||
|
||||
public class NestedGenericTypeAttributeContainer
|
||||
{
|
||||
[AttributeUsage(AttributeTargets.Method, AllowMultiple = true)]
|
||||
public class NestedGenericTypeAttribute<[MustBeVariant] T> : Attribute
|
||||
{
|
||||
}
|
||||
}
|
||||
|
|
|
@ -135,7 +135,7 @@ namespace Godot.SourceGenerators
|
|||
{
|
||||
ITypeParameterSymbol? typeParamSymbol = parentSymbol switch
|
||||
{
|
||||
IMethodSymbol methodSymbol when parentSyntax.Parent is AttributeSyntax &&
|
||||
IMethodSymbol methodSymbol when parentSyntax.Ancestors().Any(s => s is AttributeSyntax) &&
|
||||
methodSymbol.ContainingType.TypeParameters.Length > 0
|
||||
=> methodSymbol.ContainingType.TypeParameters[typeArgumentIndex],
|
||||
|
||||
|
|
Loading…
Reference in a new issue