Browse Source

Added checking of function parameters for ignored types.

pull/1/head
triton 13 years ago
parent
commit
ffdd10ef42
  1. 16
      src/Generator/Passes/ResolveIncompleteDeclsPass.cs

16
src/Generator/Passes/ResolveIncompleteDeclsPass.cs

@ -18,16 +18,18 @@ namespace Cxxi.Passes @@ -18,16 +18,18 @@ namespace Cxxi.Passes
return false;
if (!@class.IsIncomplete)
return false;
goto Out;
if (@class.CompleteDeclaration != null)
return false;
goto Out;
@class.CompleteDeclaration = Library.FindCompleteClass(@class.Name);
if (@class.CompleteDeclaration == null)
Console.WriteLine("Unresolved declaration: {0}", @class.Name);
Out:
return base.VisitClassDecl(@class);
}
@ -57,6 +59,7 @@ namespace Cxxi.Passes @@ -57,6 +59,7 @@ namespace Cxxi.Passes
function.ExplicityIgnored = true;
Console.WriteLine("Function '{0}' was ignored due to {1} return decl",
function.Name, msg);
return false;
}
foreach (var param in function.Parameters)
@ -66,6 +69,15 @@ namespace Cxxi.Passes @@ -66,6 +69,15 @@ namespace Cxxi.Passes
function.ExplicityIgnored = true;
Console.WriteLine("Function '{0}' was ignored due to {1} param",
function.Name, msg);
return false;
}
if (HasInvalidType(param.Type, out msg))
{
function.ExplicityIgnored = true;
Console.WriteLine("Function '{0}' was ignored due to {1} param",
function.Name, msg);
return false;
}
}

Loading…
Cancel
Save