From 74eab9f6cced9581618bfc34b89847836ad7c175 Mon Sep 17 00:00:00 2001 From: Dimitar Dobrev <dpldobrev@protonmail.com> Date: Wed, 20 Nov 2019 23:48:35 +0200 Subject: [PATCH] Fix the moving of free functions to classes to match by module too Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com> --- src/Generator/Passes/MoveFunctionToClassPass.cs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/Generator/Passes/MoveFunctionToClassPass.cs b/src/Generator/Passes/MoveFunctionToClassPass.cs index 5e5d295a..6abfd339 100644 --- a/src/Generator/Passes/MoveFunctionToClassPass.cs +++ b/src/Generator/Passes/MoveFunctionToClassPass.cs @@ -65,12 +65,12 @@ namespace CppSharp.Passes } else { - var unit = function.Namespace as TranslationUnit; - @class = unit == null - ? ASTContext.FindClass( - function.Namespace.Name, ignoreCase: true).FirstOrDefault() - : ASTContext.FindCompleteClass( - unit.FileNameWithoutExtension.ToLowerInvariant(), true); + string name = (function.Namespace as TranslationUnit)?.FileNameWithoutExtension ?? + function.Namespace.Name; + @class = ASTContext.FindClass( + name, ignoreCase: true).FirstOrDefault( + c => c.TranslationUnit.Module == function.TranslationUnit.Module && + !c.IsIncomplete); } return @class;