Browse Source

Removed ignored methods from consideration when generating properties.

Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
incorrect_trunit_test
Dimitar Dobrev 10 years ago
parent
commit
8ddc1e4736
  1. 2
      src/Generator/Passes/GetterSetterToPropertyAdvancedPass.cs
  2. 4
      src/Generator/Passes/RenamePass.cs
  3. 5
      tests/CSharpTemp/CSharpTemp.Tests.cs
  4. 5
      tests/CSharpTemp/CSharpTemp.cpp
  5. 1
      tests/CSharpTemp/CSharpTemp.h

2
src/Generator/Passes/GetterSetterToPropertyAdvancedPass.cs

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

4
src/Generator/Passes/RenamePass.cs

@ -161,10 +161,10 @@ namespace CppSharp.Passes @@ -161,10 +161,10 @@ namespace CppSharp.Passes
if (method != null)
{
return ((Class) method.Namespace).Methods.Where(
m => m.Parameters.SequenceEqual(function.Parameters, new ParameterComparer()));
m => !m.Ignore && m.Parameters.SequenceEqual(function.Parameters, new ParameterComparer()));
}
return function.Namespace.Functions.Where(
f => f.Parameters.SequenceEqual(function.Parameters, new ParameterComparer()));
f => !f.Ignore && f.Parameters.SequenceEqual(function.Parameters, new ParameterComparer()));
}
public override bool VisitEnumItem(Enumeration.Item item)

5
tests/CSharpTemp/CSharpTemp.Tests.cs

@ -1,10 +1,8 @@ @@ -1,10 +1,8 @@
using System;
using System.Reflection;
using CppSharp.Runtime;
using CSharpTemp;
using CppSharp.Utils;
using CSharpTemp;
using NUnit.Framework;
using Foo = CSharpTemp.Foo;
public class CSharpTempTests : GeneratorTestFixture
{
@ -59,6 +57,7 @@ public class CSharpTempTests : GeneratorTestFixture @@ -59,6 +57,7 @@ public class CSharpTempTests : GeneratorTestFixture
public void TestProperties()
{
var proprietor = new Proprietor();
Assert.That(proprietor.Parent, Is.EqualTo(0));
proprietor.Value = 20;
Assert.That(proprietor.Value, Is.EqualTo(20));
proprietor.Prop = 50;

5
tests/CSharpTemp/CSharpTemp.cpp

@ -152,6 +152,11 @@ int AbstractProprietor::parent() @@ -152,6 +152,11 @@ int AbstractProprietor::parent()
return 0;
}
int AbstractProprietor::parent() const
{
return 0;
}
void Proprietor::setValue(int value)
{
m_value = value;

1
tests/CSharpTemp/CSharpTemp.h

@ -102,6 +102,7 @@ public: @@ -102,6 +102,7 @@ public:
virtual void setProp(long prop);
virtual int parent();
virtual int parent() const;
protected:
int m_value;

Loading…
Cancel
Save