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 17:48:44 +0000
committerMichael Williamson <mike@zwobble.org>2015-11-28 17:48:44 +0000
commit09ac25334680110bcf492044abb240b13193084f (patch)
treec733231710cb34f2245d74a0b9c6bd0781bb4c31 /src/main/java/org/zwobble/couscous/ast/ClassNodeBuilder.java
parent4e796dd0d245c974a55d639e50e098e9f7e6901f (diff)
Return raw method nodes when reading methods
Diffstat (limited to 'src/main/java/org/zwobble/couscous/ast/ClassNodeBuilder.java')
-rw-r--r--src/main/java/org/zwobble/couscous/ast/ClassNodeBuilder.java12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/main/java/org/zwobble/couscous/ast/ClassNodeBuilder.java b/src/main/java/org/zwobble/couscous/ast/ClassNodeBuilder.java
index eafcc3b..80e8eab 100644
--- a/src/main/java/org/zwobble/couscous/ast/ClassNodeBuilder.java
+++ b/src/main/java/org/zwobble/couscous/ast/ClassNodeBuilder.java
@@ -26,6 +26,14 @@ 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;
@@ -36,7 +44,7 @@ public class ClassNodeBuilder {
}
private MethodBuilder<ConstructorNode> constructorBuilder() {
- return new MethodBuilder<ConstructorNode>(builder ->
+ return new MethodBuilder<>(builder ->
ConstructorNode.constructor(
builder.arguments.build(),
builder.statements.build()));
@@ -61,7 +69,7 @@ public class ClassNodeBuilder {
}
private MethodBuilder<MethodNode> methodBuilder(String name, boolean isStatic) {
- return new MethodBuilder<MethodNode>(builder -> MethodNode.builder(name)
+ return new MethodBuilder<>(builder -> MethodNode.builder(name)
.isStatic(isStatic)
.annotations(builder.annotations.build())
.arguments(builder.arguments.build())