aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/couscous/backends/python
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-10-30 17:21:10 +0000
committerMichael Williamson <mike@zwobble.org>2016-10-30 17:21:10 +0000
commitd58b27ee89a014aa294b25baffd53c7a96a64be3 (patch)
tree6dcd100dd36c54b481dd49d07fab76bd747dc851 /src/main/java/org/zwobble/couscous/backends/python
parentbefd7c344ba8a7c3402d4c678f1b81017fd65947 (diff)
Extract inner type hoisting to separate step
Diffstat (limited to 'src/main/java/org/zwobble/couscous/backends/python')
-rw-r--r--src/main/java/org/zwobble/couscous/backends/python/PythonBackend.java17
1 files changed, 10 insertions, 7 deletions
diff --git a/src/main/java/org/zwobble/couscous/backends/python/PythonBackend.java b/src/main/java/org/zwobble/couscous/backends/python/PythonBackend.java
index 5b6e819..6509fc4 100644
--- a/src/main/java/org/zwobble/couscous/backends/python/PythonBackend.java
+++ b/src/main/java/org/zwobble/couscous/backends/python/PythonBackend.java
@@ -8,6 +8,7 @@ import org.zwobble.couscous.ast.visitors.NodeTransformer;
import org.zwobble.couscous.transforms.DesugarForEachToFor;
import org.zwobble.couscous.transforms.DesugarForToWhile;
import org.zwobble.couscous.transforms.DesugarSwitchToIfElse;
+import org.zwobble.couscous.transforms.HoistNestedTypes;
import java.io.File;
import java.io.IOException;
@@ -50,13 +51,15 @@ public class PythonBackend implements Backend {
}
private List<TypeNode> desugar(List<TypeNode> classes) {
- return NodeTransformer.applyAll(
- list(
- DesugarSwitchToIfElse.transformer(),
- DesugarForEachToFor.transformer(),
- DesugarForToWhile.transformer()
- ),
- classes
+ return HoistNestedTypes.hoist(
+ NodeTransformer.applyAll(
+ list(
+ DesugarSwitchToIfElse.transformer(),
+ DesugarForEachToFor.transformer(),
+ DesugarForToWhile.transformer()
+ ),
+ classes
+ )
);
}