Skip to content

Commit a3134b3

Browse files
committed
Merge remote-tracking branch 'upstream/master'
2 parents 57a9222 + 4173b84 commit a3134b3

File tree

96 files changed

+2120
-1973
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

96 files changed

+2120
-1973
lines changed

CMakeLists.txt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -537,14 +537,13 @@ if(FLATBUFFERS_BUILD_TESTS)
537537
add_definitions(-DFLATBUFFERS_TEST_PATH_PREFIX=${CMAKE_CURRENT_SOURCE_DIR}/)
538538

539539
# The flattest target needs some generated files
540-
SET(FLATC_OPT --cpp --gen-mutable --gen-object-api --reflect-names)
541-
SET(FLATC_OPT_COMP ${FLATC_OPT};--gen-compare)
540+
SET(FLATC_OPT_COMP --cpp --gen-compare --gen-mutable --gen-object-api --reflect-names)
542541
SET(FLATC_OPT_SCOPED_ENUMS ${FLATC_OPT_COMP};--scoped-enums)
543542

544543
compile_schema_for_test(tests/alignment_test.fbs "${FLATC_OPT_COMP}")
545544
compile_schema_for_test(tests/arrays_test.fbs "${FLATC_OPT_SCOPED_ENUMS}")
546545
compile_schema_for_test(tests/native_inline_table_test.fbs "${FLATC_OPT_COMP}")
547-
compile_schema_for_test(tests/native_type_test.fbs "${FLATC_OPT}")
546+
compile_schema_for_test(tests/native_type_test.fbs "${FLATC_OPT_COMP}")
548547
compile_schema_for_test(tests/key_field/key_field_sample.fbs "${FLATC_OPT_COMP}")
549548
compile_schema_for_test(tests/64bit/test_64bit.fbs "${FLATC_OPT_COMP};--bfbs-gen-embed")
550549
compile_schema_for_test(tests/64bit/evolution/v1.fbs "${FLATC_OPT_COMP}")

Package.swift

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -57,24 +57,24 @@ let package = Package(
5757
extension Array where Element == Package.Dependency {
5858
static var dependencies: [Package.Dependency] {
5959
#if os(Windows)
60-
[]
60+
[]
6161
#else
62-
// Test only Dependency
63-
[.package(url: "https://github.com/grpc/grpc-swift.git", from: "1.4.1")]
62+
// Test only Dependency
63+
[.package(url: "https://github.com/grpc/grpc-swift.git", from: "1.4.1")]
6464
#endif
6565
}
6666
}
6767

6868
extension Array where Element == PackageDescription.Target.Dependency {
6969
static var dependencies: [PackageDescription.Target.Dependency] {
7070
#if os(Windows)
71-
["FlatBuffers"]
71+
["FlatBuffers"]
7272
#else
73-
// Test only Dependency
74-
[
75-
.product(name: "GRPC", package: "grpc-swift"),
76-
"FlatBuffers",
77-
]
73+
// Test only Dependency
74+
[
75+
.product(name: "GRPC", package: "grpc-swift"),
76+
"FlatBuffers",
77+
]
7878
#endif
7979
}
8080
}

benchmarks/swift/Benchmarks/FlatbuffersBenchmarks/FlatbuffersBenchmarks.swift

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -88,8 +88,8 @@ let benchmarks = {
8888

8989
Benchmark(
9090
"Allocating ByteBuffer 1GB",
91-
configuration: singleConfiguration
92-
) { benchmark in
91+
configuration: singleConfiguration)
92+
{ benchmark in
9393
let memory = UnsafeMutableRawPointer.allocate(
9494
byteCount: 1_024_000_000,
9595
alignment: 1)
@@ -165,8 +165,8 @@ let benchmarks = {
165165

166166
Benchmark(
167167
"FlatBufferBuilder Add",
168-
configuration: kiloConfiguration
169-
) { benchmark in
168+
configuration: kiloConfiguration)
169+
{ benchmark in
170170
var fb = FlatBufferBuilder(initialSize: 1024 * 1024 * 32)
171171
benchmark.startMeasurement()
172172
for _ in benchmark.scaledIterations {
@@ -182,8 +182,8 @@ let benchmarks = {
182182

183183
Benchmark(
184184
"FlatBufferBuilder Start table",
185-
configuration: kiloConfiguration
186-
) { benchmark in
185+
configuration: kiloConfiguration)
186+
{ benchmark in
187187
var fb = FlatBufferBuilder(initialSize: 1024 * 1024 * 32)
188188
benchmark.startMeasurement()
189189
for _ in benchmark.scaledIterations {

benchmarks/swift/Package.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import PackageDescription
2020
let package = Package(
2121
name: "benchmarks",
2222
platforms: [
23-
.macOS(.v13)
23+
.macOS(.v13),
2424
],
2525
dependencies: [
2626
.package(path: "../.."),
@@ -37,6 +37,6 @@ let package = Package(
3737
],
3838
path: "Benchmarks/FlatbuffersBenchmarks",
3939
plugins: [
40-
.plugin(name: "BenchmarkPlugin", package: "package-benchmark")
41-
])
40+
.plugin(name: "BenchmarkPlugin", package: "package-benchmark"),
41+
]),
4242
])

dart/test/keyword_test_keyword_test_generated.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -276,7 +276,7 @@ class Table2 {
276276

277277
Table2T unpack() => Table2T(
278278
typeType: typeType,
279-
type: type);
279+
type: type?.unpack());
280280

281281
static int pack(fb.Builder fbBuilder, Table2T? object) {
282282
if (object == null) return 0;

dart/test/monster_test_my_game.example_generated.dart

Lines changed: 24 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -1332,22 +1332,15 @@ class Monster {
13321332
mana: mana,
13331333
hp: hp,
13341334
name: name,
1335-
inventory: const fb.Uint8ListReader(
1336-
lazy: false,
1337-
).vTableGetNullable(_bc, _bcOffset, 14),
1335+
inventory: inventory?.toList(),
13381336
color: color,
13391337
testType: testType,
1340-
test: test,
1338+
test: test?.unpack(),
13411339
test4: test4?.map((e) => e.unpack()).toList(),
1342-
testarrayofstring: const fb.ListReader<String>(
1343-
fb.StringReader(),
1344-
lazy: false,
1345-
).vTableGetNullable(_bc, _bcOffset, 24),
1340+
testarrayofstring: testarrayofstring?.toList(),
13461341
testarrayoftables: testarrayoftables?.map((e) => e.unpack()).toList(),
13471342
enemy: enemy?.unpack(),
1348-
testnestedflatbuffer: const fb.Uint8ListReader(
1349-
lazy: false,
1350-
).vTableGetNullable(_bc, _bcOffset, 30),
1343+
testnestedflatbuffer: testnestedflatbuffer?.toList(),
13511344
testempty: testempty?.unpack(),
13521345
testbool: testbool,
13531346
testhashs32Fnv1: testhashs32Fnv1,
@@ -1358,67 +1351,33 @@ class Monster {
13581351
testhashu32Fnv1a: testhashu32Fnv1a,
13591352
testhashs64Fnv1a: testhashs64Fnv1a,
13601353
testhashu64Fnv1a: testhashu64Fnv1a,
1361-
testarrayofbools: const fb.ListReader<bool>(
1362-
fb.BoolReader(),
1363-
lazy: false,
1364-
).vTableGetNullable(_bc, _bcOffset, 52),
1354+
testarrayofbools: testarrayofbools?.toList(),
13651355
testf: testf,
13661356
testf2: testf2,
13671357
testf3: testf3,
1368-
testarrayofstring2: const fb.ListReader<String>(
1369-
fb.StringReader(),
1370-
lazy: false,
1371-
).vTableGetNullable(_bc, _bcOffset, 60),
1372-
testarrayofsortedstruct: testarrayofsortedstruct
1373-
?.map((e) => e.unpack())
1374-
.toList(),
1375-
flex: const fb.Uint8ListReader(
1376-
lazy: false,
1377-
).vTableGetNullable(_bc, _bcOffset, 64),
1358+
testarrayofstring2: testarrayofstring2?.toList(),
1359+
testarrayofsortedstruct: testarrayofsortedstruct?.map((e) => e.unpack()).toList(),
1360+
flex: flex?.toList(),
13781361
test5: test5?.map((e) => e.unpack()).toList(),
1379-
vectorOfLongs: const fb.ListReader<int>(
1380-
fb.Int64Reader(),
1381-
lazy: false,
1382-
).vTableGetNullable(_bc, _bcOffset, 68),
1383-
vectorOfDoubles: const fb.ListReader<double>(
1384-
fb.Float64Reader(),
1385-
lazy: false,
1386-
).vTableGetNullable(_bc, _bcOffset, 70),
1362+
vectorOfLongs: vectorOfLongs?.toList(),
1363+
vectorOfDoubles: vectorOfDoubles?.toList(),
13871364
parentNamespaceTest: parentNamespaceTest?.unpack(),
13881365
vectorOfReferrables: vectorOfReferrables?.map((e) => e.unpack()).toList(),
13891366
singleWeakReference: singleWeakReference,
1390-
vectorOfWeakReferences: const fb.ListReader<int>(
1391-
fb.Uint64Reader(),
1392-
lazy: false,
1393-
).vTableGetNullable(_bc, _bcOffset, 78),
1394-
vectorOfStrongReferrables: vectorOfStrongReferrables
1395-
?.map((e) => e.unpack())
1396-
.toList(),
1367+
vectorOfWeakReferences: vectorOfWeakReferences?.toList(),
1368+
vectorOfStrongReferrables: vectorOfStrongReferrables?.map((e) => e.unpack()).toList(),
13971369
coOwningReference: coOwningReference,
1398-
vectorOfCoOwningReferences: const fb.ListReader<int>(
1399-
fb.Uint64Reader(),
1400-
lazy: false,
1401-
).vTableGetNullable(_bc, _bcOffset, 84),
1370+
vectorOfCoOwningReferences: vectorOfCoOwningReferences?.toList(),
14021371
nonOwningReference: nonOwningReference,
1403-
vectorOfNonOwningReferences: const fb.ListReader<int>(
1404-
fb.Uint64Reader(),
1405-
lazy: false,
1406-
).vTableGetNullable(_bc, _bcOffset, 88),
1372+
vectorOfNonOwningReferences: vectorOfNonOwningReferences?.toList(),
14071373
anyUniqueType: anyUniqueType,
1408-
anyUnique: anyUnique,
1374+
anyUnique: anyUnique?.unpack(),
14091375
anyAmbiguousType: anyAmbiguousType,
1410-
anyAmbiguous: anyAmbiguous,
1411-
vectorOfEnums: const fb.ListReader<Color>(
1412-
Color.reader,
1413-
lazy: false,
1414-
).vTableGetNullable(_bc, _bcOffset, 98),
1376+
anyAmbiguous: anyAmbiguous?.unpack(),
1377+
vectorOfEnums: vectorOfEnums?.toList(),
14151378
signedEnum: signedEnum,
1416-
testrequirednestedflatbuffer: const fb.Uint8ListReader(
1417-
lazy: false,
1418-
).vTableGetNullable(_bc, _bcOffset, 102),
1419-
scalarKeySortedTables: scalarKeySortedTables
1420-
?.map((e) => e.unpack())
1421-
.toList(),
1379+
testrequirednestedflatbuffer: testrequirednestedflatbuffer?.toList(),
1380+
scalarKeySortedTables: scalarKeySortedTables?.map((e) => e.unpack()).toList(),
14221381
nativeInline: nativeInline?.unpack(),
14231382
longEnumNonEnumDefault: longEnumNonEnumDefault,
14241383
longEnumNormalDefault: longEnumNormalDefault,
@@ -1578,7 +1537,7 @@ class MonsterT implements fb.Packable {
15781537
final int? testOffset = test?.pack(fbBuilder);
15791538
int? test4Offset;
15801539
if (test4 != null) {
1581-
for (var e in test4!) {
1540+
for (var e in test4!.reversed) {
15821541
e.pack(fbBuilder);
15831542
}
15841543
test4Offset = fbBuilder.endStructVector(test4!.length);
@@ -1608,7 +1567,7 @@ class MonsterT implements fb.Packable {
16081567
);
16091568
int? testarrayofsortedstructOffset;
16101569
if (testarrayofsortedstruct != null) {
1611-
for (var e in testarrayofsortedstruct!) {
1570+
for (var e in testarrayofsortedstruct!.reversed) {
16121571
e.pack(fbBuilder);
16131572
}
16141573
testarrayofsortedstructOffset = fbBuilder.endStructVector(
@@ -1620,7 +1579,7 @@ class MonsterT implements fb.Packable {
16201579
: fbBuilder.writeListUint8(flex!);
16211580
int? test5Offset;
16221581
if (test5 != null) {
1623-
for (var e in test5!) {
1582+
for (var e in test5!.reversed) {
16241583
e.pack(fbBuilder);
16251584
}
16261585
test5Offset = fbBuilder.endStructVector(test5!.length);
@@ -2478,13 +2437,8 @@ class TypeAliases {
24782437
u64: u64,
24792438
f32: f32,
24802439
f64: f64,
2481-
v8: const fb.Int8ListReader(
2482-
lazy: false,
2483-
).vTableGetNullable(_bc, _bcOffset, 24),
2484-
vf64: const fb.ListReader<double>(
2485-
fb.Float64Reader(),
2486-
lazy: false,
2487-
).vTableGetNullable(_bc, _bcOffset, 26),
2440+
v8: v8?.toList(),
2441+
vf64: vf64?.toList(),
24882442
);
24892443

24902444
static int pack(fb.Builder fbBuilder, TypeAliasesT? object) {

grpc/examples/swift/Greeter/Sources/Model/greeter_generated.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import Common
88

99
import FlatBuffers
1010

11-
public struct models_HelloReply: FlatBufferObject, Verifiable {
11+
public struct models_HelloReply: FlatBufferTable, FlatbuffersVectorInitializable, Verifiable {
1212

1313
static func validateVersion() { FlatBuffersVersion_25_9_23() }
1414
public var __buffer: ByteBuffer! { return _accessor.bb }
@@ -55,7 +55,7 @@ extension models_HelloReply: Encodable {
5555
}
5656
}
5757

58-
public struct models_HelloRequest: FlatBufferObject, Verifiable {
58+
public struct models_HelloRequest: FlatBufferTable, FlatbuffersVectorInitializable, Verifiable {
5959

6060
static func validateVersion() { FlatBuffersVersion_25_9_23() }
6161
public var __buffer: ByteBuffer! { return _accessor.bb }

grpc/examples/swift/Greeter/Sources/client/main.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ func greet(name: String, client greeter: models_GreeterServiceClient) {
3939
// Make the RPC call to the server.
4040
let sayHello =
4141
greeter
42-
.SayHello(Message<models_HelloRequest>(builder: &builder))
42+
.SayHello(Message<models_HelloRequest>(builder: &builder))
4343

4444
// wait() on the response to stop the program from exiting before the response is received.
4545
do {

grpc/examples/swift/Greeter/Sources/server/main.swift

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,7 @@ class Greeter: models_GreeterProvider {
3232

3333
func SayHello(
3434
request: Message<models_HelloRequest>,
35-
context: StatusOnlyCallContext
36-
)
35+
context: StatusOnlyCallContext)
3736
-> EventLoopFuture<Message<models_HelloReply>>
3837
{
3938
let recipient = request.object.name ?? "Stranger"
@@ -48,15 +47,14 @@ class Greeter: models_GreeterProvider {
4847

4948
func SayManyHellos(
5049
request: Message<models_HelloRequest>,
51-
context: StreamingResponseCallContext<Message<models_HelloReply>>
52-
)
50+
context: StreamingResponseCallContext<Message<models_HelloReply>>)
5351
-> EventLoopFuture<GRPCStatus>
5452
{
5553
for name in greetings {
5654
var builder = FlatBufferBuilder()
5755
let off =
5856
builder
59-
.create(string: "\(name) \(request.object.name ?? "Unknown")")
57+
.create(string: "\(name) \(request.object.name ?? "Unknown")")
6058
let root = models_HelloReply.createHelloReply(
6159
&builder,
6260
messageOffset: off)

include/flatbuffers/array.h

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,11 @@ class Array {
3939
typedef VectorConstIterator<T, return_type, uoffset_t> const_iterator;
4040
typedef VectorReverseIterator<const_iterator> const_reverse_iterator;
4141

42-
// If T is a LE-scalar or a struct (!scalar_tag::value).
42+
// If T is a non-pointer and a LE-scalar or a struct (!scalar_tag::value).
4343
static FLATBUFFERS_CONSTEXPR bool is_span_observable =
44-
(scalar_tag::value && (FLATBUFFERS_LITTLEENDIAN || sizeof(T) == 1)) ||
45-
!scalar_tag::value;
44+
!std::is_pointer<T>::value &&
45+
((scalar_tag::value && (FLATBUFFERS_LITTLEENDIAN || sizeof(T) == 1)) ||
46+
!scalar_tag::value);
4647

4748
FLATBUFFERS_CONSTEXPR uint16_t size() const { return length; }
4849

0 commit comments

Comments
 (0)