From 1ef4865a040ae94b69a5c4dabcb5dca837cae67c Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sun, 30 Oct 2016 23:55:19 +0000 Subject: Defer generation of classes for lambdas --- src/main/java/org/zwobble/couscous/ast/ClassNodeBuilder.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/main/java/org/zwobble/couscous/ast/ClassNodeBuilder.java') diff --git a/src/main/java/org/zwobble/couscous/ast/ClassNodeBuilder.java b/src/main/java/org/zwobble/couscous/ast/ClassNodeBuilder.java index 4d39b01..71c226a 100644 --- a/src/main/java/org/zwobble/couscous/ast/ClassNodeBuilder.java +++ b/src/main/java/org/zwobble/couscous/ast/ClassNodeBuilder.java @@ -5,6 +5,7 @@ import com.google.common.collect.ImmutableSet; import org.zwobble.couscous.ast.identifiers.Identifier; import org.zwobble.couscous.types.ScalarType; import org.zwobble.couscous.types.Type; +import org.zwobble.couscous.types.TypeParameter; import org.zwobble.couscous.types.Types; import java.util.List; @@ -46,6 +47,11 @@ public class ClassNodeBuilder { return this; } + public ClassNodeBuilder addTypeParameter(TypeParameter typeParameter) { + this.typeParameters.add(formalTypeParameter(typeParameter)); + return this; + } + public ClassNodeBuilder addSuperType(String type) { this.superTypes.add(ScalarType.topLevel(type)); return this; @@ -55,7 +61,7 @@ public class ClassNodeBuilder { return field(FieldDeclarationNode.staticField(name, type)); } - public ClassNodeBuilder field(String name, ScalarType type) { + public ClassNodeBuilder field(String name, Type type) { return field(FieldDeclarationNode.field(name, type)); } -- cgit v1.2.3