aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/couscous/ast/ClassNodeBuilder.java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2015-11-24 20:54:45 +0000
committerMichael Williamson <mike@zwobble.org>2015-11-24 20:54:45 +0000
commitf4d8c1f419ef9f88e4eb7ed255b5b19da7b49e60 (patch)
tree74badae71f647e262f27a824a53175145cd091f7 /src/main/java/org/zwobble/couscous/ast/ClassNodeBuilder.java
parentaa0995287d4474f18d2b63e2d0fb69773b981906 (diff)
Add hacktastic closures for lambdas (not anonymous classes)
Diffstat (limited to 'src/main/java/org/zwobble/couscous/ast/ClassNodeBuilder.java')
-rw-r--r--src/main/java/org/zwobble/couscous/ast/ClassNodeBuilder.java10
1 files changed, 7 insertions, 3 deletions
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<ConstructorNode>, MethodBuilder<ConstructorNode>> build) {
- this.constructor = Optional.of(build.apply(constructorBuilder()).build());
- return this;
+ return constructor(build.apply(constructorBuilder()).build());
}
private MethodBuilder<ConstructorNode> constructorBuilder() {
@@ -72,7 +76,7 @@ public class ClassNodeBuilder {
constructor.orElse(constructorBuilder().build()),
methods.build());
}
-
+
public class MethodBuilder<T> {
private final Function<MethodBuilder<?>, T> build;
private final ImmutableList.Builder<AnnotationNode> annotations;