package org.zwobble.couscous; import org.zwobble.couscous.ast.TypeNode; import org.zwobble.couscous.frontends.java.JavaFrontend; import org.zwobble.couscous.util.FileSet; import java.io.IOException; import java.nio.file.Path; import java.util.List; import static org.zwobble.couscous.util.ExtraLists.list; public class CouscousCompiler { private final JavaFrontend frontend; private final Backend backend; public CouscousCompiler(JavaFrontend frontend, Backend backend) { this.frontend = frontend; this.backend = backend; } public void compileDirectory(List sourcePaths, Path path) throws IOException { List classes = frontend.readSourceDirectory(sourcePaths, FileSet.globs(list(path.toString()))); backend.compile(classes); } }