Example #1
0
        public static void copy(object Current, object other)
        // Update current object using fields of object attached
        // to `other', so as to yield equal objects.
        {
            EIFFEL_TYPE_INFO l_current = Current as EIFFEL_TYPE_INFO;

                #if ASSERTIONS
            ASSERTIONS.REQUIRE("other_not_void", other != null);
            ASSERTIONS.REQUIRE("same_type", same_type(Current, other));
                #endif

            if (Current == null)
            {
                generate_call_on_void_target_exception();
            }
            else
            {
                if (l_current != null)
                {
                    l_current.____copy(other);
                }
                else
                {
                    internal_standard_copy(Current, other);
                }
            }
                #if ASSERTIONS
            ASSERTIONS.ENSURE("is_equal", is_equal(Current, other));
                #endif
        }