aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/couscous/ast/ClassNodeBuilder.java
diff options
context:
space:
mode:
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;