Browse Source

Fix the moving of free functions to classes to match by module too

Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
pull/1265/head
Dimitar Dobrev 6 years ago
parent
commit
74eab9f6cc
  1. 12
      src/Generator/Passes/MoveFunctionToClassPass.cs

12
src/Generator/Passes/MoveFunctionToClassPass.cs

@ -65,12 +65,12 @@ namespace CppSharp.Passes @@ -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;

Loading…
Cancel
Save