public override bool Equals(Object o)
{
if (!(o is OtpErlangFun))
{
return false;
}
OtpErlangFun f = (OtpErlangFun)o;
if (!pid.Equals(f.pid) || !module.Equals(f.module) || arity != f.arity)
{
return false;
}
if (md5 == null)
{
if (f.md5 != null)
{
return false;
}
}
else
{
if (!md5.Equals(f.md5))
{
return false;
}
}
if (index != f.index || uniq != f.uniq)
{
return false;
}
if (freeVars == null)
{
return f.freeVars == null;
}
return freeVars.Equals(f.freeVars);
}