예제 #1
0
        public OtpErlangFun(OtpInputStream buf)
        {
            OtpErlangFun f = buf.read_fun();

            pid       = f.pid;
            module    = f.module;
            arity     = f.arity;
            md5       = f.md5;
            index     = f.index;
            old_index = f.old_index;
            uniq      = f.uniq;
            freeVars  = f.freeVars;
        }
예제 #2
0
        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));
        }