From 518b02a330b0160395829ef241771e4027bd1f61 Mon Sep 17 00:00:00 2001 From: nenoNaninu Date: Mon, 18 Sep 2023 00:40:18 +0900 Subject: [PATCH 1/2] fix GlobalNamedTypeCollector --- src/Tapper/GlobalNamedTypeCollector.cs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/Tapper/GlobalNamedTypeCollector.cs b/src/Tapper/GlobalNamedTypeCollector.cs index 2e76eec..2f78db9 100644 --- a/src/Tapper/GlobalNamedTypeCollector.cs +++ b/src/Tapper/GlobalNamedTypeCollector.cs @@ -43,6 +43,11 @@ public override void VisitNamespace(INamespaceSymbol symbol) public override void VisitNamedType(INamedTypeSymbol symbol) { _namedTypeSymbols.Add(symbol); + + foreach (var member in symbol.GetTypeMembers()) + { + member.Accept(this); + } } public INamedTypeSymbol[] ToArray() => _namedTypeSymbols.ToArray(); From d2e5b63c5fc2b6c60c811a05db04b4743ddafa02 Mon Sep 17 00:00:00 2001 From: nenoNaninu Date: Mon, 18 Sep 2023 00:40:56 +0900 Subject: [PATCH 2/2] update test --- .../Class1.cs | 8 ++++++++ tests/Tapper.Tests.AsmReference/UnitTest1.cs | 14 ++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/tests/Tapper.Tests.AsmReference.SourceTypes2/Class1.cs b/tests/Tapper.Tests.AsmReference.SourceTypes2/Class1.cs index 70f2c13..2240504 100644 --- a/tests/Tapper.Tests.AsmReference.SourceTypes2/Class1.cs +++ b/tests/Tapper.Tests.AsmReference.SourceTypes2/Class1.cs @@ -8,3 +8,11 @@ public class Class2 public string? Name2 { get; init; } public Guid Id { get; set; } } + +[TranspilationSource] +public record NestedTypeParentRequest + (IReadOnlyList Items) +{ + [TranspilationSource] + public record NestedTypeNestedTypeParentRequestItem(int Value, string? Message); +} diff --git a/tests/Tapper.Tests.AsmReference/UnitTest1.cs b/tests/Tapper.Tests.AsmReference/UnitTest1.cs index 64ab576..6b8e3a4 100644 --- a/tests/Tapper.Tests.AsmReference/UnitTest1.cs +++ b/tests/Tapper.Tests.AsmReference/UnitTest1.cs @@ -100,5 +100,19 @@ private static async Task ExecCommand(string generatorProject, string projectFul id: string; } +/** Transpiled from Tapper.Tests.AsmReference.SourceTypes2.NestedTypeParentRequest */ +export type NestedTypeParentRequest = { + /** Transpiled from System.Collections.Generic.IReadOnlyList */ + items: NestedTypeNestedTypeParentRequestItem[]; +} + +/** Transpiled from Tapper.Tests.AsmReference.SourceTypes2.NestedTypeParentRequest.NestedTypeNestedTypeParentRequestItem */ +export type NestedTypeNestedTypeParentRequestItem = { + /** Transpiled from int */ + value: number; + /** Transpiled from string? */ + message?: string; +} + "; }