aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/couscous/interpreter/MethodSignature.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/zwobble/couscous/interpreter/MethodSignature.java')
-rw-r--r--src/main/java/org/zwobble/couscous/interpreter/MethodSignature.java38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/main/java/org/zwobble/couscous/interpreter/MethodSignature.java b/src/main/java/org/zwobble/couscous/interpreter/MethodSignature.java
new file mode 100644
index 0000000..708bc9a
--- /dev/null
+++ b/src/main/java/org/zwobble/couscous/interpreter/MethodSignature.java
@@ -0,0 +1,38 @@
+package org.zwobble.couscous.interpreter;
+
+import org.zwobble.couscous.ast.TypeName;
+
+import java.util.List;
+import java.util.Objects;
+
+public class MethodSignature {
+ private String name;
+ private List<TypeName> arguments;
+
+ public MethodSignature(String name, List<TypeName> arguments) {
+ this.name = name;
+ this.arguments = arguments;
+ }
+
+ @Override
+ public String toString() {
+ return "MethodSignature(" +
+ "name='" + name + '\'' +
+ ", arguments=" + arguments +
+ ')';
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ MethodSignature that = (MethodSignature) o;
+ return Objects.equals(name, that.name) &&
+ Objects.equals(arguments, that.arguments);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(name, arguments);
+ }
+}