mirror of
https://github.com/google/flatbuffers.git
synced 2026-06-27 13:52:19 +00:00
Default-empty vectors of enums (#6505)
* disable clippy * Vector of enum default * swift and tests * git clang format * Rewrite enum parser checks * Remove Voids from more_defaults * vector enum swift * remove vector accessor from swift * clang format Co-authored-by: Casper Neo <cneo@google.com>
This commit is contained in:
@@ -2,6 +2,7 @@ swift_dir=`pwd`
|
||||
cd ..
|
||||
test_dir=`pwd`
|
||||
alias fbc='${test_dir}/../flatc'
|
||||
shopt -s expand_aliases
|
||||
|
||||
cd ${swift_dir}/Tests/FlatBuffers.Test.SwiftTests
|
||||
fbc --swift --gen-mutable --grpc --gen-object-api -I ${test_dir}/include_test ${test_dir}/monster_test.fbs ${test_dir}/union_vector/union_vector.fbs
|
||||
|
||||
@@ -29,8 +29,11 @@ class FlatBuffersMoreDefaults: XCTestCase {
|
||||
XCTAssertEqual(defaults.someString, "some")
|
||||
XCTAssertEqual(defaults.ints, [])
|
||||
XCTAssertEqual(defaults.floats, [])
|
||||
XCTAssertEqual(defaults.bools, [])
|
||||
XCTAssertEqual(defaults.intsCount, 0)
|
||||
XCTAssertEqual(defaults.floatsCount, 0)
|
||||
XCTAssertEqual(defaults.abcsCount, 0)
|
||||
XCTAssertEqual(defaults.boolsCount, 0)
|
||||
}
|
||||
|
||||
func testFlatbuffersObjectAPI() {
|
||||
@@ -40,6 +43,8 @@ class FlatBuffersMoreDefaults: XCTestCase {
|
||||
XCTAssertEqual(defaults.someString, "some")
|
||||
XCTAssertEqual(defaults.ints, [])
|
||||
XCTAssertEqual(defaults.floats, [])
|
||||
XCTAssertEqual(defaults.abcs, [])
|
||||
XCTAssertEqual(defaults.bools, [])
|
||||
|
||||
let buffer = defaults.serialize(builder: &fbb, type: MoreDefaults.self)
|
||||
let fDefaults = MoreDefaults.getRootAsMoreDefaults(bb: buffer)
|
||||
@@ -49,5 +54,7 @@ class FlatBuffersMoreDefaults: XCTestCase {
|
||||
XCTAssertEqual(fDefaults.floats, [])
|
||||
XCTAssertEqual(fDefaults.intsCount, 0)
|
||||
XCTAssertEqual(fDefaults.floatsCount, 0)
|
||||
XCTAssertEqual(fDefaults.abcsCount, 0)
|
||||
XCTAssertEqual(fDefaults.boolsCount, 0)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
import FlatBuffers
|
||||
|
||||
/// Composite components of Monster color.
|
||||
public enum MyGame_Example_Color: UInt8, Enum {
|
||||
public enum MyGame_Example_Color: UInt8, Enum {
|
||||
public typealias T = UInt8
|
||||
public static var byteSize: Int { return MemoryLayout<UInt8>.size }
|
||||
public var value: UInt8 { return self.rawValue }
|
||||
@@ -21,7 +21,7 @@ public enum MyGame_Example_Color: UInt8, Enum {
|
||||
public static var min: MyGame_Example_Color { return .red }
|
||||
}
|
||||
|
||||
public enum MyGame_Example_Race: Int8, Enum {
|
||||
public enum MyGame_Example_Race: Int8, Enum {
|
||||
public typealias T = Int8
|
||||
public static var byteSize: Int { return MemoryLayout<Int8>.size }
|
||||
public var value: Int8 { return self.rawValue }
|
||||
@@ -35,7 +35,7 @@ public enum MyGame_Example_Race: Int8, Enum {
|
||||
public static var min: MyGame_Example_Race { return .none_ }
|
||||
}
|
||||
|
||||
public enum MyGame_Example_Any_: UInt8, Enum {
|
||||
public enum MyGame_Example_Any_: UInt8, Enum {
|
||||
public typealias T = UInt8
|
||||
public static var byteSize: Int { return MemoryLayout<UInt8>.size }
|
||||
public var value: UInt8 { return self.rawValue }
|
||||
@@ -71,7 +71,7 @@ public struct MyGame_Example_Any_Union {
|
||||
}
|
||||
}
|
||||
}
|
||||
public enum MyGame_Example_AnyUniqueAliases: UInt8, Enum {
|
||||
public enum MyGame_Example_AnyUniqueAliases: UInt8, Enum {
|
||||
public typealias T = UInt8
|
||||
public static var byteSize: Int { return MemoryLayout<UInt8>.size }
|
||||
public var value: UInt8 { return self.rawValue }
|
||||
@@ -107,7 +107,7 @@ public struct MyGame_Example_AnyUniqueAliasesUnion {
|
||||
}
|
||||
}
|
||||
}
|
||||
public enum MyGame_Example_AnyAmbiguousAliases: UInt8, Enum {
|
||||
public enum MyGame_Example_AnyAmbiguousAliases: UInt8, Enum {
|
||||
public typealias T = UInt8
|
||||
public static var byteSize: Int { return MemoryLayout<UInt8>.size }
|
||||
public var value: UInt8 { return self.rawValue }
|
||||
|
||||
@@ -4,6 +4,19 @@
|
||||
|
||||
import FlatBuffers
|
||||
|
||||
public enum ABC: Int32, Enum {
|
||||
public typealias T = Int32
|
||||
public static var byteSize: Int { return MemoryLayout<Int32>.size }
|
||||
public var value: Int32 { return self.rawValue }
|
||||
case a = 0
|
||||
case b = 1
|
||||
case c = 2
|
||||
|
||||
|
||||
public static var max: ABC { return .c }
|
||||
public static var min: ABC { return .a }
|
||||
}
|
||||
|
||||
public struct MoreDefaults: FlatBufferObject, ObjectAPIPacker {
|
||||
|
||||
static func validateVersion() { FlatBuffersVersion_1_12_0() }
|
||||
@@ -20,6 +33,8 @@ public struct MoreDefaults: FlatBufferObject, ObjectAPIPacker {
|
||||
case floats = 6
|
||||
case emptyString = 8
|
||||
case someString = 10
|
||||
case abcs = 12
|
||||
case bools = 14
|
||||
var v: Int32 { Int32(self.rawValue) }
|
||||
var p: VOffset { self.rawValue }
|
||||
}
|
||||
@@ -34,24 +49,35 @@ public struct MoreDefaults: FlatBufferObject, ObjectAPIPacker {
|
||||
public var emptyStringSegmentArray: [UInt8]? { return _accessor.getVector(at: VTOFFSET.emptyString.v) }
|
||||
public var someString: String? { let o = _accessor.offset(VTOFFSET.someString.v); return o == 0 ? "some" : _accessor.string(at: o) }
|
||||
public var someStringSegmentArray: [UInt8]? { return _accessor.getVector(at: VTOFFSET.someString.v) }
|
||||
public static func startMoreDefaults(_ fbb: inout FlatBufferBuilder) -> UOffset { fbb.startTable(with: 4) }
|
||||
public var abcsCount: Int32 { let o = _accessor.offset(VTOFFSET.abcs.v); return o == 0 ? 0 : _accessor.vector(count: o) }
|
||||
public func abcs(at index: Int32) -> ABC? { let o = _accessor.offset(VTOFFSET.abcs.v); return o == 0 ? ABC.a : ABC(rawValue: _accessor.directRead(of: Int32.self, offset: _accessor.vector(at: o) + index * 4)) }
|
||||
public var boolsCount: Int32 { let o = _accessor.offset(VTOFFSET.bools.v); return o == 0 ? 0 : _accessor.vector(count: o) }
|
||||
public func bools(at index: Int32) -> Bool { let o = _accessor.offset(VTOFFSET.bools.v); return o == 0 ? true : _accessor.directRead(of: Bool.self, offset: _accessor.vector(at: o) + index * 1) }
|
||||
public var bools: [Bool] { return _accessor.getVector(at: VTOFFSET.bools.v) ?? [] }
|
||||
public static func startMoreDefaults(_ fbb: inout FlatBufferBuilder) -> UOffset { fbb.startTable(with: 6) }
|
||||
public static func addVectorOf(ints: Offset<UOffset>, _ fbb: inout FlatBufferBuilder) { fbb.add(offset: ints, at: VTOFFSET.ints.p) }
|
||||
public static func addVectorOf(floats: Offset<UOffset>, _ fbb: inout FlatBufferBuilder) { fbb.add(offset: floats, at: VTOFFSET.floats.p) }
|
||||
public static func add(emptyString: Offset<String>, _ fbb: inout FlatBufferBuilder) { fbb.add(offset: emptyString, at: VTOFFSET.emptyString.p) }
|
||||
public static func add(someString: Offset<String>, _ fbb: inout FlatBufferBuilder) { fbb.add(offset: someString, at: VTOFFSET.someString.p) }
|
||||
public static func addVectorOf(abcs: Offset<UOffset>, _ fbb: inout FlatBufferBuilder) { fbb.add(offset: abcs, at: VTOFFSET.abcs.p) }
|
||||
public static func addVectorOf(bools: Offset<UOffset>, _ fbb: inout FlatBufferBuilder) { fbb.add(offset: bools, at: VTOFFSET.bools.p) }
|
||||
public static func endMoreDefaults(_ fbb: inout FlatBufferBuilder, start: UOffset) -> Offset<UOffset> { let end = Offset<UOffset>(offset: fbb.endTable(at: start)); return end }
|
||||
public static func createMoreDefaults(
|
||||
_ fbb: inout FlatBufferBuilder,
|
||||
intsVectorOffset ints: Offset<UOffset> = Offset(),
|
||||
floatsVectorOffset floats: Offset<UOffset> = Offset(),
|
||||
emptyStringOffset emptyString: Offset<String> = Offset(),
|
||||
someStringOffset someString: Offset<String> = Offset()
|
||||
someStringOffset someString: Offset<String> = Offset(),
|
||||
abcsVectorOffset abcs: Offset<UOffset> = Offset(),
|
||||
boolsVectorOffset bools: Offset<UOffset> = Offset()
|
||||
) -> Offset<UOffset> {
|
||||
let __start = MoreDefaults.startMoreDefaults(&fbb)
|
||||
MoreDefaults.addVectorOf(ints: ints, &fbb)
|
||||
MoreDefaults.addVectorOf(floats: floats, &fbb)
|
||||
MoreDefaults.add(emptyString: emptyString, &fbb)
|
||||
MoreDefaults.add(someString: someString, &fbb)
|
||||
MoreDefaults.addVectorOf(abcs: abcs, &fbb)
|
||||
MoreDefaults.addVectorOf(bools: bools, &fbb)
|
||||
return MoreDefaults.endMoreDefaults(&fbb, start: __start)
|
||||
}
|
||||
|
||||
@@ -81,11 +107,15 @@ public struct MoreDefaults: FlatBufferObject, ObjectAPIPacker {
|
||||
__someString = Offset<String>()
|
||||
}
|
||||
|
||||
let __abcs = builder.createVector(obj.abcs)
|
||||
let __bools = builder.createVector(obj.bools)
|
||||
let __root = MoreDefaults.startMoreDefaults(&builder)
|
||||
MoreDefaults.addVectorOf(ints: __ints, &builder)
|
||||
MoreDefaults.addVectorOf(floats: __floats, &builder)
|
||||
MoreDefaults.add(emptyString: __emptyString, &builder)
|
||||
MoreDefaults.add(someString: __someString, &builder)
|
||||
MoreDefaults.addVectorOf(abcs: __abcs, &builder)
|
||||
MoreDefaults.addVectorOf(bools: __bools, &builder)
|
||||
return MoreDefaults.endMoreDefaults(&builder, start: __root)
|
||||
}
|
||||
}
|
||||
@@ -96,6 +126,8 @@ public class MoreDefaultsT: NativeObject {
|
||||
public var floats: [Float32]
|
||||
public var emptyString: String?
|
||||
public var someString: String?
|
||||
public var abcs: [ABC]
|
||||
public var bools: [Bool]
|
||||
|
||||
public init(_ _t: inout MoreDefaults) {
|
||||
ints = []
|
||||
@@ -108,6 +140,14 @@ public class MoreDefaultsT: NativeObject {
|
||||
}
|
||||
emptyString = _t.emptyString
|
||||
someString = _t.someString
|
||||
abcs = []
|
||||
for index in 0..<_t.abcsCount {
|
||||
abcs.append(_t.abcs(at: index)!)
|
||||
}
|
||||
bools = []
|
||||
for index in 0..<_t.boolsCount {
|
||||
bools.append(_t.bools(at: index))
|
||||
}
|
||||
}
|
||||
|
||||
public init() {
|
||||
@@ -115,6 +155,8 @@ public class MoreDefaultsT: NativeObject {
|
||||
floats = []
|
||||
emptyString = ""
|
||||
someString = "some"
|
||||
abcs = []
|
||||
bools = []
|
||||
}
|
||||
|
||||
public func serialize() -> ByteBuffer { return serialize(type: MoreDefaults.self) }
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
import FlatBuffers
|
||||
|
||||
public enum optional_scalars_OptionalByte: Int8, Enum {
|
||||
public enum optional_scalars_OptionalByte: Int8, Enum {
|
||||
public typealias T = Int8
|
||||
public static var byteSize: Int { return MemoryLayout<Int8>.size }
|
||||
public var value: Int8 { return self.rawValue }
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
import FlatBuffers
|
||||
|
||||
public enum Character: UInt8, Enum {
|
||||
public enum Character: UInt8, Enum {
|
||||
public typealias T = UInt8
|
||||
public static var byteSize: Int { return MemoryLayout<UInt8>.size }
|
||||
public var value: UInt8 { return self.rawValue }
|
||||
|
||||
Reference in New Issue
Block a user