Fixed generated code when a class extends multiple classes (#38)

* .

* .

* pnp

* ok

* compiles

* ?

* e

* set

* .ToArray()

* n

* ...

* ok

* pnp

* .

* .

* mapster
This commit is contained in:
Stef Heyenrath
2022-09-04 11:13:16 +02:00
committed by GitHub
parent ee35d1916f
commit 69fa995982
36 changed files with 824 additions and 340 deletions
@@ -77,7 +77,7 @@ internal class ProxySyntaxReceiver : ISyntaxReceiver
{
Namespace = ns,
ShortInterfaceName = interfaceDeclarationSyntax.Identifier.ToString(),
FullInterfaceName = CreateFullBuilderClassName(ns, interfaceDeclarationSyntax), // $"{ns}.{interfaceDeclarationSyntax.Identifier}",
FullInterfaceName = CreateFullInterfaceName(ns, interfaceDeclarationSyntax), // $"{ns}.{interfaceDeclarationSyntax.Identifier}",
FullRawTypeName = rawTypeName,
ShortTypeName = ConvertTypeName(rawTypeName).Split('.').Last(),
FullTypeName = ConvertTypeName(rawTypeName),
@@ -95,7 +95,7 @@ internal class ProxySyntaxReceiver : ISyntaxReceiver
$"{typeName.Replace("<", string.Empty).Replace(">", string.Empty).Replace(",", string.Empty).Trim()}`{typeName.Count(c => c == ',') + 1}";
}
private static string CreateFullBuilderClassName(string ns, BaseTypeDeclarationSyntax classDeclarationSyntax)
private static string CreateFullInterfaceName(string ns, BaseTypeDeclarationSyntax classDeclarationSyntax)
{
return !string.IsNullOrEmpty(ns) ? $"{ns}.{classDeclarationSyntax.Identifier}" : classDeclarationSyntax.Identifier.ToString();
}