Browse Source

Simplified the pass for properties.

Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
pull/1182/head
Dimitar Dobrev 7 years ago
parent
commit
63dc3b590d
  1. 4
      src/Generator/Passes/GetterSetterToPropertyPass.cs
  2. 6
      tests/CSharp/CSharp.Tests.cs

4
src/Generator/Passes/GetterSetterToPropertyPass.cs

@ -37,8 +37,8 @@ namespace CppSharp.Passes @@ -37,8 +37,8 @@ namespace CppSharp.Passes
foreach (Method getter in
from getter in getters
where getter.IsGenerated && getter.SynthKind != FunctionSynthKind.ComplementOperator &&
((Class) getter.Namespace).Methods.All(m => m == getter ||!m.IsGenerated || m.Name != getter.Name)
where getter.IsGenerated &&
getter.SynthKind != FunctionSynthKind.ComplementOperator
select getter)
{
// Make it a read-only property

6
tests/CSharp/CSharp.Tests.cs

@ -740,13 +740,13 @@ public unsafe class CSharpTests : GeneratorTestFixture @@ -740,13 +740,13 @@ public unsafe class CSharpTests : GeneratorTestFixture
{
using (var virtualTemplate = new VirtualTemplate<int>())
{
Assert.That(virtualTemplate.Function(), Is.EqualTo(5));
Assert.That(virtualTemplate.Function, Is.EqualTo(5));
int i = 15;
Assert.That(*virtualTemplate.Function(ref i), Is.EqualTo(15));
}
using (var virtualTemplate = new VirtualTemplate<bool>())
{
Assert.That(virtualTemplate.Function(), Is.EqualTo(5));
Assert.That(virtualTemplate.Function, Is.EqualTo(5));
bool b = true;
Assert.That(*virtualTemplate.Function(ref b), Is.EqualTo(true));
}
@ -1265,6 +1265,6 @@ public unsafe class CSharpTests : GeneratorTestFixture @@ -1265,6 +1265,6 @@ public unsafe class CSharpTests : GeneratorTestFixture
private class OverrideVirtualTemplate : VirtualTemplate<int>
{
public override int Function() => 10;
public override int Function => 10;
}
}

Loading…
Cancel
Save