|
|
@ -1,5 +1,6 @@ |
|
|
|
using System; |
|
|
|
using System; |
|
|
|
using System.IO; |
|
|
|
using System.IO; |
|
|
|
|
|
|
|
using System.Linq; |
|
|
|
using CppSharp.AST; |
|
|
|
using CppSharp.AST; |
|
|
|
using CppSharp.Generators; |
|
|
|
using CppSharp.Generators; |
|
|
|
using CppSharp.Passes; |
|
|
|
using CppSharp.Passes; |
|
|
@ -147,14 +148,32 @@ namespace CppSharp |
|
|
|
if (field.Ignore) |
|
|
|
if (field.Ignore) |
|
|
|
return false; |
|
|
|
return false; |
|
|
|
|
|
|
|
|
|
|
|
var typePrinter = new CppTypePrinter(Driver.TypeDatabase); |
|
|
|
if (!IsStdType(field.QualifiedType)) return false; |
|
|
|
var typeName = field.QualifiedType.Visit(typePrinter); |
|
|
|
|
|
|
|
|
|
|
|
field.ExplicityIgnored = true; |
|
|
|
|
|
|
|
return true; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (!typeName.Contains("std::")) |
|
|
|
public override bool VisitFunctionDecl(Function function) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
if (function.Ignore) |
|
|
|
return false; |
|
|
|
return false; |
|
|
|
|
|
|
|
|
|
|
|
field.ExplicityIgnored = true; |
|
|
|
if (function.Parameters.Any(param => IsStdType(param.QualifiedType))) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
function.ExplicityIgnored = true; |
|
|
|
|
|
|
|
return false; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return true; |
|
|
|
return true; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private bool IsStdType(QualifiedType type) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
var typePrinter = new CppTypePrinter(Driver.TypeDatabase); |
|
|
|
|
|
|
|
var typeName = type.Visit(typePrinter); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return typeName.Contains("std::"); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|