Browse Source

Changed events parameters to be actual parameters rather than just types.

pull/1/head
triton 12 years ago
parent
commit
bed7b4d8b7
  1. 4
      src/Bridge/Event.cs
  2. 3
      src/Generator/Generators/CLI/CLIHeadersTemplate.cs
  3. 16
      src/Generator/Generators/CLI/CLISourcesTemplate.cs
  4. 15
      src/Generator/Generators/CLI/CLITextTemplate.cs
  5. 23
      src/Generator/Generators/CSharp/CSharpTextTemplate.cs

4
src/Bridge/Event.cs

@ -6,7 +6,7 @@ namespace CppSharp @@ -6,7 +6,7 @@ namespace CppSharp
{
public Event()
{
Parameters = new List<QualifiedType>();
Parameters = new List<Parameter>();
}
public override T Visit<T>(IDeclVisitor<T> visitor)
@ -17,6 +17,6 @@ namespace CppSharp @@ -17,6 +17,6 @@ namespace CppSharp
public Type Type { get { return QualifiedType.Type; } }
public QualifiedType QualifiedType { get; set; }
public List<QualifiedType> Parameters;
public List<Parameter> Parameters;
}
}

3
src/Generator/Generators/CLI/CLIHeadersTemplate.cs

@ -363,8 +363,7 @@ namespace CppSharp.Generators.CLI @@ -363,8 +363,7 @@ namespace CppSharp.Generators.CLI
var typePrinter = new CppTypePrinter(Driver.TypeDatabase);
var @params = GetEventParameters(@event);
var args = typePrinter.VisitParameters(@params, hasNames: true);
var args = typePrinter.VisitParameters(@event.Parameters, hasNames: true);
PopIndent();
WriteLine("private:");

16
src/Generator/Generators/CLI/CLISourcesTemplate.cs

@ -331,9 +331,7 @@ namespace CppSharp.Generators.CLI @@ -331,9 +331,7 @@ namespace CppSharp.Generators.CLI
WriteStartBraceIndent();
var typePrinter = new CppTypePrinter(Driver.TypeDatabase);
var @params = GetEventParameters(@event);
var args = typePrinter.VisitParameters(@params, hasNames: false);
var args = typePrinter.VisitParameters(@event.Parameters, hasNames: false);
WriteLine("{0}Instance = gcnew {0}(this, &{1}::_{2}Raise);",
delegateName, QualifiedIdentifier(@class), @event.Name);
@ -367,16 +365,14 @@ namespace CppSharp.Generators.CLI @@ -367,16 +365,14 @@ namespace CppSharp.Generators.CLI
private void GenerateEventRaise(Event @event, Class @class)
{
var typePrinter = new CLITypePrinter(Driver);
var @params = GetEventParameters(@event);
var args = typePrinter.VisitParameters(@params, hasNames: true);
var args = typePrinter.VisitParameters(@event.Parameters, hasNames: true);
WriteLine("void {0}::{1}::raise({2})", QualifiedIdentifier(@class),
@event.Name, args);
WriteStartBraceIndent();
var paramNames = @params.Select(param => param.Name).ToList();
var paramNames = @event.Parameters.Select(param => param.Name).ToList();
WriteLine("_{0}({1});", @event.Name, string.Join(", ", paramNames));
WriteCloseBraceIndent();
@ -385,9 +381,7 @@ namespace CppSharp.Generators.CLI @@ -385,9 +381,7 @@ namespace CppSharp.Generators.CLI
private void GenerateEventRaiseWrapper(Event @event, Class @class)
{
var typePrinter = new CppTypePrinter(Driver.TypeDatabase);
var @params = GetEventParameters(@event);
var args = typePrinter.VisitParameters(@params, hasNames: true);
var args = typePrinter.VisitParameters(@event.Parameters, hasNames: true);
WriteLine("void {0}::_{1}Raise({2})", QualifiedIdentifier(@class),
@event.Name, args);
@ -395,7 +389,7 @@ namespace CppSharp.Generators.CLI @@ -395,7 +389,7 @@ namespace CppSharp.Generators.CLI
WriteStartBraceIndent();
var returns = new List<string>();
foreach (var param in @params)
foreach (var param in @event.Parameters)
{
var ctx = new MarshalContext(Driver)
{

15
src/Generator/Generators/CLI/CLITextTemplate.cs

@ -119,21 +119,6 @@ namespace CppSharp.Generators.CLI @@ -119,21 +119,6 @@ namespace CppSharp.Generators.CLI
return string.Join(", ", types);
}
public static List<Parameter> GetEventParameters(Event @event)
{
var i = 0;
var @params = new List<Parameter>();
foreach (var type in @event.Parameters)
{
@params.Add(new Parameter()
{
Name = string.Format("_{0}", i++),
QualifiedType = type
});
}
return @params;
}
public abstract override string FileExtension { get; }
public abstract override void Generate();

23
src/Generator/Generators/CSharp/CSharpTextTemplate.cs

@ -815,21 +815,6 @@ namespace CppSharp.Generators.CSharp @@ -815,21 +815,6 @@ namespace CppSharp.Generators.CSharp
#region Events
public static List<Parameter> GetEventParameters(Event @event)
{
var i = 0;
var @params = new List<Parameter>();
foreach (var type in @event.Parameters)
{
@params.Add(new Parameter()
{
Name = string.Format("{0}", GeneratedIdentifier(i++.ToString())),
QualifiedType = type
});
}
return @params;
}
private string delegateName;
private string delegateInstance;
private string delegateRaise;
@ -837,8 +822,7 @@ namespace CppSharp.Generators.CSharp @@ -837,8 +822,7 @@ namespace CppSharp.Generators.CSharp
private void GenerateEvent(Event @event)
{
TypePrinter.PushContext(CSharpTypePrinterContextKind.Native);
var @params = GetEventParameters(@event);
var args = TypePrinter.VisitParameters(@params, hasNames: true);
var args = TypePrinter.VisitParameters(@event.Parameters, hasNames: true);
TypePrinter.PopContext();
delegateInstance = Helpers.GeneratedIdentifier(@event.Name);
@ -906,15 +890,14 @@ namespace CppSharp.Generators.CSharp @@ -906,15 +890,14 @@ namespace CppSharp.Generators.CSharp
private void GenerateEventRaiseWrapper(Event @event)
{
TypePrinter.PushContext(CSharpTypePrinterContextKind.Native);
var @params = GetEventParameters(@event);
var args = TypePrinter.VisitParameters(@params, hasNames: true);
var args = TypePrinter.VisitParameters(@event.Parameters, hasNames: true);
TypePrinter.PopContext();
WriteLine("void _{0}Raise({1})", @event.Name, args);
WriteStartBraceIndent();
var returns = new List<string>();
foreach (var param in @params)
foreach (var param in @event.Parameters)
{
var ctx = new CSharpMarshalContext(Driver)
{

Loading…
Cancel
Save