|
|
|
@ -292,8 +292,12 @@ namespace CppSharp.Generators.CSharp
@@ -292,8 +292,12 @@ namespace CppSharp.Generators.CSharp
|
|
|
|
|
if (returnType.IsAddress()) |
|
|
|
|
Context.Return.Write(HandleReturnedPointer(@class, qualifiedClass.Type)); |
|
|
|
|
else |
|
|
|
|
Context.Return.Write("{0}.{1}({2})", qualifiedClass, Helpers.CreateInstanceIdentifier, Context.ReturnVarName); |
|
|
|
|
Context.Return.Write($"{qualifiedClass}.{Helpers.CreateInstanceIdentifier}({Context.ReturnVarName})"); |
|
|
|
|
|
|
|
|
|
var finalType = (returnType.GetFinalPointee() ?? returnType).Desugar(); |
|
|
|
|
Class returnedClass; |
|
|
|
|
if (finalType.TryGetClass(out returnedClass) && returnedClass.IsDependent) |
|
|
|
|
Context.Return.Write($" as {returnedClass.Visit(typePrinter)}"); |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -373,13 +377,6 @@ namespace CppSharp.Generators.CSharp
@@ -373,13 +377,6 @@ namespace CppSharp.Generators.CSharp
|
|
|
|
|
Context.Before.WriteLine("else {0} = {1}.{2}({3});", ret, qualifiedClass, |
|
|
|
|
Helpers.CreateInstanceIdentifier, Context.ReturnVarName); |
|
|
|
|
} |
|
|
|
|
Class returnedClass; |
|
|
|
|
var pointee = Context.ReturnType.Type.Desugar().GetFinalPointee().Desugar(); |
|
|
|
|
if (pointee.TryGetClass(out returnedClass) && returnedClass.IsDependent) |
|
|
|
|
{ |
|
|
|
|
var result = returnedClass.Visit(typePrinter); |
|
|
|
|
return $"{ret} as {result}{result.NameSuffix}"; |
|
|
|
|
} |
|
|
|
|
return ret; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|