aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/shedlang/compiler/ShedCompiler.java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2023-10-22 23:18:17 +0100
committerMichael Williamson <mike@zwobble.org>2023-10-22 23:18:17 +0100
commitc87ffcbab5927c660d339d3b47b75acb50deb085 (patch)
treed1bcebfdc82565179fd8718bea37c1dae6bca3b8 /src/main/java/org/shedlang/compiler/ShedCompiler.java
parent9c35257a360c8bea20e766b44da7eb4897a223b3 (diff)
Check that main function is present
Diffstat (limited to 'src/main/java/org/shedlang/compiler/ShedCompiler.java')
-rw-r--r--src/main/java/org/shedlang/compiler/ShedCompiler.java8
1 files changed, 7 insertions, 1 deletions
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())
);
}