diff --git a/src/Generator/Passes/CheckIgnoredDecls.cs b/src/Generator/Passes/CheckIgnoredDecls.cs
index 72f6f0ab..ccbfc717 100644
--- a/src/Generator/Passes/CheckIgnoredDecls.cs
+++ b/src/Generator/Passes/CheckIgnoredDecls.cs
@@ -321,7 +321,7 @@ namespace CppSharp.Passes
/// reasons: incomplete definitions, being explicitly ignored, or also
/// by being a type we do not know how to handle.
///
- bool HasInvalidType(Type type, out string msg)
+ private bool HasInvalidType(Type type, out string msg)
{
if (type == null)
{
@@ -355,7 +355,7 @@ namespace CppSharp.Passes
return false;
}
- bool HasInvalidDecl(Declaration decl, out string msg)
+ private bool HasInvalidDecl(Declaration decl, out string msg)
{
if (decl == null)
{
@@ -393,7 +393,7 @@ namespace CppSharp.Passes
return !decl.IsIncomplete;
}
- bool IsTypeIgnored(Type type)
+ private bool IsTypeIgnored(Type type)
{
var checker = new TypeIgnoreChecker(Driver.TypeDatabase);
type.Visit(checker);
@@ -401,12 +401,14 @@ namespace CppSharp.Passes
return checker.IsIgnored;
}
- bool IsDeclIgnored(Declaration decl)
+ private bool IsDeclIgnored(Declaration decl)
{
- var checker = new TypeIgnoreChecker(Driver.TypeDatabase);
- decl.Visit(checker);
+ var parameter = decl as Parameter;
+ if (parameter != null && parameter.Type.Desugar().IsPrimitiveType(PrimitiveType.Null))
+ return true;
- return checker.IsIgnored;
+ TypeMap typeMap;
+ return Driver.TypeDatabase.FindTypeMap(decl, out typeMap) ? typeMap.IsIgnored : decl.Ignore;
}
#endregion
diff --git a/src/Generator/Types/Types.cs b/src/Generator/Types/Types.cs
index d5f23165..0bd40b49 100644
--- a/src/Generator/Types/Types.cs
+++ b/src/Generator/Types/Types.cs
@@ -4,29 +4,6 @@ using CppSharp.Types;
namespace CppSharp
{
- ///
- /// This type checker is used to check if a type is complete.
- ///
- public class TypeCompletionChecker : AstVisitor
- {
- public TypeCompletionChecker()
- {
- Options.VisitClassBases = false;
- Options.VisitTemplateArguments = false;
- }
-
- public override bool VisitDeclaration(Declaration decl)
- {
- if (AlreadyVisited(decl))
- return false;
-
- if (decl.CompleteDeclaration != null)
- return true;
-
- return !decl.IsIncomplete;
- }
- }
-
///
/// This type checker is used to check if a type is ignored.
///