Skip to content

Commit 562d9ba

Browse files
committed
fix: #8264 fully qualified string not used for types in dataloader generator
1 parent ffda53c commit 562d9ba

10 files changed

+20
-10
lines changed

.build/Build.csproj.DotSettings

+4-1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/PLACE_SIMPLE_ANONYMOUSMETHOD_ON_SINGLE_LINE/@EntryValue">False</s:Boolean>
1717
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=PrivateInstanceFields/@EntryIndexedValue">&lt;Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /&gt;</s:String>
1818
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=PrivateStaticFields/@EntryIndexedValue">&lt;Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /&gt;</s:String>
19+
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/UserRules/=4a98fdf6_002D7d98_002D4f5a_002Dafeb_002Dea44ad98c70c/@EntryIndexedValue">&lt;Policy&gt;&lt;Descriptor Staticness="Instance" AccessRightKinds="Private" Description="Instance fields (private)"&gt;&lt;ElementKinds&gt;&lt;Kind Name="FIELD" /&gt;&lt;Kind Name="READONLY_FIELD" /&gt;&lt;/ElementKinds&gt;&lt;/Descriptor&gt;&lt;Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="AaBb" /&gt;&lt;/Policy&gt;</s:String>
20+
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/UserRules/=f9fce829_002De6f4_002D4cb2_002D80f1_002D5497c44f51df/@EntryIndexedValue">&lt;Policy&gt;&lt;Descriptor Staticness="Static" AccessRightKinds="Private" Description="Static fields (private)"&gt;&lt;ElementKinds&gt;&lt;Kind Name="FIELD" /&gt;&lt;/ElementKinds&gt;&lt;/Descriptor&gt;&lt;Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="AaBb" /&gt;&lt;/Policy&gt;</s:String>
1921
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ECSharpAttributeForSingleLineMethodUpgrade/@EntryIndexedValue">True</s:Boolean>
2022
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ECSharpKeepExistingMigration/@EntryIndexedValue">True</s:Boolean>
2123
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ECSharpPlaceEmbeddedOnSameLineMigration/@EntryIndexedValue">True</s:Boolean>
@@ -24,4 +26,5 @@
2426
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002EAddAccessorOwnerDeclarationBracesMigration/@EntryIndexedValue">True</s:Boolean>
2527
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002ECSharpPlaceAttributeOnSameLineMigration/@EntryIndexedValue">True</s:Boolean>
2628
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002EMigrateBlankLinesAroundFieldToBlankLinesAroundProperty/@EntryIndexedValue">True</s:Boolean>
27-
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002EMigrateThisQualifierSettings/@EntryIndexedValue">True</s:Boolean></wpf:ResourceDictionary>
29+
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002EMigrateThisQualifierSettings/@EntryIndexedValue">True</s:Boolean>
30+
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002EPredefinedNamingRulesToUserRulesUpgrade/@EntryIndexedValue">True</s:Boolean></wpf:ResourceDictionary>

src/HotChocolate/Core/src/Types.Analyzers/FileBuilders/DataLoaderFileBuilder.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -448,8 +448,8 @@ public void WriteDataLoaderLoadMethod(
448448
kind is DataLoaderKind.Group ? "[]" : string.Empty,
449449
value.IsValueType ? string.Empty : "?");
450450
_writer.WriteIndentedLine(
451-
"global::{0} resultMap)",
452-
ExtractMapType(method.ReturnType));
451+
"{0} resultMap)",
452+
ExtractMapType(method.ReturnType).ToFullyQualifiedWithNullRefQualifier());
453453
}
454454

455455
_writer.WriteIndentedLine("{");

src/HotChocolate/Core/src/Types.Analyzers/Helpers/SymbolExtensions.cs

+7
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,13 @@ public static string PrintNullRefQualifier(this ITypeSymbol typeSymbol)
3232
public static string ToFullyQualified(this ITypeSymbol typeSymbol)
3333
=> typeSymbol.ToDisplayString(SymbolDisplayFormat.FullyQualifiedFormat);
3434

35+
public static string ToFullyQualifiedWithNullRefQualifier(this ITypeSymbol typeSymbol)
36+
{
37+
var format = SymbolDisplayFormat.FullyQualifiedFormat
38+
.AddMiscellaneousOptions(SymbolDisplayMiscellaneousOptions.IncludeNullableReferenceTypeModifier);
39+
return typeSymbol.ToDisplayString(format);
40+
}
41+
3542
public static bool IsParent(this IParameterSymbol parameter)
3643
=> parameter.IsThis
3744
|| parameter

src/HotChocolate/Core/test/Types.Analyzers.Tests/__snapshots__/DataLoaderTests.DataLoader_With_Optional_Lookup.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ namespace TestNamespace
4949
private void CopyResults(
5050
global::System.Collections.Generic.IReadOnlyList<int> keys,
5151
global::System.Span<GreenDonut.Result<global::TestNamespace.Entity?>> results,
52-
global::System.Collections.Generic.IReadOnlyDictionary<int, TestNamespace.Entity> resultMap)
52+
global::System.Collections.Generic.IReadOnlyDictionary<int, global::TestNamespace.Entity> resultMap)
5353
{
5454
for (var i = 0; i < keys.Count; i++)
5555
{

src/HotChocolate/Core/test/Types.Analyzers.Tests/__snapshots__/DataLoaderTests.GenerateSource_BatchDataLoader_MatchesSnapshot.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ namespace TestNamespace
4949
private void CopyResults(
5050
global::System.Collections.Generic.IReadOnlyList<int> keys,
5151
global::System.Span<GreenDonut.Result<global::TestNamespace.Entity?>> results,
52-
global::System.Collections.Generic.IReadOnlyDictionary<int, TestNamespace.Entity> resultMap)
52+
global::System.Collections.Generic.IReadOnlyDictionary<int, global::TestNamespace.Entity> resultMap)
5353
{
5454
for (var i = 0; i < keys.Count; i++)
5555
{

src/HotChocolate/Core/test/Types.Analyzers.Tests/__snapshots__/DataLoaderTests.GenerateSource_BatchDataLoader_With_Group_MatchesSnapshot.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ namespace TestNamespace
4949
private void CopyResults(
5050
global::System.Collections.Generic.IReadOnlyList<int> keys,
5151
global::System.Span<GreenDonut.Result<global::TestNamespace.Entity?>> results,
52-
global::System.Collections.Generic.IReadOnlyDictionary<int, TestNamespace.Entity> resultMap)
52+
global::System.Collections.Generic.IReadOnlyDictionary<int, global::TestNamespace.Entity> resultMap)
5353
{
5454
for (var i = 0; i < keys.Count; i++)
5555
{

src/HotChocolate/Core/test/Types.Analyzers.Tests/__snapshots__/DataLoaderTests.GenerateSource_BatchDataLoader_With_Group_Only_On_Class_MatchesSnapshot.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ namespace TestNamespace
4949
private void CopyResults(
5050
global::System.Collections.Generic.IReadOnlyList<int> keys,
5151
global::System.Span<GreenDonut.Result<global::TestNamespace.Entity?>> results,
52-
global::System.Collections.Generic.IReadOnlyDictionary<int, TestNamespace.Entity> resultMap)
52+
global::System.Collections.Generic.IReadOnlyDictionary<int, global::TestNamespace.Entity> resultMap)
5353
{
5454
for (var i = 0; i < keys.Count; i++)
5555
{

src/HotChocolate/Core/test/Types.Analyzers.Tests/__snapshots__/DataLoaderTests.GenerateSource_BatchDataLoader_With_Group_Only_On_Method_MatchesSnapshot.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ namespace TestNamespace
4949
private void CopyResults(
5050
global::System.Collections.Generic.IReadOnlyList<int> keys,
5151
global::System.Span<GreenDonut.Result<global::TestNamespace.Entity?>> results,
52-
global::System.Collections.Generic.IReadOnlyDictionary<int, TestNamespace.Entity> resultMap)
52+
global::System.Collections.Generic.IReadOnlyDictionary<int, global::TestNamespace.Entity> resultMap)
5353
{
5454
for (var i = 0; i < keys.Count; i++)
5555
{

src/HotChocolate/Core/test/Types.Analyzers.Tests/__snapshots__/DataLoaderTests.GenerateSource_BatchDataLoader_With_Lookup_From_OtherType_MatchesSnapshot.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ namespace TestNamespace
5353
private void CopyResults(
5454
global::System.Collections.Generic.IReadOnlyList<int> keys,
5555
global::System.Span<GreenDonut.Result<global::TestNamespace.Entity2?>> results,
56-
global::System.Collections.Generic.IDictionary<int, TestNamespace.Entity2> resultMap)
56+
global::System.Collections.Generic.IDictionary<int, global::TestNamespace.Entity2> resultMap)
5757
{
5858
for (var i = 0; i < keys.Count; i++)
5959
{

src/HotChocolate/Core/test/Types.Analyzers.Tests/__snapshots__/DataLoaderTests.GenerateSource_GroupedDataLoader_MatchesSnapshot.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ namespace TestNamespace
4949
private void CopyResults(
5050
global::System.Collections.Generic.IReadOnlyList<int> keys,
5151
global::System.Span<GreenDonut.Result<global::TestNamespace.Entity[]?>> results,
52-
global::System.Linq.ILookup<int, TestNamespace.Entity> resultMap)
52+
global::System.Linq.ILookup<int, global::TestNamespace.Entity> resultMap)
5353
{
5454
for (var i = 0; i < keys.Count; i++)
5555
{

0 commit comments

Comments
 (0)