@@ -255,7 +255,7 @@ void* message_data(MessageHeader* msg) {
255
255
256
256
void custom_data_init (const zend_class_entry * ce ,
257
257
MessageHeader * intern PHP_PROTO_TSRMLS_DC ) {
258
- Descriptor * desc = UNBOX_HASHTABLE_VALUE ( Descriptor , get_ce_obj ( ce ) );
258
+ DescriptorInternal * desc = get_ce_desc ( ce );
259
259
intern -> data = ALLOC_N (uint8_t , desc -> layout -> size );
260
260
// We wrap first so that everything in the message object is GC-rooted in
261
261
// case a collection happens during object creation in layout_init().
@@ -279,15 +279,15 @@ void build_class_from_descriptor(
279
279
Descriptor * desc = UNBOX_HASHTABLE_VALUE (Descriptor , php_descriptor );
280
280
281
281
// Map entries don't have existing php class.
282
- if (upb_msgdef_mapentry (desc -> msgdef )) {
282
+ if (upb_msgdef_mapentry (desc -> intern -> msgdef )) {
283
283
return ;
284
284
}
285
285
286
- zend_class_entry * registered_ce = desc -> klass ;
286
+ zend_class_entry * registered_ce = desc -> intern -> klass ;
287
287
288
- if (desc -> layout == NULL ) {
289
- MessageLayout * layout = create_layout (desc -> msgdef );
290
- desc -> layout = layout ;
288
+ if (desc -> intern -> layout == NULL ) {
289
+ MessageLayout * layout = create_layout (desc -> intern -> msgdef );
290
+ desc -> intern -> layout = layout ;
291
291
}
292
292
293
293
registered_ce -> create_object = message_create ;
@@ -395,8 +395,7 @@ void Message_construct(zval* msg, zval* array_wrapper) {
395
395
is_wrapper = is_wrapper_msg (submsgdef );
396
396
397
397
if (is_wrapper ) {
398
- PHP_PROTO_HASHTABLE_VALUE subdesc_php = get_def_obj (submsgdef );
399
- Descriptor * subdesc = UNBOX_HASHTABLE_VALUE (Descriptor , subdesc_php );
398
+ DescriptorInternal * subdesc = get_msgdef_desc (submsgdef );
400
399
subklass = subdesc -> klass ;
401
400
}
402
401
}
@@ -435,8 +434,7 @@ void Message_construct(zval* msg, zval* array_wrapper) {
435
434
is_wrapper = is_wrapper_msg (submsgdef );
436
435
437
436
if (is_wrapper ) {
438
- PHP_PROTO_HASHTABLE_VALUE subdesc_php = get_def_obj (submsgdef );
439
- Descriptor * subdesc = UNBOX_HASHTABLE_VALUE (Descriptor , subdesc_php );
437
+ DescriptorInternal * subdesc = get_msgdef_desc (submsgdef );
440
438
subklass = subdesc -> klass ;
441
439
}
442
440
}
@@ -459,8 +457,7 @@ void Message_construct(zval* msg, zval* array_wrapper) {
459
457
}
460
458
} else if (upb_fielddef_issubmsg (field )) {
461
459
const upb_msgdef * submsgdef = upb_fielddef_msgsubdef (field );
462
- PHP_PROTO_HASHTABLE_VALUE desc_php = get_def_obj (submsgdef );
463
- Descriptor * desc = UNBOX_HASHTABLE_VALUE (Descriptor , desc_php );
460
+ DescriptorInternal * desc = get_msgdef_desc (submsgdef );
464
461
465
462
CACHED_VALUE * cached = NULL ;
466
463
if (upb_fielddef_containingoneof (field )) {
@@ -530,7 +527,7 @@ PHP_METHOD(Message, __construct) {
530
527
531
528
PHP_METHOD (Message , clear ) {
532
529
MessageHeader * msg = UNBOX (MessageHeader , getThis ());
533
- Descriptor * desc = msg -> descriptor ;
530
+ DescriptorInternal * desc = msg -> descriptor ;
534
531
zend_class_entry * ce = desc -> klass ;
535
532
536
533
zend_object_std_dtor (& msg -> std TSRMLS_CC );
@@ -1536,14 +1533,13 @@ PHP_METHOD(Any, unpack) {
1536
1533
}
1537
1534
1538
1535
const char * fully_qualified_name = type_url + url_prefix_len ;
1539
- PHP_PROTO_HASHTABLE_VALUE desc_php = get_proto_obj (fully_qualified_name );
1540
- if (desc_php == NULL ) {
1536
+ DescriptorInternal * desc = get_proto_desc (fully_qualified_name );
1537
+ if (desc == NULL ) {
1541
1538
zend_throw_exception (
1542
1539
NULL , "Specified message in any hasn't been added to descriptor pool" ,
1543
1540
0 TSRMLS_CC );
1544
1541
return ;
1545
1542
}
1546
- Descriptor * desc = UNBOX_HASHTABLE_VALUE (Descriptor , desc_php );
1547
1543
zend_class_entry * klass = desc -> klass ;
1548
1544
ZVAL_OBJ (return_value , klass -> create_object (klass TSRMLS_CC ));
1549
1545
MessageHeader * msg = UNBOX (MessageHeader , return_value );
@@ -1589,8 +1585,7 @@ PHP_METHOD(Any, pack) {
1589
1585
PHP_PROTO_FAKE_SCOPE_END ;
1590
1586
1591
1587
// Set type url.
1592
- Descriptor * desc =
1593
- UNBOX_HASHTABLE_VALUE (Descriptor , get_ce_obj (Z_OBJCE_P (val )));
1588
+ DescriptorInternal * desc = get_ce_desc (Z_OBJCE_P (val ));
1594
1589
const char * fully_qualified_name = upb_msgdef_fullname (desc -> msgdef );
1595
1590
size_t type_url_len =
1596
1591
strlen (TYPE_URL_PREFIX ) + strlen (fully_qualified_name ) + 1 ;
@@ -1617,14 +1612,12 @@ PHP_METHOD(Any, is) {
1617
1612
return ;
1618
1613
}
1619
1614
1620
- PHP_PROTO_HASHTABLE_VALUE desc_php = get_ce_obj (klass );
1621
- if (desc_php == NULL ) {
1615
+ DescriptorInternal * desc = get_ce_desc (klass );
1616
+ if (desc == NULL ) {
1622
1617
RETURN_BOOL (false);
1623
1618
}
1624
1619
1625
1620
// Create corresponded type url.
1626
- Descriptor * desc =
1627
- UNBOX_HASHTABLE_VALUE (Descriptor , get_ce_obj (klass ));
1628
1621
const char * fully_qualified_name = upb_msgdef_fullname (desc -> msgdef );
1629
1622
size_t type_url_len =
1630
1623
strlen (TYPE_URL_PREFIX ) + strlen (fully_qualified_name ) + 1 ;
0 commit comments