From fb803462c9ee3cbe949c510fc140bd91adb54b98 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Tue, 1 Mar 2016 21:26:58 +0000 Subject: Get static nested classes working on C# and Python backends --- src/main/java/org/zwobble/couscous/frontends/java/JavaTypes.java | 7 ++++++- src/test/java/org/zwobble/couscous/tests/JavaToPythonTests.java | 7 ------- .../zwobble/couscous/tests/backends/csharp/JavaToCsharpTests.java | 7 ------- 3 files changed, 6 insertions(+), 15 deletions(-) (limited to 'src') diff --git a/src/main/java/org/zwobble/couscous/frontends/java/JavaTypes.java b/src/main/java/org/zwobble/couscous/frontends/java/JavaTypes.java index c3c6b7f..117f3ca 100644 --- a/src/main/java/org/zwobble/couscous/frontends/java/JavaTypes.java +++ b/src/main/java/org/zwobble/couscous/frontends/java/JavaTypes.java @@ -25,7 +25,12 @@ class JavaTypes { } static TypeName typeOf(ITypeBinding typeBinding) { - return TypeName.of(typeBinding.getErasure().getQualifiedName()); + ITypeBinding outerClass = typeBinding.getDeclaringClass(); + if (outerClass == null) { + return TypeName.of(typeBinding.getErasure().getQualifiedName()); + } else { + return TypeName.of(typeOf(outerClass).getQualifiedName() + "__" + typeBinding.getName()); + } } static Set superTypes(TypeDeclaration declaration) { diff --git a/src/test/java/org/zwobble/couscous/tests/JavaToPythonTests.java b/src/test/java/org/zwobble/couscous/tests/JavaToPythonTests.java index 35040b1..6b9f6ed 100644 --- a/src/test/java/org/zwobble/couscous/tests/JavaToPythonTests.java +++ b/src/test/java/org/zwobble/couscous/tests/JavaToPythonTests.java @@ -1,7 +1,5 @@ package org.zwobble.couscous.tests; -import org.junit.Ignore; -import org.junit.Test; import org.zwobble.couscous.CouscousCompiler; import org.zwobble.couscous.ast.TypeName; import org.zwobble.couscous.backends.python.PythonBackend; @@ -18,11 +16,6 @@ import static org.zwobble.couscous.tests.util.ExtraFiles.deleteRecursively; import static org.zwobble.couscous.util.ExtraLists.list; public class JavaToPythonTests extends CompilerTests { - @Test - @Ignore - public void staticNestedClasses() throws Exception { - } - protected PrimitiveValue execProgram( Path directory, TypeName type, diff --git a/src/test/java/org/zwobble/couscous/tests/backends/csharp/JavaToCsharpTests.java b/src/test/java/org/zwobble/couscous/tests/backends/csharp/JavaToCsharpTests.java index a44d2fe..cc00511 100644 --- a/src/test/java/org/zwobble/couscous/tests/backends/csharp/JavaToCsharpTests.java +++ b/src/test/java/org/zwobble/couscous/tests/backends/csharp/JavaToCsharpTests.java @@ -1,7 +1,5 @@ package org.zwobble.couscous.tests.backends.csharp; -import org.junit.Ignore; -import org.junit.Test; import org.zwobble.couscous.CouscousCompiler; import org.zwobble.couscous.ast.TypeName; import org.zwobble.couscous.backends.csharp.CsharpBackend; @@ -18,11 +16,6 @@ import static org.zwobble.couscous.tests.util.ExtraFiles.deleteRecursively; import static org.zwobble.couscous.util.ExtraLists.list; public class JavaToCsharpTests extends CompilerTests { - @Test - @Ignore - public void staticNestedClasses() throws Exception { - } - protected PrimitiveValue execProgram( Path directory, TypeName type, -- cgit v1.2.3