Use Mapster as mapper (#39)

* mapster

* ,

* .

* ...

* .

* .

* .

* .

* .

* .

* int

* .

* ;
This commit is contained in:
Stef Heyenrath
2022-09-05 21:26:02 +02:00
committed by GitHub
parent 4b9b47ba9d
commit 0e57de17c3
39 changed files with 378 additions and 405 deletions
@@ -45,7 +45,7 @@ internal class PartialInterfacesGenerator : BaseGenerator, IFilesGenerator
fileData = new FileData(
$"{sourceInterfaceSymbol.Symbol.GetFileName()}.g.cs",
CreatePartialInterfaceCode(pd.Namespace, targetClassSymbol, interfaceName, pd.ProxyBaseClasses)
CreatePartialInterfaceCode(pd.Namespace, targetClassSymbol, interfaceName, pd)
);
return true;
@@ -55,7 +55,12 @@ internal class PartialInterfacesGenerator : BaseGenerator, IFilesGenerator
string ns,
ClassSymbol classSymbol,
string interfaceName,
bool proxyBaseClasses) => $@"//----------------------------------------------------------------------------------------
ProxyData proxyData)
{
var extendsProxyClasses = GetExtendsProxyData(proxyData, classSymbol);
var @new = extendsProxyClasses.Any() ? "new " : string.Empty;
return $@"//----------------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by https://github.com/StefH/ProxyInterfaceSourceGenerator.
//
@@ -71,14 +76,17 @@ namespace {ns}
{{
public partial interface {interfaceName}
{{
{GenerateProperties(classSymbol, proxyBaseClasses)}
{@new}{classSymbol.Symbol} _Instance {{ get; }}
{GenerateMethods(classSymbol, proxyBaseClasses)}
{GenerateProperties(classSymbol, proxyData.ProxyBaseClasses)}
{GenerateEvents(classSymbol, proxyBaseClasses)}
{GenerateMethods(classSymbol, proxyData.ProxyBaseClasses)}
{GenerateEvents(classSymbol, proxyData.ProxyBaseClasses)}
}}
}}
{(SupportsNullable ? "#nullable disable" : string.Empty)}";
}
private string GenerateProperties(ClassSymbol targetClassSymbol, bool proxyBaseClasses)
{
@@ -97,7 +105,7 @@ namespace {ns}
var methodParameters = GetMethodParameters(property.Parameters, true);
propertyName = $"this[{string.Join(", ", methodParameters)}]";
}
str.AppendLine($" {propertyType} {propertyName} {getSet}");
str.AppendLine();
}