From f4d8c1f419ef9f88e4eb7ed255b5b19da7b49e60 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Tue, 24 Nov 2015 20:54:45 +0000 Subject: Add hacktastic closures for lambdas (not anonymous classes) --- src/main/java/org/zwobble/couscous/ast/ClassNodeBuilder.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (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 a2302e4..eafcc3b 100644 --- a/src/main/java/org/zwobble/couscous/ast/ClassNodeBuilder.java +++ b/src/main/java/org/zwobble/couscous/ast/ClassNodeBuilder.java @@ -25,10 +25,14 @@ public class ClassNodeBuilder { this.fields.add(FieldDeclarationNode.field(name, type)); return this; } + + public ClassNodeBuilder constructor(ConstructorNode constructor) { + this.constructor = Optional.of(constructor); + return this; + } public ClassNodeBuilder constructor(Function, MethodBuilder> build) { - this.constructor = Optional.of(build.apply(constructorBuilder()).build()); - return this; + return constructor(build.apply(constructorBuilder()).build()); } private MethodBuilder constructorBuilder() { @@ -72,7 +76,7 @@ public class ClassNodeBuilder { constructor.orElse(constructorBuilder().build()), methods.build()); } - + public class MethodBuilder { private final Function, T> build; private final ImmutableList.Builder annotations; -- cgit v1.2.3