From c02fac3e8b50b1941a8d3f35a033212c1e51d5d4 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Fri, 2 Oct 2015 19:06:57 +0100 Subject: Preserve environment across calls --- .../java/org/zwobble/couscous/ast/ClassNode.java | 27 ++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) (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 6dd7b12..72e57d2 100644 --- a/src/main/java/org/zwobble/couscous/ast/ClassNode.java +++ b/src/main/java/org/zwobble/couscous/ast/ClassNode.java @@ -2,13 +2,36 @@ package org.zwobble.couscous.ast; import java.util.List; -import lombok.Builder; +import com.google.common.collect.ImmutableList; + import lombok.Singular; import lombok.Value; -@Builder @Value public class ClassNode { + public static ClassNode.Builder builder(String name) { + return new Builder(name); + } + + public static class Builder { + private final String name; + private final ImmutableList.Builder methods; + + public Builder(String name) { + this.name = name; + this.methods = ImmutableList.builder(); + } + + public Builder method(MethodNode method) { + this.methods.add(method); + return this; + } + + public ClassNode build() { + return new ClassNode(name, methods.build()); + } + } + String name; @Singular List methods; -- cgit v1.2.3