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
foreach (Method getter in foreach (Method getter in
from getter in getters from getter in getters
where getter.IsGenerated && getter.SynthKind != FunctionSynthKind.ComplementOperator && where getter.IsGenerated &&
((Class) getter.Namespace).Methods.All(m => m == getter ||!m.IsGenerated || m.Name != getter.Name) getter.SynthKind != FunctionSynthKind.ComplementOperator
select getter) select getter)
{ {
// Make it a read-only property // Make it a read-only property

6
tests/CSharp/CSharp.Tests.cs

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

Loading…
Cancel
Save