From bc06840e00425db342bc5a021c0900d9e63b71f0 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Fri, 15 Jul 2016 14:23:47 +0100 Subject: Split switch handling off to desugar step --- src/main/java/org/zwobble/couscous/interpreter/JavaProject.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/main/java/org/zwobble/couscous/interpreter/JavaProject.java') diff --git a/src/main/java/org/zwobble/couscous/interpreter/JavaProject.java b/src/main/java/org/zwobble/couscous/interpreter/JavaProject.java index f96f0c4..42f0d83 100644 --- a/src/main/java/org/zwobble/couscous/interpreter/JavaProject.java +++ b/src/main/java/org/zwobble/couscous/interpreter/JavaProject.java @@ -2,11 +2,13 @@ package org.zwobble.couscous.interpreter; import com.google.common.collect.Iterables; import org.zwobble.couscous.ast.TypeNode; +import org.zwobble.couscous.frontends.java.Scope; import org.zwobble.couscous.interpreter.types.InterpreterType; import org.zwobble.couscous.interpreter.types.IntrinsicInterpreterType; import org.zwobble.couscous.interpreter.types.UserDefinedInterpreterType; import org.zwobble.couscous.interpreter.values.BoxedIntegerInterpreterValue; import org.zwobble.couscous.interpreter.values.InternalCouscousInterpreterValue; +import org.zwobble.couscous.transforms.DesugarSwitchToIfElse; import java.util.List; @@ -22,7 +24,10 @@ public class JavaProject { } public static Project of(List classNodes) { - Iterable concreteTypes = Iterables.transform(classNodes, UserDefinedInterpreterType::new); + Iterable concreteTypes = Iterables.transform( + classNodes, + classNode -> new UserDefinedInterpreterType(classNode.transform(DesugarSwitchToIfElse.transformer(Scope.create()))) + ); return builder() .addClasses(concreteTypes) .build(); -- cgit v1.2.3