diff options
| author | Michael Williamson <mike@zwobble.org> | 2016-01-06 08:31:13 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2016-01-06 08:31:13 +0000 |
| commit | b69c8f7c8e2c16aade681ceaae046456a5ef2a85 (patch) | |
| tree | 6737fa9da75bc4dc5cd9cf620ac6b8f686aebae6 /src/main/java/org/zwobble/couscous/ast/MethodNode.java | |
| parent | e4229671c4cf6db860fc6cf68bcfb8fdd69fdcb8 (diff) | |
Partially implement method overloading
Diffstat (limited to 'src/main/java/org/zwobble/couscous/ast/MethodNode.java')
| -rw-r--r-- | src/main/java/org/zwobble/couscous/ast/MethodNode.java | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/main/java/org/zwobble/couscous/ast/MethodNode.java b/src/main/java/org/zwobble/couscous/ast/MethodNode.java index 5763b11..86ae649 100644 --- a/src/main/java/org/zwobble/couscous/ast/MethodNode.java +++ b/src/main/java/org/zwobble/couscous/ast/MethodNode.java @@ -6,6 +6,8 @@ import org.zwobble.couscous.ast.visitors.NodeMapper; import java.util.List; import java.util.function.Function; +import static org.zwobble.couscous.util.ExtraLists.eagerMap; + public class MethodNode implements CallableNode { public static Builder staticMethod(String name) { return builder(name).isStatic(true); @@ -116,6 +118,12 @@ public class MethodNode implements CallableNode { return body; } + public MethodSignature signature() { + return new MethodSignature( + name, + eagerMap(arguments, argument -> argument.getType())); + } + public MethodNode mapBody(Function<List<StatementNode>, List<StatementNode>> function) { return new MethodNode(annotations, isStatic, name, arguments, function.apply(body)); } |
