From b69c8f7c8e2c16aade681ceaae046456a5ef2a85 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Wed, 6 Jan 2016 08:31:13 +0000 Subject: Partially implement method overloading --- src/main/java/org/zwobble/couscous/ast/MethodNode.java | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/main/java/org/zwobble/couscous/ast/MethodNode.java') 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> function) { return new MethodNode(annotations, isStatic, name, arguments, function.apply(body)); } -- cgit v1.2.3