From ee86be7562669c7aeb560d0f2e6f5d2316268724 Mon Sep 17 00:00:00 2001 From: triton Date: Wed, 29 May 2013 19:23:46 +0100 Subject: [PATCH] Added support for events to CheckIgnoredDecls pass. --- src/Generator/Passes/CheckIgnoredDecls.cs | 36 +++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/src/Generator/Passes/CheckIgnoredDecls.cs b/src/Generator/Passes/CheckIgnoredDecls.cs index bdf61057..ac96f861 100644 --- a/src/Generator/Passes/CheckIgnoredDecls.cs +++ b/src/Generator/Passes/CheckIgnoredDecls.cs @@ -144,6 +144,42 @@ namespace CppSharp.Passes return true; } + public override bool VisitEvent(Event @event) + { + if (!VisitDeclaration(@event)) + return false; + + string msg; + if (HasInvalidDecl(@event, out msg)) + { + @event.ExplicityIgnored = true; + Console.WriteLine("Event '{0}' was ignored due to {1} decl", + @event.Name, msg); + return false; + } + + foreach (var param in @event.Parameters) + { + if (HasInvalidDecl(param, out msg)) + { + @event.ExplicityIgnored = true; + Console.WriteLine("Event '{0}' was ignored due to {1} param", + @event.Name, msg); + return false; + } + + if (HasInvalidType(param.Type, out msg)) + { + @event.ExplicityIgnored = true; + Console.WriteLine("Event '{0}' was ignored due to {1} param", + @event.Name, msg); + return false; + } + } + + return true; + } + #region Helpers ///