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/InterfaceNode.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'src/main/java/org/zwobble/couscous/ast/InterfaceNode.java') diff --git a/src/main/java/org/zwobble/couscous/ast/InterfaceNode.java b/src/main/java/org/zwobble/couscous/ast/InterfaceNode.java index 6a56a6b..1392aee 100644 --- a/src/main/java/org/zwobble/couscous/ast/InterfaceNode.java +++ b/src/main/java/org/zwobble/couscous/ast/InterfaceNode.java @@ -8,6 +8,7 @@ import org.zwobble.couscous.types.Type; import java.util.List; import java.util.Set; +import static org.zwobble.couscous.util.ExtraLists.concat; import static org.zwobble.couscous.util.ExtraLists.eagerFlatMap; import static org.zwobble.couscous.util.ExtraLists.list; @@ -116,6 +117,15 @@ public class InterfaceNode implements TypeNode { @Override public TypeNode stripInnerTypes() { + return withInnerTypes(list()); + } + + @Override + public TypeNode addInnerTypes(List types) { + return withInnerTypes(concat(innerTypes, types)); + } + + private TypeNode withInnerTypes(List types) { return new InterfaceNode( name, typeParameters, @@ -123,7 +133,7 @@ public class InterfaceNode implements TypeNode { fields, staticConstructor, methods, - list() + types ); } -- cgit v1.2.3