diff options
| author | Michael Williamson <mike@zwobble.org> | 2015-11-28 19:43:34 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2015-11-28 19:43:34 +0000 |
| commit | 5cda2705b321cbea53249e181921195326c5fd55 (patch) | |
| tree | a04f24d41daca7d5fb27dd0368b778a6f7e5ca7d /src/main/java/org/zwobble/couscous/ast/ClassNodeBuilder.java | |
| parent | 05867c4658abaa0fc7ca7c0139e2cae4522e7057 (diff) | |
Simplify generation of 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.java | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/src/main/java/org/zwobble/couscous/ast/ClassNodeBuilder.java b/src/main/java/org/zwobble/couscous/ast/ClassNodeBuilder.java index 75aa5a3..5981e34 100644 --- a/src/main/java/org/zwobble/couscous/ast/ClassNodeBuilder.java +++ b/src/main/java/org/zwobble/couscous/ast/ClassNodeBuilder.java @@ -13,12 +13,17 @@ public class ClassNodeBuilder { private final ImmutableList.Builder<FieldDeclarationNode> fields; private Optional<ConstructorNode> constructor; private final ImmutableList.Builder<MethodNode> methods; - - public ClassNodeBuilder(String name) { - this.name = TypeName.of(name); + + public ClassNodeBuilder(TypeName name) { + this.name = name; this.fields = ImmutableList.builder(); this.constructor = Optional.empty(); this.methods = ImmutableList.builder(); + + } + + public ClassNodeBuilder(String name) { + this(TypeName.of(name)); } public ClassNodeBuilder field(String name, TypeName type) { @@ -30,14 +35,6 @@ public class ClassNodeBuilder { return this; } - public ClassNodeBuilder callable(CallableNode callable) { - if (callable instanceof ConstructorNode) { - return constructor((ConstructorNode) callable); - } else { - return method((MethodNode) callable); - } - } - public ClassNodeBuilder constructor(ConstructorNode constructor) { this.constructor = Optional.of(constructor); return this; @@ -85,7 +82,7 @@ public class ClassNodeBuilder { return ClassNode.declareClass( name, fields.build(), - constructor.orElse(constructorBuilder().build()), + constructor.orElse(ConstructorNode.DEFAULT), methods.build()); } |
