Browse Source

Fixed the type map for an enum to also handle pointers.

Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
pull/658/head
Dimitar Dobrev 9 years ago
parent
commit
d14ad944fc
  1. 2
      tests/CSharp/CSharp.Tests.cs
  2. 3
      tests/CSharp/CSharp.cpp
  3. 3
      tests/CSharp/CSharp.cs
  4. 2
      tests/CSharp/CSharp.h

2
tests/CSharp/CSharp.Tests.cs

@ -192,7 +192,7 @@ public unsafe class CSharpTests : GeneratorTestFixture
methodsWithDefaultValues.DefaultEnumAssignedBitwiseOrShort(); methodsWithDefaultValues.DefaultEnumAssignedBitwiseOrShort();
methodsWithDefaultValues.DefaultNonEmptyCtor(); methodsWithDefaultValues.DefaultNonEmptyCtor();
methodsWithDefaultValues.DefaultNonEmptyCtorWithNullPtr(); methodsWithDefaultValues.DefaultNonEmptyCtorWithNullPtr();
methodsWithDefaultValues.DefaultMappedToEnum(); Assert.That(methodsWithDefaultValues.DefaultMappedToEnum(), Is.EqualTo(Flags.Flag3));
methodsWithDefaultValues.DefaultMappedToZeroEnum(); methodsWithDefaultValues.DefaultMappedToZeroEnum();
methodsWithDefaultValues.DefaultMappedToEnumAssignedWithCtor(); methodsWithDefaultValues.DefaultMappedToEnumAssignedWithCtor();
methodsWithDefaultValues.DefaultImplicitCtorInt(); methodsWithDefaultValues.DefaultImplicitCtorInt();

3
tests/CSharp/CSharp.cpp

@ -457,8 +457,9 @@ void MethodsWithDefaultValues::defaultNonEmptyCtorWithNullPtr(QGenericArgument a
{ {
} }
void MethodsWithDefaultValues::defaultMappedToEnum(QFlags<Flags> qFlags) QFlags<Flags> MethodsWithDefaultValues::defaultMappedToEnum(const QFlags<Flags>& qFlags)
{ {
return qFlags;
} }
void MethodsWithDefaultValues::defaultMappedToZeroEnum(QFlags<Flags> qFlags) void MethodsWithDefaultValues::defaultMappedToZeroEnum(QFlags<Flags> qFlags)

3
tests/CSharp/CSharp.cs

@ -38,6 +38,9 @@ namespace CppSharp.Tests
public override void CSharpMarshalToNative(MarshalContext ctx) public override void CSharpMarshalToNative(MarshalContext ctx)
{ {
if (ctx.Parameter.Type.IsAddress())
ctx.Return.Write("new global::System.IntPtr(&{0})", ctx.Parameter.Name);
else
ctx.Return.Write(ctx.Parameter.Name); ctx.Return.Write(ctx.Parameter.Name);
} }

2
tests/CSharp/CSharp.h

@ -360,7 +360,7 @@ public:
void defaultEnumAssignedBitwiseOrShort(UntypedFlags flags = Flag1 | Flag2); void defaultEnumAssignedBitwiseOrShort(UntypedFlags flags = Flag1 | Flag2);
void defaultNonEmptyCtor(QGenericArgument arg = QGenericArgument(0)); void defaultNonEmptyCtor(QGenericArgument arg = QGenericArgument(0));
void defaultNonEmptyCtorWithNullPtr(QGenericArgument arg = QGenericArgument(nullptr)); void defaultNonEmptyCtorWithNullPtr(QGenericArgument arg = QGenericArgument(nullptr));
void defaultMappedToEnum(QFlags<Flags> qFlags = Flags::Flag1); QFlags<Flags> defaultMappedToEnum(const QFlags<Flags>& qFlags = Flags::Flag3);
void defaultMappedToZeroEnum(QFlags<Flags> qFlags = 0); void defaultMappedToZeroEnum(QFlags<Flags> qFlags = 0);
void defaultMappedToEnumAssignedWithCtor(QFlags<Flags> qFlags = QFlags<Flags>()); void defaultMappedToEnumAssignedWithCtor(QFlags<Flags> qFlags = QFlags<Flags>());
void defaultImplicitCtorInt(Quux arg = 0); void defaultImplicitCtorInt(Quux arg = 0);

Loading…
Cancel
Save