@@ -2,6 +2,7 @@ using System.Collections.Immutable;
|
||||
using System.Diagnostics.CodeAnalysis;
|
||||
using System.Text;
|
||||
using Microsoft.CodeAnalysis;
|
||||
using ProxyInterfaceSourceGenerator.Builders;
|
||||
using ProxyInterfaceSourceGenerator.Enums;
|
||||
using ProxyInterfaceSourceGenerator.Extensions;
|
||||
using ProxyInterfaceSourceGenerator.Models;
|
||||
@@ -203,18 +204,18 @@ internal abstract class BaseGenerator
|
||||
return false;
|
||||
}
|
||||
|
||||
protected IList<string> GetMethodParameters(ImmutableArray<IParameterSymbol> parameters, bool includeType)
|
||||
protected IReadOnlyList<string> GetMethodParameters(ImmutableArray<IParameterSymbol> parameterSymbols, bool includeType)
|
||||
{
|
||||
var methodParameters = new List<string>();
|
||||
foreach (var ps in parameters)
|
||||
foreach (var parameterSymbol in parameterSymbols)
|
||||
{
|
||||
string t = string.Empty;
|
||||
string? type = null;
|
||||
if (includeType)
|
||||
{
|
||||
var type = ps.GetTypeEnum() == TypeEnum.Complex ? GetParameterType(ps, out _) : ps.Type.ToString();
|
||||
t = $"{ps.GetParamsPrefix()}{ps.GetRefPrefix()}{type} ";
|
||||
type = parameterSymbol.GetTypeEnum() == TypeEnum.Complex ? GetParameterType(parameterSymbol, out _) : parameterSymbol.Type.ToString();
|
||||
}
|
||||
methodParameters.Add($"{t}{ps.GetSanitizedName()}{ps.GetDefaultValue()}");
|
||||
|
||||
methodParameters.Add(MethodParameterBuilder.Build(parameterSymbol, type));
|
||||
}
|
||||
|
||||
return methodParameters;
|
||||
|
||||
@@ -123,13 +123,6 @@ using System;
|
||||
foreach (var method in MemberHelper.GetPublicMethods(targetClassSymbol, proxyBaseClasses))
|
||||
{
|
||||
var methodParameters = GetMethodParameters(method.Parameters, true);
|
||||
//var methodParameters = new List<string>();
|
||||
//foreach (var ps in method.Parameters)
|
||||
//{
|
||||
// var type = ps.GetTypeEnum() == TypeEnum.Complex ? GetParameterType(ps, out _) : ps.Type.ToString();
|
||||
// methodParameters.Add($"{ps.GetParamsPrefix()}{ps.GetRefPrefix()}{type} {ps.GetSanitizedName()}{ps.GetDefaultValue()}");
|
||||
//}
|
||||
|
||||
var whereStatement = GetWhereStatementFromMethod(method);
|
||||
|
||||
str.AppendLine($" {GetReplacedType(method.ReturnType, out _)} {method.GetMethodNameWithOptionalTypeParameters()}({string.Join(", ", methodParameters)}){whereStatement};");
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using System.Diagnostics.CodeAnalysis;
|
||||
using System.Text;
|
||||
using Microsoft.CodeAnalysis;
|
||||
using ProxyInterfaceSourceGenerator.Builders;
|
||||
using ProxyInterfaceSourceGenerator.Enums;
|
||||
using ProxyInterfaceSourceGenerator.Extensions;
|
||||
using ProxyInterfaceSourceGenerator.Models;
|
||||
@@ -188,15 +189,20 @@ using System;
|
||||
var str = new StringBuilder();
|
||||
foreach (var method in MemberHelper.GetPublicMethods(targetClassSymbol, proxyBaseClasses))
|
||||
{
|
||||
if (method.Name == "TryParse")
|
||||
{
|
||||
int y = 0;
|
||||
}
|
||||
|
||||
var methodParameters = new List<string>();
|
||||
var invokeParameters = new List<string>();
|
||||
|
||||
foreach (var ps in method.Parameters)
|
||||
foreach (var parameterSymbol in method.Parameters)
|
||||
{
|
||||
var type = GetParameterType(ps, out _);
|
||||
var type = GetParameterType(parameterSymbol, out _);
|
||||
|
||||
methodParameters.Add($"{ps.GetParamsPrefix()}{ps.GetRefPrefix()}{type} {ps.GetSanitizedName()}{ps.GetDefaultValue()}");
|
||||
invokeParameters.Add($"{ps.GetRefPrefix()}{ps.GetSanitizedName()}_");
|
||||
methodParameters.Add(MethodParameterBuilder.Build(parameterSymbol, type));
|
||||
invokeParameters.Add($"{parameterSymbol.GetRefPrefix()}{parameterSymbol.GetSanitizedName()}_");
|
||||
}
|
||||
|
||||
string overrideOrVirtual = string.Empty;
|
||||
|
||||
Reference in New Issue
Block a user