|
@@ -511,8 +511,8 @@ VALUE Message_dup(VALUE _self) {
|
|
|
return new_msg;
|
|
|
}
|
|
|
|
|
|
-// Internal only; used by Google::Protobuf.deep_copy.
|
|
|
-VALUE Message_deep_copy(VALUE _self) {
|
|
|
+/* :nodoc: */
|
|
|
+static VALUE Message_deep_copy(VALUE _self) {
|
|
|
MessageHeader* self;
|
|
|
MessageHeader* new_msg_self;
|
|
|
VALUE new_msg;
|
|
@@ -742,6 +742,7 @@ VALUE build_class_from_descriptor(Descriptor* desc) {
|
|
|
rb_define_method(klass, "to_s", Message_inspect, 0);
|
|
|
rb_define_method(klass, "[]", Message_index, 1);
|
|
|
rb_define_method(klass, "[]=", Message_index_set, 2);
|
|
|
+ rb_define_method(klass, "deep_copy", Message_deep_copy, 0);
|
|
|
rb_define_singleton_method(klass, "decode", Message_decode, 1);
|
|
|
rb_define_singleton_method(klass, "encode", Message_encode, 1);
|
|
|
rb_define_singleton_method(klass, "decode_json", Message_decode_json, -1);
|
|
@@ -829,21 +830,3 @@ VALUE build_module_from_enumdesc(EnumDescriptor* enumdesc) {
|
|
|
|
|
|
return mod;
|
|
|
}
|
|
|
-
|
|
|
-/*
|
|
|
- * call-seq:
|
|
|
- * Google::Protobuf.deep_copy(obj) => copy_of_obj
|
|
|
- *
|
|
|
- * Performs a deep copy of a RepeatedField instance, a Map instance, or a
|
|
|
- * message object, recursively copying its members.
|
|
|
- */
|
|
|
-VALUE Google_Protobuf_deep_copy(VALUE self, VALUE obj) {
|
|
|
- VALUE klass = CLASS_OF(obj);
|
|
|
- if (klass == cRepeatedField) {
|
|
|
- return RepeatedField_deep_copy(obj);
|
|
|
- } else if (klass == cMap) {
|
|
|
- return Map_deep_copy(obj);
|
|
|
- } else {
|
|
|
- return Message_deep_copy(obj);
|
|
|
- }
|
|
|
-}
|