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/ClassNode.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'src/main/java/org/zwobble/couscous/ast/ClassNode.java') diff --git a/src/main/java/org/zwobble/couscous/ast/ClassNode.java b/src/main/java/org/zwobble/couscous/ast/ClassNode.java index 0d37130..ce27694 100644 --- a/src/main/java/org/zwobble/couscous/ast/ClassNode.java +++ b/src/main/java/org/zwobble/couscous/ast/ClassNode.java @@ -9,6 +9,7 @@ import org.zwobble.couscous.util.ExtraIterables; 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; @@ -138,6 +139,15 @@ public class ClassNode 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 ClassNode( name, typeParameters, @@ -146,7 +156,7 @@ public class ClassNode implements TypeNode { staticConstructor, constructor, methods, - list() + types ); } -- cgit v1.2.3