aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/couscous/JavaProject.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/zwobble/couscous/JavaProject.java')
-rw-r--r--src/main/java/org/zwobble/couscous/JavaProject.java15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/main/java/org/zwobble/couscous/JavaProject.java b/src/main/java/org/zwobble/couscous/JavaProject.java
index 04ed53d..d54bd9c 100644
--- a/src/main/java/org/zwobble/couscous/JavaProject.java
+++ b/src/main/java/org/zwobble/couscous/JavaProject.java
@@ -1,10 +1,25 @@
package org.zwobble.couscous;
+import java.util.List;
+
+import org.zwobble.couscous.ast.ClassNode;
+import org.zwobble.couscous.interpreter.values.ConcreteType;
import org.zwobble.couscous.interpreter.values.IntegerInterpreterValue;
+import com.google.common.collect.Iterables;
+
+import lombok.val;
+
public class JavaProject {
public static MapBackedProject.Builder builder() {
return MapBackedProject.builder()
.addClass(IntegerInterpreterValue.TYPE);
}
+
+ public static Project of(List<ClassNode> classNodes) {
+ val concreteTypes = (Iterable)Iterables.transform(classNodes, ConcreteType::fromNode);
+ return builder()
+ .addClasses(concreteTypes)
+ .build();
+ }
}