diff options
| author | Michael Williamson <mike@zwobble.org> | 2016-03-01 21:26:58 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2016-03-01 21:26:58 +0000 |
| commit | fb803462c9ee3cbe949c510fc140bd91adb54b98 (patch) | |
| tree | dc3d410e68fea21de81b1f3868d0e95ecf403ec3 /src | |
| parent | dbe3c6ad7ead5fef7d6dde68c9c53bebe3593fe6 (diff) | |
Get static nested classes working on C# and Python backends
Diffstat (limited to 'src')
3 files changed, 6 insertions, 15 deletions
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<TypeName> 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, |
