aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/couscous/ast/ClassNodeBuilder.java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2015-11-28 19:43:34 +0000
committerMichael Williamson <mike@zwobble.org>2015-11-28 19:43:34 +0000
commit5cda2705b321cbea53249e181921195326c5fd55 (patch)
treea04f24d41daca7d5fb27dd0368b778a6f7e5ca7d /src/main/java/org/zwobble/couscous/ast/ClassNodeBuilder.java
parent05867c4658abaa0fc7ca7c0139e2cae4522e7057 (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.java21
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());
}