Warning: session_start(): open(/var/lib/php/sessions/sess_qbs57tj1gb53c3blk5rphn1lo8, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
sS tok_genEqualsAndHashCode(S className, LPairS fields) {
StringBuilder buf = new("public bool equals(O o) {\n");
if (empty(fields))
buf.append("ret o instanceof " + className + ";\n");
else
buf.append([[if (!o instanceof ]] + className + [[) false;
]] + className + [[ x = cast o;
ret ]] + join(" && ", map(fields, func(Pair p) -> S {
// TODO: use == for primitive fields
"eq(" + p.b + ", x." + p.b + ")"
})) + ";\n");
buf.append("}\n\n");
buf.append([[
public int hashCode() {
int h = ]] + hashCode(className) + [[;
]] + concatMap_strings(fields, func(Pair p) {
"h = boostHashCombine(h, _hashCode(" + p.b + [[));
]]}) + [[ret h;
}
]]);
ret str(buf);
}