Browse Source

Python code converter now converts type reference expressions.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/3.0@4762 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Matt Ward 16 years ago
parent
commit
6d6589aa7d
  1. 2
      src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/NRefactoryToPythonConverter.cs
  2. 40
      src/AddIns/BackendBindings/Python/PythonBinding/Test/Converter/ObjectReferenceEqualsConversionTestFixture.cs
  3. 1
      src/AddIns/BackendBindings/Python/PythonBinding/Test/PythonBinding.Tests.csproj

2
src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/NRefactoryToPythonConverter.cs

@ -1170,7 +1170,7 @@ namespace ICSharpCode.PythonBinding
public override object TrackedVisitTypeReferenceExpression(TypeReferenceExpression typeReferenceExpression, object data) public override object TrackedVisitTypeReferenceExpression(TypeReferenceExpression typeReferenceExpression, object data)
{ {
Console.WriteLine("VisitTypeReferenceExpression"); Append(GetTypeName(typeReferenceExpression.TypeReference));
return null; return null;
} }

40
src/AddIns/BackendBindings/Python/PythonBinding/Test/Converter/ObjectReferenceEqualsConversionTestFixture.cs

@ -0,0 +1,40 @@
// <file>
// <copyright see="prj:///doc/copyright.txt"/>
// <license see="prj:///doc/license.txt"/>
// <owner name="Matthew Ward" email="mrward@users.sourceforge.net"/>
// <version>$Revision$</version>
// </file>
using System;
using ICSharpCode.NRefactory;
using ICSharpCode.PythonBinding;
using NUnit.Framework;
namespace PythonBinding.Tests.Converter
{
[TestFixture]
public class ObjectReferenceEqualsConversionTestFixture
{
string csharp = "class Foo\r\n" +
"{\r\n" +
" public bool IsEqual(object o)\r\n" +
" {\r\n" +
" return object.ReferenceEquals(o, null);\r\n" +
" }\r\n" +
"}";
[Test]
public void ConvertedPythonCode()
{
NRefactoryToPythonConverter converter = new NRefactoryToPythonConverter(SupportedLanguage.CSharp);
converter.IndentString = " ";
string python = converter.Convert(csharp);
string expectedPython = "class Foo(object):\r\n" +
" def IsEqual(self, o):\r\n" +
" return Object.ReferenceEquals(o, None)";
Assert.AreEqual(expectedPython, python, python);
}
}
}

1
src/AddIns/BackendBindings/Python/PythonBinding/Test/PythonBinding.Tests.csproj

@ -138,6 +138,7 @@
<Compile Include="Converter\NullConversionTestFixture.cs" /> <Compile Include="Converter\NullConversionTestFixture.cs" />
<Compile Include="Converter\ObjectCreationTestFixture.cs" /> <Compile Include="Converter\ObjectCreationTestFixture.cs" />
<Compile Include="Converter\ObjectInitializerConversionTestFixture.cs" /> <Compile Include="Converter\ObjectInitializerConversionTestFixture.cs" />
<Compile Include="Converter\ObjectReferenceEqualsConversionTestFixture.cs" />
<Compile Include="Converter\ProjectHasStartupObjectTestFixture.cs" /> <Compile Include="Converter\ProjectHasStartupObjectTestFixture.cs" />
<Compile Include="Converter\PropertyConversionTestFixture.cs" /> <Compile Include="Converter\PropertyConversionTestFixture.cs" />
<Compile Include="Converter\PropertyWithGetSetStatementsTestfixture.cs" /> <Compile Include="Converter\PropertyWithGetSetStatementsTestfixture.cs" />

Loading…
Cancel
Save