Browse Source

Convert event handling in C# generator to visitor model

pull/818/head
Joao Matos 9 years ago
parent
commit
4fdee9a0d5
  1. 8
      src/Generator/Generators/CSharp/CSharpSources.cs

8
src/Generator/Generators/CSharp/CSharpSources.cs

@ -229,7 +229,7 @@ namespace CppSharp.Generators.CSharp
@class.Visit(this); @class.Visit(this);
foreach (var @event in context.Events) foreach (var @event in context.Events)
GenerateEvent(@event); @event.Visit(this);
GenerateNamespaceFunctionsAndVariables(context); GenerateNamespaceFunctionsAndVariables(context);
@ -1768,10 +1768,10 @@ namespace CppSharp.Generators.CSharp
#region Events #region Events
private void GenerateEvent(Event @event) public override bool VisitEvent(Event @event)
{ {
if (!@event.IsGenerated) if (!@event.IsGenerated)
return; return true;
PushBlock(CSharpBlockKind.Event, @event); PushBlock(CSharpBlockKind.Event, @event);
TypePrinter.PushContext(TypePrinterContextKind.Native); TypePrinter.PushContext(TypePrinterContextKind.Native);
@ -1801,6 +1801,8 @@ namespace CppSharp.Generators.CSharp
GenerateEventRaiseWrapper(@event, delegateInstance); GenerateEventRaiseWrapper(@event, delegateInstance);
PopBlock(NewLineKind.BeforeNextBlock); PopBlock(NewLineKind.BeforeNextBlock);
return true;
} }
private void GenerateEventAdd(Event @event, string delegateRaise, string delegateName, string delegateInstance) private void GenerateEventAdd(Event @event, string delegateRaise, string delegateName, string delegateInstance)

Loading…
Cancel
Save