diff --git a/src/Generator/Passes/GetterSetterToPropertyAdvancedPass.cs b/src/Generator/Passes/GetterSetterToPropertyAdvancedPass.cs index aa16af61..e5901696 100644 --- a/src/Generator/Passes/GetterSetterToPropertyAdvancedPass.cs +++ b/src/Generator/Passes/GetterSetterToPropertyAdvancedPass.cs @@ -94,7 +94,7 @@ namespace CppSharp.Passes { string name = GetPropertyName(getter.Name); if (string.Compare(name, afterSet, StringComparison.OrdinalIgnoreCase) == 0 && - getter.ReturnType == setter.Parameters[0].QualifiedType && + getter.OriginalReturnType == setter.Parameters[0].QualifiedType && !type.Methods.Any( m => m != getter && @@ -142,7 +142,7 @@ namespace CppSharp.Passes Property property = new Property(); property.Name = GetPropertyName(getter.Name); property.Namespace = type; - property.QualifiedType = getter.ReturnType; + property.QualifiedType = getter.OriginalReturnType; if (getter.IsOverride || (setter != null && setter.IsOverride)) { Property baseVirtualProperty = type.GetRootBaseProperty(property); @@ -204,7 +204,7 @@ namespace CppSharp.Passes private void DistributeMethod(Method method) { if (GetFirstWord(method.Name) == "set" && method.Name.Length > 3 && - method.ReturnType.Type.IsPrimitiveType(PrimitiveType.Void)) + method.OriginalReturnType.Type.IsPrimitiveType(PrimitiveType.Void)) { if (method.Parameters.Count == 1) setters.Add(method); @@ -222,8 +222,9 @@ namespace CppSharp.Passes private bool IsGetter(Method method) { - if (method.ReturnType.Type.IsPrimitiveType(PrimitiveType.Void) || - method.Parameters.Count > 0 || method.IsDestructor) + if (method.IsDestructor || + (method.OriginalReturnType.Type.IsPrimitiveType(PrimitiveType.Void)) || + method.Parameters.Any(p => p.Kind != ParameterKind.IndirectReturnType)) return false; var result = GetFirstWord(method.Name); return (result.Length < method.Name.Length && diff --git a/src/Generator/Passes/verbs.txt b/src/Generator/Passes/verbs.txt index b5a441c9..da74e991 100644 --- a/src/Generator/Passes/verbs.txt +++ b/src/Generator/Passes/verbs.txt @@ -7209,6 +7209,7 @@ rettore rettorn retune returf +return retwine retwist retype