diff options
Diffstat (limited to 'src/main/java/org/shedlang/compiler/ShedCompiler.java')
| -rw-r--r-- | src/main/java/org/shedlang/compiler/ShedCompiler.java | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/main/java/org/shedlang/compiler/ShedCompiler.java b/src/main/java/org/shedlang/compiler/ShedCompiler.java index 9b030916..45411d3c 100644 --- a/src/main/java/org/shedlang/compiler/ShedCompiler.java +++ b/src/main/java/org/shedlang/compiler/ShedCompiler.java @@ -5,7 +5,7 @@ import org.shedlang.compiler.config.ProjectConfig; import org.shedlang.compiler.parser.Parser; import org.shedlang.compiler.sources.Sources; import org.shedlang.compiler.stackir.StackCompiler; -import org.shedlang.compiler.stackir.instructions.Instruction; +import org.shedlang.compiler.stackir.StackIrNamespace; import org.shedlang.compiler.typechecker.TypeChecker; import org.shedlang.compiler.typechecker.TypeCheckerContext; import org.shedlang.compiler.types.Effects; @@ -20,7 +20,10 @@ import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.SimpleFileVisitor; import java.nio.file.attribute.BasicFileAttributes; -import java.util.*; +import java.util.ArrayList; +import java.util.Comparator; +import java.util.List; +import java.util.Map; import java.util.stream.StreamSupport; import static org.shedlang.compiler.parser.Tokeniser.tokenise; @@ -33,7 +36,7 @@ public class ShedCompiler { var sourceFilePaths = collectSourceFilePaths(sourceRoot); - var namespaces = new LinkedHashMap<NamespaceName, List<Instruction>>(); + var namespaces = new ArrayList<StackIrNamespace>(); var typeCheckerContext = TypeCheckerContext.EMPTY .addNamespaceFields(ShedBuiltins.NAMESPACE_NAME, P.orderedMap( @@ -67,8 +70,8 @@ public class ShedCompiler { var typeCheckNamespaceResult = TypeChecker.typeCheckNamespace(untypedNode, typeCheckerContext); typeCheckerContext = typeCheckNamespaceResult.context(); - var instructions = StackCompiler.compileNamespace(typeCheckNamespaceResult.value()); - namespaces.put(namespaceName, instructions); + var stackIrNamespace = StackCompiler.compileNamespace(typeCheckNamespaceResult.value()); + namespaces.add(stackIrNamespace); } backend.compile(config, namespaces, typeCheckerContext.toTypeInfo(), config.targetDir().resolve(backend.name())); |
