Browse Source

Use explicit type printer when printing types in C# GenerateMethodSpecifier.

pull/1360/head
João Matos 5 years ago committed by João Matos
parent
commit
63c42c3252
  1. 8
      src/Generator/Generators/CSharp/CSharpSources.cs

8
src/Generator/Generators/CSharp/CSharpSources.cs

@ -2363,20 +2363,20 @@ namespace CppSharp.Generators.CSharp
var functionName = GetMethodIdentifier(method); var functionName = GetMethodIdentifier(method);
var printedType = method.OriginalReturnType.Visit(TypePrinter);
if (method.IsConstructor || method.IsDestructor) if (method.IsConstructor || method.IsDestructor)
Write("{0}(", functionName); Write("{0}(", functionName);
else if (method.ExplicitInterfaceImpl != null) else if (method.ExplicitInterfaceImpl != null)
Write("{0} {1}.{2}(", method.OriginalReturnType, Write("{0} {1}.{2}(", printedType,
method.ExplicitInterfaceImpl.Name, functionName); method.ExplicitInterfaceImpl.Name, functionName);
else if (method.OperatorKind == CXXOperatorKind.Conversion || else if (method.OperatorKind == CXXOperatorKind.Conversion ||
method.OperatorKind == CXXOperatorKind.ExplicitConversion) method.OperatorKind == CXXOperatorKind.ExplicitConversion)
{ {
var printedType = method.OriginalReturnType.Visit(TypePrinter);
Write($"{functionName} {printedType}("); Write($"{functionName} {printedType}(");
} }
else else
Write("{0} {1}(", method.OriginalReturnType, functionName); Write("{0} {1}(", printedType, functionName);
Write(FormatMethodParameters(method.Parameters)); Write(FormatMethodParameters(method.Parameters));

Loading…
Cancel
Save