File tree Expand file tree Collapse file tree
php/src/Google/Protobuf/Internal Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -77,6 +77,7 @@ private function initWithGeneratedPool()
7777 }
7878 foreach ($ this ->desc ->getField () as $ field ) {
7979 $ setter = $ field ->getSetter ();
80+ $ getter = $ field ->getGetter ();
8081 if ($ field ->isMap ()) {
8182 $ message_type = $ field ->getMessageType ();
8283 $ key_field = $ message_type ->getFieldByNumber (1 );
@@ -128,6 +129,16 @@ private function initWithGeneratedPool()
128129 $ oneof = $ this ->desc ->getOneofDecl ()[$ field ->getOneofIndex ()];
129130 $ oneof_name = $ oneof ->getName ();
130131 $ this ->$ oneof_name = new OneofField ($ oneof );
132+ } else if (!$ field ->isRequired () && !$ field ->isRepeated () &&
133+ PHP_INT_SIZE == 4 && $ this ->$ getter () === 0 ) {
134+ switch ($ field ->getType ()) {
135+ case GPBType::INT64 :
136+ case GPBType::UINT64 :
137+ case GPBType::FIXED64 :
138+ case GPBType::SFIXED64 :
139+ case GPBType::SINT64 :
140+ $ this ->$ setter ("0 " );
141+ }
131142 }
132143 }
133144 }
You can’t perform that action at this time.
0 commit comments