SGScript.Variable.Equals C# (CSharp) Method

Equals() public method

public Equals ( object obj ) : bool
obj object
return bool
        public override bool Equals( object obj )
        {
            if( obj == null )
                return false;
            Variable v = (Variable) obj;
            if( (object) v == null )
                return false;

            if( type != v.type )
                return false;
            switch( type )
            {
                case VarType.Null: return true;
                case VarType.Bool: return var.data.B == v.var.data.B;
                case VarType.Int: return var.data.I == v.var.data.I;
                case VarType.Real: return var.data.R == v.var.data.R;
                case VarType.String: return var.data.S == v.var.data.S; // all strings are interned
                case VarType.Func: // union pointer overlap
                case VarType.CFunc:
                case VarType.Object:
                case VarType.Ptr:
                case VarType.Thread: return var.data.T == v.var.data.T;
                default: return true;
            }
        }