* Fix php well known type conformance tests
* Properly generate code for test.proto
* Provide GPBMetadata files in c extensions for generated files to import.
* Remove unnecessary test
* Clean up code
* Add declaration for initOnce.
* Refactoring
* Reserve unknown fields in upb
1) For decoding, an unknownfields will be lazily created on message,
which contains bytes of unknown fields.
2) For encoding, if the unknownfields is present on message, all bytes
contained in it will be serialized.
* Register the function to encode unknown field at decode time.
* Remove upb_handlers_setaddunknown
* Use upb_sink_putunknown in decoder
* Remove upb_pb_encoder_encode_unknown
* Do not expose encode_unknown
* Implement reserve unknown field in php Implement.
* Make buffer private to CodedInputStream
* Add well known types to php runtime.
* Fix php7.0 tests
* No longer generate empty.proto in test as it has been included in
runtime.
* Fix zts build
* Clean code
* Rename g_p_b_empty to empty.
* Don't generate code for empty.proto in compatibility test
* Fix 32-bit
* Fix mac build
* Fix Makefile.am to add new files
* Fix the bug in php c extension that setting one field can change another
field's value.
The reason is that previously, in c extension, it was assumed that the
order that fields were declared in php is the same as the order of
fields in upb. This is not true. Now, for every field in upb, we will
look up the actual property that is corresponding to the upb field.
* Cleanup pull request
* Fix indentation
* Port to php5
* Port with php7.1
* Port to zts
* Add descriptors test
* Update descriptors tests
* Add public descriptors
* Add test_desriptors.proto to test script
* Update composer files
* Remove references to GPBType, update tests to be compatible with c
* Update for c extension compatibility
* Remove nested enums for descriptor, update tests
* Strip leading '.' from descriptor name
* Update tests with test for getClass, fix OneofDescriptor
* Add new files to Makefile.am
divideInt64ToInt32 is called statically from protobuf/php/src/Google/Protobuf/Internal/CodedOutputStream.php
(the only reference)
This causes fatal error in PHP 7.1 (32-bit only because 64-bit doesn't use this function)
* Add php_generic_services option
* Generate PHP generic services
* Respect namespaces for generated PHP services
* Test PHP generated services
* Rename PHP generator service method doc comment function
* Correct phpdoc service method case
* Test namespaced PHP generic services
* Always use the FQCN for PHP generic service input/output
* Add generated_service_test to php test.sh
* Add php service test protos to CI
* Add php service files to php_EXTRA_DIST
* Use Interface suffix for php generic services
Both native_slot_merge and native_slot_merge_by_array have no return
type declared. GCC implicitly uses int as return type in such cases,
however, these functions are actually void.
In the generated code of previous versions, each php field is given an
initial value. In c extension, it was assumed that the field order in
the generated code is consistent with upb fields order, so that the
correct initial value can be bound to the correct upb field. However,
this may not be true. The order of fields in generated code is decided
by proto compiler, while the order of upb fields is decided by the hash
function used in c extension.
This PR fixes the issue by reset the initial value at runtime.
* adds PHPDoc @return and @param for getters and setters respectively
* addresses changes in PR review
* adds documentation tests
* Update php_generator:
- Prepend \ to names where required
- Remove <pre> tags
- Update protobuf field comments
* Updates class files with the protobuf changes
* Addresses review comments
* removes Protobuf Type line from PHP generated classes
* fixes phpdoc test
* adds array types to phpdoc
* Switch to addEnumType to fix fatal error
* Fixing more cases of HHVM incompatibility
* Updating tests to be hhvm compatible
* Fixing tests
* Fixing merge
* Don't use call_user_func, should hopefully fix tests
* Fixing spelling
* Fixing another misspelling in a test
* Fixing placement of append and kvUpdate functions
* Actually fix function helpers
* Remove double addEnumType. How did this ever work?
* Fixing a couple more tests
* Only use the setter if the return value isn't an object