@Override public boolean equals(Object o) { if (this == o) { return true; } else if (o == null || getClass() != o.getClass()) { return false; } else { return (signature.equals(((FunctionSignature) o).signature) && type.equals(((FunctionSignature) o).type) && Arrays.equals(arguments, ((FunctionSignature) o).arguments)); } }
@Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append(signature); sb.append("#").append(type.name()); sb.append("("); int i = 0; for (DataType type : arguments) { sb.append(type.getType()); sb.append("[").append(type.getLength()).append("]"); if (i < arguments.length - 1) { sb.append(","); } i++; } sb.append(")"); return sb.toString(); }