diff options
Diffstat (limited to 'src/main/java/org/zwobble/couscous/ast/ClassNodeBuilder.java')
| -rw-r--r-- | src/main/java/org/zwobble/couscous/ast/ClassNodeBuilder.java | 10 |
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; |
