@@ -511,8 +511,8 @@ VALUE Message_dup(VALUE _self) {
511511 return new_msg ;
512512}
513513
514- // Internal only; used by Google::Protobuf.deep_copy.
515- VALUE Message_deep_copy (VALUE _self ) {
514+ /* :nodoc: */
515+ static VALUE Message_deep_copy (VALUE _self ) {
516516 MessageHeader * self ;
517517 MessageHeader * new_msg_self ;
518518 VALUE new_msg ;
@@ -742,6 +742,7 @@ VALUE build_class_from_descriptor(Descriptor* desc) {
742742 rb_define_method (klass , "to_s" , Message_inspect , 0 );
743743 rb_define_method (klass , "[]" , Message_index , 1 );
744744 rb_define_method (klass , "[]=" , Message_index_set , 2 );
745+ rb_define_method (klass , "deep_copy" , Message_deep_copy , 0 );
745746 rb_define_singleton_method (klass , "decode" , Message_decode , 1 );
746747 rb_define_singleton_method (klass , "encode" , Message_encode , 1 );
747748 rb_define_singleton_method (klass , "decode_json" , Message_decode_json , -1 );
@@ -829,21 +830,3 @@ VALUE build_module_from_enumdesc(EnumDescriptor* enumdesc) {
829830
830831 return mod ;
831832}
832-
833- /*
834- * call-seq:
835- * Google::Protobuf.deep_copy(obj) => copy_of_obj
836- *
837- * Performs a deep copy of a RepeatedField instance, a Map instance, or a
838- * message object, recursively copying its members.
839- */
840- VALUE Google_Protobuf_deep_copy (VALUE self , VALUE obj ) {
841- VALUE klass = CLASS_OF (obj );
842- if (klass == cRepeatedField ) {
843- return RepeatedField_deep_copy (obj );
844- } else if (klass == cMap ) {
845- return Map_deep_copy (obj );
846- } else {
847- return Message_deep_copy (obj );
848- }
849- }
0 commit comments