fix: TypeExtensions.GetMetadataName handles null Namespace (#4866)#4905
Merged
fix: TypeExtensions.GetMetadataName handles null Namespace (#4866)#4905
Conversation
When a type is in the root (global) namespace, Type.Namespace is null, causing GetMetadataName to produce "null.TypeName". Now returns just the type name when Namespace is null or empty.
Contributor
Code ReviewThe fix correctly handles the
public static string GetMetadataName(this Type type)
{
return $"{type.Namespace}.{type.Name}"; // still produces "null.TypeName" for root-namespace types
}This means types in the global/root namespace will still produce malformed metadata names ( return string.IsNullOrEmpty(type.Namespace) ? type.Name : $"{type.Namespace}.{type.Name}";Reference: TUnit/TUnit.Core.SourceGenerator/Extensions/TypeExtensions.cs Lines 9 to 12 in eb0c53e |
This was referenced Feb 22, 2026
Open
This was referenced Feb 23, 2026
Open
Open
Open
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
TypeExtensions.GetMetadataNameproducing"null.TypeName"when a type is in the root (global) namespaceType.Namespaceis null or empty, the method now returns justtype.Nameinstead of$"{type.Namespace}.{type.Name}"Closes #4866
Test plan
dotnet build TUnit.Analyzers/TUnit.Analyzers.csproj