From c87ffcbab5927c660d339d3b47b75acb50deb085 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sun, 22 Oct 2023 23:18:17 +0100 Subject: Check that main function is present --- src/main/java/org/shedlang/compiler/ShedCompiler.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/main/java/org/shedlang/compiler/ShedCompiler.java') diff --git a/src/main/java/org/shedlang/compiler/ShedCompiler.java b/src/main/java/org/shedlang/compiler/ShedCompiler.java index 98583ed1..6e7f187a 100644 --- a/src/main/java/org/shedlang/compiler/ShedCompiler.java +++ b/src/main/java/org/shedlang/compiler/ShedCompiler.java @@ -2,6 +2,7 @@ package org.shedlang.compiler; import org.shedlang.compiler.ast.untyped.UntypedNamespaceNode; import org.shedlang.compiler.backends.Backend; +import org.shedlang.compiler.config.ConfigChecker; import org.shedlang.compiler.config.ProjectConfig; import org.shedlang.compiler.parser.Parser; import org.shedlang.compiler.sources.Sources; @@ -9,6 +10,7 @@ import org.shedlang.compiler.stackir.StackCompiler; import org.shedlang.compiler.stackir.StackIrNamespace; import org.shedlang.compiler.typechecker.TypeChecker; import org.shedlang.compiler.typechecker.TypeCheckerContext; +import org.shedlang.compiler.typechecker.TypeInfos; import org.shedlang.compiler.types.Effects; import org.shedlang.compiler.types.NamespaceName; import org.shedlang.compiler.types.Types; @@ -61,10 +63,14 @@ public class ShedCompiler { namespaces.add(stackIrNamespace); } + var typeInfos = typeCheckerContext.toTypeInfos(); + + ConfigChecker.configCheck(config, typeInfos); + backend.compile( config, namespaces, - typeCheckerContext.toTypeInfos(), + typeInfos, config.targetDir().resolve(backend.name()) ); } -- cgit v1.2.3