google-protobuf 3.22.0.rc.2-x86_64-linux → 3.22.0.rc.3-x86_64-linux
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of google-protobuf might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/ext/google/protobuf_c/extconf.rb +2 -3
- data/ext/google/protobuf_c/message.c +4 -13
- data/ext/google/protobuf_c/ruby-upb.c +360 -218
- data/ext/google/protobuf_c/ruby-upb.h +239 -210
- data/lib/google/2.6/protobuf_c.so +0 -0
- data/lib/google/2.7/protobuf_c.so +0 -0
- data/lib/google/3.0/protobuf_c.so +0 -0
- data/lib/google/3.1/protobuf_c.so +0 -0
- data/lib/google/3.2/protobuf_c.so +0 -0
- metadata +3 -3
@@ -1424,179 +1424,6 @@ UPB_INLINE int upb_Log2CeilingSize(int x) { return 1 << upb_Log2Ceiling(x); }
|
|
1424
1424
|
#include <stdlib.h>
|
1425
1425
|
|
1426
1426
|
|
1427
|
-
#ifndef UPB_MINI_TABLE_MESSAGE_INTERNAL_H_
|
1428
|
-
#define UPB_MINI_TABLE_MESSAGE_INTERNAL_H_
|
1429
|
-
|
1430
|
-
|
1431
|
-
// Must be last.
|
1432
|
-
|
1433
|
-
struct upb_Decoder;
|
1434
|
-
typedef const char* _upb_FieldParser(struct upb_Decoder* d, const char* ptr,
|
1435
|
-
upb_Message* msg, intptr_t table,
|
1436
|
-
uint64_t hasbits, uint64_t data);
|
1437
|
-
typedef struct {
|
1438
|
-
uint64_t field_data;
|
1439
|
-
_upb_FieldParser* field_parser;
|
1440
|
-
} _upb_FastTable_Entry;
|
1441
|
-
|
1442
|
-
typedef enum {
|
1443
|
-
kUpb_ExtMode_NonExtendable = 0, // Non-extendable message.
|
1444
|
-
kUpb_ExtMode_Extendable = 1, // Normal extendable message.
|
1445
|
-
kUpb_ExtMode_IsMessageSet = 2, // MessageSet message.
|
1446
|
-
kUpb_ExtMode_IsMessageSet_ITEM =
|
1447
|
-
3, // MessageSet item (temporary only, see decode.c)
|
1448
|
-
|
1449
|
-
// During table building we steal a bit to indicate that the message is a map
|
1450
|
-
// entry. *Only* used during table building!
|
1451
|
-
kUpb_ExtMode_IsMapEntry = 4,
|
1452
|
-
} upb_ExtMode;
|
1453
|
-
|
1454
|
-
// upb_MiniTable represents the memory layout of a given upb_MessageDef.
|
1455
|
-
// The members are public so generated code can initialize them,
|
1456
|
-
// but users MUST NOT directly read or write any of its members.
|
1457
|
-
struct upb_MiniTable {
|
1458
|
-
const upb_MiniTableSub* subs;
|
1459
|
-
const upb_MiniTableField* fields;
|
1460
|
-
|
1461
|
-
// Must be aligned to sizeof(void*). Doesn't include internal members like
|
1462
|
-
// unknown fields, extension dict, pointer to msglayout, etc.
|
1463
|
-
uint16_t size;
|
1464
|
-
|
1465
|
-
uint16_t field_count;
|
1466
|
-
uint8_t ext; // upb_ExtMode, declared as uint8_t so sizeof(ext) == 1
|
1467
|
-
uint8_t dense_below;
|
1468
|
-
uint8_t table_mask;
|
1469
|
-
uint8_t required_count; // Required fields have the lowest hasbits.
|
1470
|
-
|
1471
|
-
// To statically initialize the tables of variable length, we need a flexible
|
1472
|
-
// array member, and we need to compile in gnu99 mode (constant initialization
|
1473
|
-
// of flexible array members is a GNU extension, not in C99 unfortunately.
|
1474
|
-
_upb_FastTable_Entry fasttable[];
|
1475
|
-
};
|
1476
|
-
|
1477
|
-
// Map entries aren't actually stored for map fields, they are only used during
|
1478
|
-
// parsing. For parsing, it helps a lot if all map entry messages have the same
|
1479
|
-
// layout. The layout code in mini_table/decode.c will ensure that all map
|
1480
|
-
// entries have this layout.
|
1481
|
-
//
|
1482
|
-
// Note that users can and do create map entries directly, which will also use
|
1483
|
-
// this layout.
|
1484
|
-
//
|
1485
|
-
// NOTE: sync with mini_table/decode.c.
|
1486
|
-
typedef struct {
|
1487
|
-
// We only need 2 hasbits max, but due to alignment we'll use 8 bytes here,
|
1488
|
-
// and the uint64_t helps make this clear.
|
1489
|
-
uint64_t hasbits;
|
1490
|
-
union {
|
1491
|
-
upb_StringView str; // For str/bytes.
|
1492
|
-
upb_value val; // For all other types.
|
1493
|
-
} k;
|
1494
|
-
union {
|
1495
|
-
upb_StringView str; // For str/bytes.
|
1496
|
-
upb_value val; // For all other types.
|
1497
|
-
} v;
|
1498
|
-
} upb_MapEntryData;
|
1499
|
-
|
1500
|
-
typedef struct {
|
1501
|
-
void* internal_data;
|
1502
|
-
upb_MapEntryData data;
|
1503
|
-
} upb_MapEntry;
|
1504
|
-
|
1505
|
-
#ifdef __cplusplus
|
1506
|
-
extern "C" {
|
1507
|
-
#endif
|
1508
|
-
|
1509
|
-
// Computes a bitmask in which the |l->required_count| lowest bits are set,
|
1510
|
-
// except that we skip the lowest bit (because upb never uses hasbit 0).
|
1511
|
-
//
|
1512
|
-
// Sample output:
|
1513
|
-
// requiredmask(1) => 0b10 (0x2)
|
1514
|
-
// requiredmask(5) => 0b111110 (0x3e)
|
1515
|
-
UPB_INLINE uint64_t upb_MiniTable_requiredmask(const upb_MiniTable* l) {
|
1516
|
-
int n = l->required_count;
|
1517
|
-
assert(0 < n && n <= 63);
|
1518
|
-
return ((1ULL << n) - 1) << 1;
|
1519
|
-
}
|
1520
|
-
|
1521
|
-
#ifdef __cplusplus
|
1522
|
-
} /* extern "C" */
|
1523
|
-
#endif
|
1524
|
-
|
1525
|
-
|
1526
|
-
#endif /* UPB_MINI_TABLE_MESSAGE_INTERNAL_H_ */
|
1527
|
-
|
1528
|
-
// Must be last.
|
1529
|
-
|
1530
|
-
#ifdef __cplusplus
|
1531
|
-
extern "C" {
|
1532
|
-
#endif
|
1533
|
-
|
1534
|
-
// _upb_mapsorter sorts maps and provides ordered iteration over the entries.
|
1535
|
-
// Since maps can be recursive (map values can be messages which contain other
|
1536
|
-
// maps), _upb_mapsorter can contain a stack of maps.
|
1537
|
-
|
1538
|
-
typedef struct {
|
1539
|
-
upb_tabent const** entries;
|
1540
|
-
int size;
|
1541
|
-
int cap;
|
1542
|
-
} _upb_mapsorter;
|
1543
|
-
|
1544
|
-
typedef struct {
|
1545
|
-
int start;
|
1546
|
-
int pos;
|
1547
|
-
int end;
|
1548
|
-
} _upb_sortedmap;
|
1549
|
-
|
1550
|
-
UPB_INLINE void _upb_mapsorter_init(_upb_mapsorter* s) {
|
1551
|
-
s->entries = NULL;
|
1552
|
-
s->size = 0;
|
1553
|
-
s->cap = 0;
|
1554
|
-
}
|
1555
|
-
|
1556
|
-
UPB_INLINE void _upb_mapsorter_destroy(_upb_mapsorter* s) {
|
1557
|
-
if (s->entries) free(s->entries);
|
1558
|
-
}
|
1559
|
-
|
1560
|
-
UPB_INLINE bool _upb_sortedmap_next(_upb_mapsorter* s, const upb_Map* map,
|
1561
|
-
_upb_sortedmap* sorted, upb_MapEntry* ent) {
|
1562
|
-
if (sorted->pos == sorted->end) return false;
|
1563
|
-
const upb_tabent* tabent = s->entries[sorted->pos++];
|
1564
|
-
upb_StringView key = upb_tabstrview(tabent->key);
|
1565
|
-
_upb_map_fromkey(key, &ent->data.k, map->key_size);
|
1566
|
-
upb_value val = {tabent->val.val};
|
1567
|
-
_upb_map_fromvalue(val, &ent->data.v, map->val_size);
|
1568
|
-
return true;
|
1569
|
-
}
|
1570
|
-
|
1571
|
-
UPB_INLINE void _upb_mapsorter_popmap(_upb_mapsorter* s,
|
1572
|
-
_upb_sortedmap* sorted) {
|
1573
|
-
s->size = sorted->start;
|
1574
|
-
}
|
1575
|
-
|
1576
|
-
bool _upb_mapsorter_pushmap(_upb_mapsorter* s, upb_FieldType key_type,
|
1577
|
-
const upb_Map* map, _upb_sortedmap* sorted);
|
1578
|
-
|
1579
|
-
#ifdef __cplusplus
|
1580
|
-
} /* extern "C" */
|
1581
|
-
#endif
|
1582
|
-
|
1583
|
-
|
1584
|
-
#endif /* UPB_COLLECTIONS_MAP_SORTER_INTERNAL_H_ */
|
1585
|
-
|
1586
|
-
/*
|
1587
|
-
** Our memory representation for parsing tables and messages themselves.
|
1588
|
-
** Functions in this file are used by generated code and possibly reflection.
|
1589
|
-
**
|
1590
|
-
** The definitions in this file are internal to upb.
|
1591
|
-
**/
|
1592
|
-
|
1593
|
-
#ifndef UPB_MESSAGE_INTERNAL_H_
|
1594
|
-
#define UPB_MESSAGE_INTERNAL_H_
|
1595
|
-
|
1596
|
-
#include <stdlib.h>
|
1597
|
-
#include <string.h>
|
1598
|
-
|
1599
|
-
|
1600
1427
|
#ifndef UPB_MESSAGE_EXTENSION_INTERNAL_H_
|
1601
1428
|
#define UPB_MESSAGE_EXTENSION_INTERNAL_H_
|
1602
1429
|
|
@@ -1813,7 +1640,9 @@ union upb_MiniTableSub {
|
|
1813
1640
|
// Must be last.
|
1814
1641
|
|
1815
1642
|
struct upb_MiniTableExtension {
|
1643
|
+
// Do not move this field. We need to be able to alias pointers.
|
1816
1644
|
upb_MiniTableField field;
|
1645
|
+
|
1817
1646
|
const upb_MiniTable* extendee;
|
1818
1647
|
upb_MiniTableSub sub; // NULL unless submessage or proto2 enum
|
1819
1648
|
};
|
@@ -1867,6 +1696,191 @@ const upb_Message_Extension* _upb_Message_Getext(
|
|
1867
1696
|
|
1868
1697
|
#endif /* UPB_MESSAGE_EXTENSION_INTERNAL_H_ */
|
1869
1698
|
|
1699
|
+
#ifndef UPB_MINI_TABLE_MESSAGE_INTERNAL_H_
|
1700
|
+
#define UPB_MINI_TABLE_MESSAGE_INTERNAL_H_
|
1701
|
+
|
1702
|
+
|
1703
|
+
// Must be last.
|
1704
|
+
|
1705
|
+
struct upb_Decoder;
|
1706
|
+
typedef const char* _upb_FieldParser(struct upb_Decoder* d, const char* ptr,
|
1707
|
+
upb_Message* msg, intptr_t table,
|
1708
|
+
uint64_t hasbits, uint64_t data);
|
1709
|
+
typedef struct {
|
1710
|
+
uint64_t field_data;
|
1711
|
+
_upb_FieldParser* field_parser;
|
1712
|
+
} _upb_FastTable_Entry;
|
1713
|
+
|
1714
|
+
typedef enum {
|
1715
|
+
kUpb_ExtMode_NonExtendable = 0, // Non-extendable message.
|
1716
|
+
kUpb_ExtMode_Extendable = 1, // Normal extendable message.
|
1717
|
+
kUpb_ExtMode_IsMessageSet = 2, // MessageSet message.
|
1718
|
+
kUpb_ExtMode_IsMessageSet_ITEM =
|
1719
|
+
3, // MessageSet item (temporary only, see decode.c)
|
1720
|
+
|
1721
|
+
// During table building we steal a bit to indicate that the message is a map
|
1722
|
+
// entry. *Only* used during table building!
|
1723
|
+
kUpb_ExtMode_IsMapEntry = 4,
|
1724
|
+
} upb_ExtMode;
|
1725
|
+
|
1726
|
+
// upb_MiniTable represents the memory layout of a given upb_MessageDef.
|
1727
|
+
// The members are public so generated code can initialize them,
|
1728
|
+
// but users MUST NOT directly read or write any of its members.
|
1729
|
+
struct upb_MiniTable {
|
1730
|
+
const upb_MiniTableSub* subs;
|
1731
|
+
const upb_MiniTableField* fields;
|
1732
|
+
|
1733
|
+
// Must be aligned to sizeof(void*). Doesn't include internal members like
|
1734
|
+
// unknown fields, extension dict, pointer to msglayout, etc.
|
1735
|
+
uint16_t size;
|
1736
|
+
|
1737
|
+
uint16_t field_count;
|
1738
|
+
uint8_t ext; // upb_ExtMode, declared as uint8_t so sizeof(ext) == 1
|
1739
|
+
uint8_t dense_below;
|
1740
|
+
uint8_t table_mask;
|
1741
|
+
uint8_t required_count; // Required fields have the lowest hasbits.
|
1742
|
+
|
1743
|
+
// To statically initialize the tables of variable length, we need a flexible
|
1744
|
+
// array member, and we need to compile in gnu99 mode (constant initialization
|
1745
|
+
// of flexible array members is a GNU extension, not in C99 unfortunately.
|
1746
|
+
_upb_FastTable_Entry fasttable[];
|
1747
|
+
};
|
1748
|
+
|
1749
|
+
// Map entries aren't actually stored for map fields, they are only used during
|
1750
|
+
// parsing. For parsing, it helps a lot if all map entry messages have the same
|
1751
|
+
// layout. The layout code in mini_table/decode.c will ensure that all map
|
1752
|
+
// entries have this layout.
|
1753
|
+
//
|
1754
|
+
// Note that users can and do create map entries directly, which will also use
|
1755
|
+
// this layout.
|
1756
|
+
//
|
1757
|
+
// NOTE: sync with mini_table/decode.c.
|
1758
|
+
typedef struct {
|
1759
|
+
// We only need 2 hasbits max, but due to alignment we'll use 8 bytes here,
|
1760
|
+
// and the uint64_t helps make this clear.
|
1761
|
+
uint64_t hasbits;
|
1762
|
+
union {
|
1763
|
+
upb_StringView str; // For str/bytes.
|
1764
|
+
upb_value val; // For all other types.
|
1765
|
+
} k;
|
1766
|
+
union {
|
1767
|
+
upb_StringView str; // For str/bytes.
|
1768
|
+
upb_value val; // For all other types.
|
1769
|
+
} v;
|
1770
|
+
} upb_MapEntryData;
|
1771
|
+
|
1772
|
+
typedef struct {
|
1773
|
+
void* internal_data;
|
1774
|
+
upb_MapEntryData data;
|
1775
|
+
} upb_MapEntry;
|
1776
|
+
|
1777
|
+
#ifdef __cplusplus
|
1778
|
+
extern "C" {
|
1779
|
+
#endif
|
1780
|
+
|
1781
|
+
// Computes a bitmask in which the |l->required_count| lowest bits are set,
|
1782
|
+
// except that we skip the lowest bit (because upb never uses hasbit 0).
|
1783
|
+
//
|
1784
|
+
// Sample output:
|
1785
|
+
// requiredmask(1) => 0b10 (0x2)
|
1786
|
+
// requiredmask(5) => 0b111110 (0x3e)
|
1787
|
+
UPB_INLINE uint64_t upb_MiniTable_requiredmask(const upb_MiniTable* l) {
|
1788
|
+
int n = l->required_count;
|
1789
|
+
assert(0 < n && n <= 63);
|
1790
|
+
return ((1ULL << n) - 1) << 1;
|
1791
|
+
}
|
1792
|
+
|
1793
|
+
#ifdef __cplusplus
|
1794
|
+
} /* extern "C" */
|
1795
|
+
#endif
|
1796
|
+
|
1797
|
+
|
1798
|
+
#endif /* UPB_MINI_TABLE_MESSAGE_INTERNAL_H_ */
|
1799
|
+
|
1800
|
+
// Must be last.
|
1801
|
+
|
1802
|
+
#ifdef __cplusplus
|
1803
|
+
extern "C" {
|
1804
|
+
#endif
|
1805
|
+
|
1806
|
+
// _upb_mapsorter sorts maps and provides ordered iteration over the entries.
|
1807
|
+
// Since maps can be recursive (map values can be messages which contain other
|
1808
|
+
// maps), _upb_mapsorter can contain a stack of maps.
|
1809
|
+
|
1810
|
+
typedef struct {
|
1811
|
+
void const** entries;
|
1812
|
+
int size;
|
1813
|
+
int cap;
|
1814
|
+
} _upb_mapsorter;
|
1815
|
+
|
1816
|
+
typedef struct {
|
1817
|
+
int start;
|
1818
|
+
int pos;
|
1819
|
+
int end;
|
1820
|
+
} _upb_sortedmap;
|
1821
|
+
|
1822
|
+
UPB_INLINE void _upb_mapsorter_init(_upb_mapsorter* s) {
|
1823
|
+
s->entries = NULL;
|
1824
|
+
s->size = 0;
|
1825
|
+
s->cap = 0;
|
1826
|
+
}
|
1827
|
+
|
1828
|
+
UPB_INLINE void _upb_mapsorter_destroy(_upb_mapsorter* s) {
|
1829
|
+
if (s->entries) free(s->entries);
|
1830
|
+
}
|
1831
|
+
|
1832
|
+
UPB_INLINE bool _upb_sortedmap_next(_upb_mapsorter* s, const upb_Map* map,
|
1833
|
+
_upb_sortedmap* sorted, upb_MapEntry* ent) {
|
1834
|
+
if (sorted->pos == sorted->end) return false;
|
1835
|
+
const upb_tabent* tabent = (const upb_tabent*)s->entries[sorted->pos++];
|
1836
|
+
upb_StringView key = upb_tabstrview(tabent->key);
|
1837
|
+
_upb_map_fromkey(key, &ent->data.k, map->key_size);
|
1838
|
+
upb_value val = {tabent->val.val};
|
1839
|
+
_upb_map_fromvalue(val, &ent->data.v, map->val_size);
|
1840
|
+
return true;
|
1841
|
+
}
|
1842
|
+
|
1843
|
+
UPB_INLINE bool _upb_sortedmap_nextext(_upb_mapsorter* s,
|
1844
|
+
_upb_sortedmap* sorted,
|
1845
|
+
const upb_Message_Extension** ext) {
|
1846
|
+
if (sorted->pos == sorted->end) return false;
|
1847
|
+
*ext = (const upb_Message_Extension*)s->entries[sorted->pos++];
|
1848
|
+
return true;
|
1849
|
+
}
|
1850
|
+
|
1851
|
+
UPB_INLINE void _upb_mapsorter_popmap(_upb_mapsorter* s,
|
1852
|
+
_upb_sortedmap* sorted) {
|
1853
|
+
s->size = sorted->start;
|
1854
|
+
}
|
1855
|
+
|
1856
|
+
bool _upb_mapsorter_pushmap(_upb_mapsorter* s, upb_FieldType key_type,
|
1857
|
+
const upb_Map* map, _upb_sortedmap* sorted);
|
1858
|
+
|
1859
|
+
bool _upb_mapsorter_pushexts(_upb_mapsorter* s,
|
1860
|
+
const upb_Message_Extension* exts, size_t count,
|
1861
|
+
_upb_sortedmap* sorted);
|
1862
|
+
|
1863
|
+
#ifdef __cplusplus
|
1864
|
+
} /* extern "C" */
|
1865
|
+
#endif
|
1866
|
+
|
1867
|
+
|
1868
|
+
#endif /* UPB_COLLECTIONS_MAP_SORTER_INTERNAL_H_ */
|
1869
|
+
|
1870
|
+
/*
|
1871
|
+
** Our memory representation for parsing tables and messages themselves.
|
1872
|
+
** Functions in this file are used by generated code and possibly reflection.
|
1873
|
+
**
|
1874
|
+
** The definitions in this file are internal to upb.
|
1875
|
+
**/
|
1876
|
+
|
1877
|
+
#ifndef UPB_MESSAGE_INTERNAL_H_
|
1878
|
+
#define UPB_MESSAGE_INTERNAL_H_
|
1879
|
+
|
1880
|
+
#include <stdlib.h>
|
1881
|
+
#include <string.h>
|
1882
|
+
|
1883
|
+
|
1870
1884
|
#ifndef UPB_MINI_TABLE_EXTENSION_REGISTRY_H_
|
1871
1885
|
#define UPB_MINI_TABLE_EXTENSION_REGISTRY_H_
|
1872
1886
|
|
@@ -2253,6 +2267,26 @@ UPB_API_INLINE const upb_MiniTableEnum* upb_MiniTable_GetSubEnumTable(
|
|
2253
2267
|
return mini_table->subs[field->submsg_index].subenum;
|
2254
2268
|
}
|
2255
2269
|
|
2270
|
+
// If this field is in a oneof, returns the first field in the oneof.
|
2271
|
+
//
|
2272
|
+
// Otherwise returns NULL.
|
2273
|
+
//
|
2274
|
+
// Usage:
|
2275
|
+
// const upb_MiniTableField* field = upb_MiniTable_GetOneof(m, f);
|
2276
|
+
// do {
|
2277
|
+
// ..
|
2278
|
+
// } while (upb_MiniTable_NextOneofField(m, &field);
|
2279
|
+
//
|
2280
|
+
const upb_MiniTableField* upb_MiniTable_GetOneof(const upb_MiniTable* m,
|
2281
|
+
const upb_MiniTableField* f);
|
2282
|
+
|
2283
|
+
// Returns the next field in the oneof. If this is the last field in the
|
2284
|
+
// oneof, returns NULL. The ordering of fields in the oneof is not
|
2285
|
+
// guaranteed.
|
2286
|
+
// REQUIRES: |iter| is and iterator.
|
2287
|
+
bool upb_MiniTable_NextOneofField(const upb_MiniTable* m,
|
2288
|
+
const upb_MiniTableField** f);
|
2289
|
+
|
2256
2290
|
#ifdef __cplusplus
|
2257
2291
|
} /* extern "C" */
|
2258
2292
|
#endif
|
@@ -2942,6 +2976,8 @@ typedef struct {
|
|
2942
2976
|
//
|
2943
2977
|
// The unknown data is removed from message after field value is set
|
2944
2978
|
// using upb_Message_SetMessage.
|
2979
|
+
//
|
2980
|
+
// WARNING!: See b/267655898
|
2945
2981
|
upb_UnknownToMessageRet upb_MiniTable_PromoteUnknownToMessage(
|
2946
2982
|
upb_Message* msg, const upb_MiniTable* mini_table,
|
2947
2983
|
const upb_MiniTableField* field, const upb_MiniTable* sub_mini_table,
|
@@ -3289,6 +3325,12 @@ extern const upb_MiniTable google_protobuf_SourceCodeInfo_Location_msg_init;
|
|
3289
3325
|
extern const upb_MiniTable google_protobuf_GeneratedCodeInfo_msg_init;
|
3290
3326
|
extern const upb_MiniTable google_protobuf_GeneratedCodeInfo_Annotation_msg_init;
|
3291
3327
|
|
3328
|
+
typedef enum {
|
3329
|
+
google_protobuf_FieldDescriptorProto_LABEL_OPTIONAL = 1,
|
3330
|
+
google_protobuf_FieldDescriptorProto_LABEL_REQUIRED = 2,
|
3331
|
+
google_protobuf_FieldDescriptorProto_LABEL_REPEATED = 3
|
3332
|
+
} google_protobuf_FieldDescriptorProto_Label;
|
3333
|
+
|
3292
3334
|
typedef enum {
|
3293
3335
|
google_protobuf_FieldDescriptorProto_TYPE_DOUBLE = 1,
|
3294
3336
|
google_protobuf_FieldDescriptorProto_TYPE_FLOAT = 2,
|
@@ -3310,18 +3352,6 @@ typedef enum {
|
|
3310
3352
|
google_protobuf_FieldDescriptorProto_TYPE_SINT64 = 18
|
3311
3353
|
} google_protobuf_FieldDescriptorProto_Type;
|
3312
3354
|
|
3313
|
-
typedef enum {
|
3314
|
-
google_protobuf_FieldDescriptorProto_LABEL_OPTIONAL = 1,
|
3315
|
-
google_protobuf_FieldDescriptorProto_LABEL_REQUIRED = 2,
|
3316
|
-
google_protobuf_FieldDescriptorProto_LABEL_REPEATED = 3
|
3317
|
-
} google_protobuf_FieldDescriptorProto_Label;
|
3318
|
-
|
3319
|
-
typedef enum {
|
3320
|
-
google_protobuf_FileOptions_SPEED = 1,
|
3321
|
-
google_protobuf_FileOptions_CODE_SIZE = 2,
|
3322
|
-
google_protobuf_FileOptions_LITE_RUNTIME = 3
|
3323
|
-
} google_protobuf_FileOptions_OptimizeMode;
|
3324
|
-
|
3325
3355
|
typedef enum {
|
3326
3356
|
google_protobuf_FieldOptions_STRING = 0,
|
3327
3357
|
google_protobuf_FieldOptions_CORD = 1,
|
@@ -3354,10 +3384,10 @@ typedef enum {
|
|
3354
3384
|
} google_protobuf_FieldOptions_OptionTargetType;
|
3355
3385
|
|
3356
3386
|
typedef enum {
|
3357
|
-
|
3358
|
-
|
3359
|
-
|
3360
|
-
}
|
3387
|
+
google_protobuf_FileOptions_SPEED = 1,
|
3388
|
+
google_protobuf_FileOptions_CODE_SIZE = 2,
|
3389
|
+
google_protobuf_FileOptions_LITE_RUNTIME = 3
|
3390
|
+
} google_protobuf_FileOptions_OptimizeMode;
|
3361
3391
|
|
3362
3392
|
typedef enum {
|
3363
3393
|
google_protobuf_GeneratedCodeInfo_Annotation_NONE = 0,
|
@@ -3365,16 +3395,22 @@ typedef enum {
|
|
3365
3395
|
google_protobuf_GeneratedCodeInfo_Annotation_ALIAS = 2
|
3366
3396
|
} google_protobuf_GeneratedCodeInfo_Annotation_Semantic;
|
3367
3397
|
|
3398
|
+
typedef enum {
|
3399
|
+
google_protobuf_MethodOptions_IDEMPOTENCY_UNKNOWN = 0,
|
3400
|
+
google_protobuf_MethodOptions_NO_SIDE_EFFECTS = 1,
|
3401
|
+
google_protobuf_MethodOptions_IDEMPOTENT = 2
|
3402
|
+
} google_protobuf_MethodOptions_IdempotencyLevel;
|
3403
|
+
|
3368
3404
|
|
3369
|
-
extern const upb_MiniTableEnum google_protobuf_FieldDescriptorProto_Type_enum_init;
|
3370
3405
|
extern const upb_MiniTableEnum google_protobuf_FieldDescriptorProto_Label_enum_init;
|
3371
|
-
extern const upb_MiniTableEnum
|
3406
|
+
extern const upb_MiniTableEnum google_protobuf_FieldDescriptorProto_Type_enum_init;
|
3372
3407
|
extern const upb_MiniTableEnum google_protobuf_FieldOptions_CType_enum_init;
|
3373
3408
|
extern const upb_MiniTableEnum google_protobuf_FieldOptions_JSType_enum_init;
|
3374
3409
|
extern const upb_MiniTableEnum google_protobuf_FieldOptions_OptionRetention_enum_init;
|
3375
3410
|
extern const upb_MiniTableEnum google_protobuf_FieldOptions_OptionTargetType_enum_init;
|
3376
|
-
extern const upb_MiniTableEnum
|
3411
|
+
extern const upb_MiniTableEnum google_protobuf_FileOptions_OptimizeMode_enum_init;
|
3377
3412
|
extern const upb_MiniTableEnum google_protobuf_GeneratedCodeInfo_Annotation_Semantic_enum_init;
|
3413
|
+
extern const upb_MiniTableEnum google_protobuf_MethodOptions_IdempotencyLevel_enum_init;
|
3378
3414
|
|
3379
3415
|
/* google.protobuf.FileDescriptorSet */
|
3380
3416
|
|
@@ -8777,6 +8813,7 @@ bool upb_FileDef_HasOptions(const upb_FileDef* f);
|
|
8777
8813
|
const char* upb_FileDef_Name(const upb_FileDef* f);
|
8778
8814
|
const UPB_DESC(FileOptions) * upb_FileDef_Options(const upb_FileDef* f);
|
8779
8815
|
const char* upb_FileDef_Package(const upb_FileDef* f);
|
8816
|
+
const char* upb_FileDef_Edition(const upb_FileDef* f);
|
8780
8817
|
const upb_DefPool* upb_FileDef_Pool(const upb_FileDef* f);
|
8781
8818
|
|
8782
8819
|
const upb_FileDef* upb_FileDef_PublicDependency(const upb_FileDef* f, int i);
|
@@ -9889,7 +9926,7 @@ size_t _upb_DefPool_BytesLoaded(const upb_DefPool* s);
|
|
9889
9926
|
upb_ExtensionRegistry* _upb_DefPool_ExtReg(const upb_DefPool* s);
|
9890
9927
|
|
9891
9928
|
bool _upb_DefPool_InsertExt(upb_DefPool* s, const upb_MiniTableExtension* ext,
|
9892
|
-
upb_FieldDef* f);
|
9929
|
+
const upb_FieldDef* f);
|
9893
9930
|
bool _upb_DefPool_InsertSym(upb_DefPool* s, upb_StringView sym, upb_value v,
|
9894
9931
|
upb_Status* status);
|
9895
9932
|
bool _upb_DefPool_LookupSym(const upb_DefPool* s, const char* sym, size_t size,
|
@@ -10015,23 +10052,6 @@ UPB_INLINE upb_FileDef* _upb_DefBuilder_File(const upb_DefBuilder* ctx) {
|
|
10015
10052
|
void _upb_DefBuilder_CheckIdentSlow(upb_DefBuilder* ctx, upb_StringView name,
|
10016
10053
|
bool full);
|
10017
10054
|
|
10018
|
-
// Verify a relative identifier string. The loop is branchless for speed.
|
10019
|
-
UPB_INLINE void _upb_DefBuilder_CheckIdentNotFull(upb_DefBuilder* ctx,
|
10020
|
-
upb_StringView name) {
|
10021
|
-
bool good = name.size > 0;
|
10022
|
-
|
10023
|
-
for (size_t i = 0; i < name.size; i++) {
|
10024
|
-
const char c = name.data[i];
|
10025
|
-
const char d = c | 0x20; // force lowercase
|
10026
|
-
const bool is_alpha = (('a' <= d) & (d <= 'z')) | (c == '_');
|
10027
|
-
const bool is_numer = ('0' <= c) & (c <= '9') & (i != 0);
|
10028
|
-
|
10029
|
-
good &= is_alpha | is_numer;
|
10030
|
-
}
|
10031
|
-
|
10032
|
-
if (!good) _upb_DefBuilder_CheckIdentSlow(ctx, name, false);
|
10033
|
-
}
|
10034
|
-
|
10035
10055
|
// Verify a full identifier string. This is slightly more complicated than
|
10036
10056
|
// verifying a relative identifier string because we must track '.' chars.
|
10037
10057
|
UPB_INLINE void _upb_DefBuilder_CheckIdentFull(upb_DefBuilder* ctx,
|
@@ -10135,6 +10155,14 @@ int _upb_FieldDef_LayoutIndex(const upb_FieldDef* f);
|
|
10135
10155
|
uint64_t _upb_FieldDef_Modifiers(const upb_FieldDef* f);
|
10136
10156
|
void _upb_FieldDef_Resolve(upb_DefBuilder* ctx, const char* prefix,
|
10137
10157
|
upb_FieldDef* f);
|
10158
|
+
void _upb_FieldDef_BuildMiniTableExtension(upb_DefBuilder* ctx,
|
10159
|
+
const upb_FieldDef* f);
|
10160
|
+
|
10161
|
+
// Allocate and initialize an array of |n| extensions (field defs).
|
10162
|
+
upb_FieldDef* _upb_Extensions_New(
|
10163
|
+
upb_DefBuilder* ctx, int n,
|
10164
|
+
const UPB_DESC(FieldDescriptorProto) * const* protos, const char* prefix,
|
10165
|
+
upb_MessageDef* m);
|
10138
10166
|
|
10139
10167
|
// Allocate and initialize an array of |n| field defs.
|
10140
10168
|
upb_FieldDef* _upb_FieldDefs_New(
|
@@ -10199,6 +10227,7 @@ bool _upb_MessageDef_Insert(upb_MessageDef* m, const char* name, size_t size,
|
|
10199
10227
|
void _upb_MessageDef_InsertField(upb_DefBuilder* ctx, upb_MessageDef* m,
|
10200
10228
|
const upb_FieldDef* f);
|
10201
10229
|
bool _upb_MessageDef_IsValidExtensionNumber(const upb_MessageDef* m, int n);
|
10230
|
+
void _upb_MessageDef_CreateMiniTable(upb_DefBuilder* ctx, upb_MessageDef* m);
|
10202
10231
|
void _upb_MessageDef_LinkMiniTable(upb_DefBuilder* ctx,
|
10203
10232
|
const upb_MessageDef* m);
|
10204
10233
|
void _upb_MessageDef_Resolve(upb_DefBuilder* ctx, upb_MessageDef* m);
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: google-protobuf
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.22.0.rc.
|
4
|
+
version: 3.22.0.rc.3
|
5
5
|
platform: x86_64-linux
|
6
6
|
authors:
|
7
7
|
- Protobuf Authors
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-02-
|
11
|
+
date: 2023-02-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake-compiler-dock
|
@@ -111,7 +111,7 @@ homepage: https://developers.google.com/protocol-buffers
|
|
111
111
|
licenses:
|
112
112
|
- BSD-3-Clause
|
113
113
|
metadata:
|
114
|
-
source_code_uri: https://github.com/protocolbuffers/protobuf/tree/v3.22.0-
|
114
|
+
source_code_uri: https://github.com/protocolbuffers/protobuf/tree/v3.22.0-rc3/ruby
|
115
115
|
post_install_message:
|
116
116
|
rdoc_options: []
|
117
117
|
require_paths:
|