Browse Source

Formatting fixes on MultipleInheritancePass.

pull/1300/head
João Matos 6 years ago committed by João Matos
parent
commit
a7824abb02
  1. 12
      src/Generator/Passes/MultipleInheritancePass.cs

12
src/Generator/Passes/MultipleInheritancePass.cs

@ -139,6 +139,7 @@ namespace CppSharp.Passes @@ -139,6 +139,7 @@ namespace CppSharp.Passes
{
QualifiedType intPtr = new QualifiedType(
new BuiltinType(PrimitiveType.IntPtr));
var instance = new Property
{
Namespace = @interface,
@ -213,6 +214,7 @@ namespace CppSharp.Passes @@ -213,6 +214,7 @@ namespace CppSharp.Passes
Namespace = @namespace
};
}
if (property.SetMethod != null)
{
// handle indexers
@ -223,6 +225,7 @@ namespace CppSharp.Passes @@ -223,6 +225,7 @@ namespace CppSharp.Passes
Namespace = @namespace
};
}
return interfaceProperty;
}
@ -236,23 +239,29 @@ namespace CppSharp.Passes @@ -236,23 +239,29 @@ namespace CppSharp.Passes
m.Parameters.Where(p => !p.Ignore).SequenceEqual(
method.Parameters.Where(p => !p.Ignore),
ParameterTypeComparer.Instance));
if (existingImpl != null)
{
if (existingImpl.OriginalFunction == null)
existingImpl.OriginalFunction = method;
continue;
}
var impl = new Method(method)
{
Namespace = @class,
OriginalNamespace = @interface,
OriginalFunction = method.OriginalFunction
};
var rootBaseMethod = @class.GetBaseMethod(method);
if (rootBaseMethod != null && rootBaseMethod.IsDeclared)
impl.ExplicitInterfaceImpl = @interface;
@class.Methods.Add(impl);
}
foreach (var @base in @interface.Bases)
ImplementInterfaceMethods(@class, @base.Class);
}
@ -263,11 +272,14 @@ namespace CppSharp.Passes @@ -263,11 +272,14 @@ namespace CppSharp.Passes
{
var impl = CreateInterfaceProperty(property, @class);
impl.OriginalNamespace = @interface;
var rootBaseProperty = @class.GetBasePropertyByName(property, true);
if (rootBaseProperty != null && rootBaseProperty.IsDeclared)
impl.ExplicitInterfaceImpl = @interface;
@class.Properties.Add(impl);
}
foreach (var @base in @interface.Bases)
ImplementInterfaceProperties(@class, @base.Class);
}

Loading…
Cancel
Save