@@ -312,7 +312,7 @@ class SwiftGenerator : public BaseGenerator {
312312 std::string func_header = " " ;
313313 GenerateStructArgs (struct_def, &func_header, " " , " " );
314314 code_ += func_header.substr (0 , func_header.size () - 2 ) + " \\ " ;
315- code_ += " ) -> Offset<UOffset> {" ;
315+ code_ += " ) -> Offset {" ;
316316 Indent ();
317317 code_ +=
318318 " builder.createStructOf(size: {{STRUCTNAME}}.size, alignment: "
@@ -424,7 +424,7 @@ class SwiftGenerator : public BaseGenerator {
424424 code_ +=
425425 " {{ACCESS_TYPE}} static func finish(_ fbb: inout "
426426 " FlatBufferBuilder, end: "
427- " Offset<UOffset> , prefix: Bool = false) { fbb.finish(offset: end, "
427+ " Offset, prefix: Bool = false) { fbb.finish(offset: end, "
428428 " fileId: "
429429 " \" {{FILENAME}}\" , addPrefix: prefix) }" ;
430430 }
@@ -470,7 +470,7 @@ class SwiftGenerator : public BaseGenerator {
470470 " {{ACCESS_TYPE}} static func end{{SHORT_STRUCTNAME}}(_ fbb: inout "
471471 " FlatBufferBuilder, "
472472 " start: "
473- " UOffset) -> Offset<UOffset> { let end = Offset<UOffset> (offset: "
473+ " UOffset) -> Offset { let end = Offset(offset: "
474474 " fbb.endTable(at: start))\\ " ;
475475 if (require_fields.capacity () != 0 ) {
476476 std::string fields = " " ;
@@ -492,7 +492,7 @@ class SwiftGenerator : public BaseGenerator {
492492 }
493493 code_ += " " ;
494494 Outdent ();
495- code_ += " ) -> Offset<UOffset> {" ;
495+ code_ += " ) -> Offset {" ;
496496 Indent ();
497497 code_ += " let __start = {{STRUCTNAME}}.start{{SHORT_STRUCTNAME}}(&fbb)" ;
498498 for (auto it = create_func_body.begin (); it < create_func_body.end ();
@@ -514,8 +514,8 @@ class SwiftGenerator : public BaseGenerator {
514514
515515 code_ +=
516516 " {{ACCESS_TYPE}} static func "
517- " sortVectorOf{{SHORT_VALUENAME}}(offsets:[Offset<UOffset> ], "
518- " _ fbb: inout FlatBufferBuilder) -> Offset<UOffset> {" ;
517+ " sortVectorOf{{SHORT_VALUENAME}}(offsets:[Offset], "
518+ " _ fbb: inout FlatBufferBuilder) -> Offset {" ;
519519 Indent ();
520520 code_ += spacing + " var off = offsets" ;
521521 code_ +=
@@ -603,20 +603,18 @@ class SwiftGenerator : public BaseGenerator {
603603 return ;
604604 }
605605
606- auto offset_type =
607- IsString (field.value .type ) ? " Offset<String>" : " Offset<UOffset>" ;
608606 auto camel_case_name =
609607 MakeCamel (name, false ) +
610608 (IsVector (field.value .type ) || IsArray (field.value .type )
611609 ? " VectorOffset"
612610 : " Offset" );
613611 create_func_header.push_back (camel_case_name + " " + name + " : " +
614- offset_type + " = Offset()" );
612+ " Offset = Offset()" );
615613 auto reader_type =
616614 IsStruct (field.value .type ) && field.value .type .struct_def ->fixed
617615 ? " structOffset: {{TABLEOFFSET}}.{{OFFSET}}.p) }"
618616 : " offset: {{VALUENAME}}, at: {{TABLEOFFSET}}.{{OFFSET}}.p) }" ;
619- code_ += offset_type + builder_string + " fbb.add(" + reader_type;
617+ code_ += " Offset " + builder_string + " fbb.add(" + reader_type;
620618
621619 auto vectortype = field.value .type .VectorType ();
622620
@@ -731,7 +729,8 @@ class SwiftGenerator : public BaseGenerator {
731729 case BASE_TYPE_UNION:
732730 code_.SetValue (" CONSTANT" , " nil" );
733731 code_ +=
734- " {{ACCESS_TYPE}} func {{VALUENAME}}<T: FlatBufferObject>(type: "
732+ " {{ACCESS_TYPE}} func {{VALUENAME}}<T: "
733+ " FlatbuffersInitializable>(type: "
735734 " T.Type) -> T" +
736735 is_required + " { " + GenOffset () + required_reader +
737736 " {{ACCESS}}.union(o) }" ;
@@ -755,7 +754,8 @@ class SwiftGenerator : public BaseGenerator {
755754 code_ += GenArrayMainBody (nullable) + GenOffset () + " \\ " ;
756755 } else {
757756 code_ +=
758- " {{ACCESS_TYPE}} func {{VALUENAME}}<T: FlatBufferObject>(at index: "
757+ " {{ACCESS_TYPE}} func {{VALUENAME}}<T: FlatbuffersInitializable>(at "
758+ " index: "
759759 " Int32, type: T.Type) -> T? { " +
760760 GenOffset () + " \\ " ;
761761 }
@@ -884,7 +884,7 @@ class SwiftGenerator : public BaseGenerator {
884884 code_ += " }" ;
885885 code_ +=
886886 " {{ACCESS_TYPE}} func pack(builder: inout FlatBufferBuilder) -> "
887- " Offset<UOffset> {" ;
887+ " Offset {" ;
888888 Indent ();
889889 BuildUnionEnumSwitchCaseWritter (enum_def);
890890 Outdent ();
@@ -907,9 +907,9 @@ class SwiftGenerator : public BaseGenerator {
907907 " {{ACCESS_TYPE}} static func pack(_ builder: inout FlatBufferBuilder, "
908908 " obj: "
909909 " inout " +
910- name + " ?) -> Offset<UOffset> {" ;
910+ name + " ?) -> Offset {" ;
911911 Indent ();
912- code_ += " guard var obj = obj else { return Offset<UOffset> () }" ;
912+ code_ += " guard var obj = obj else { return Offset() }" ;
913913 code_ += " return pack(&builder, obj: &obj)" ;
914914 Outdent ();
915915 code_ += " }" ;
@@ -918,7 +918,7 @@ class SwiftGenerator : public BaseGenerator {
918918 " {{ACCESS_TYPE}} static func pack(_ builder: inout FlatBufferBuilder, "
919919 " obj: "
920920 " inout " +
921- name + " ) -> Offset<UOffset> {" ;
921+ name + " ) -> Offset {" ;
922922 Indent ();
923923 }
924924
@@ -1032,8 +1032,7 @@ class SwiftGenerator : public BaseGenerator {
10321032 code_ +=
10331033 " let __" + name + " = builder.create(string: obj." + name + " )" ;
10341034 } else {
1035- BuildingOptionalObjects (name, " String" ,
1036- " builder.create(string: s)" );
1035+ BuildingOptionalObjects (name, " builder.create(string: s)" );
10371036 }
10381037 break ;
10391038 }
@@ -1059,7 +1058,7 @@ class SwiftGenerator : public BaseGenerator {
10591058 auto vectortype = field.value .type .VectorType ();
10601059 switch (vectortype.base_type ) {
10611060 case BASE_TYPE_UNION: {
1062- code_ += " var __" + name + " __: [Offset<UOffset> ] = []" ;
1061+ code_ += " var __" + name + " __: [Offset] = []" ;
10631062 code_ += " for i in obj." + name + " {" ;
10641063 Indent ();
10651064 code_ += " guard let off = i?.pack(builder: &builder) else { continue }" ;
@@ -1076,7 +1075,7 @@ class SwiftGenerator : public BaseGenerator {
10761075 case BASE_TYPE_STRUCT: {
10771076 if (field.value .type .struct_def &&
10781077 !field.value .type .struct_def ->fixed ) {
1079- code_ += " var __" + name + " __: [Offset<UOffset> ] = []" ;
1078+ code_ += " var __" + name + " __: [Offset] = []" ;
10801079 code_ += " for var i in obj." + name + " {" ;
10811080 Indent ();
10821081 code_ +=
@@ -1116,16 +1115,15 @@ class SwiftGenerator : public BaseGenerator {
11161115 }
11171116
11181117 void BuildingOptionalObjects (const std::string &name,
1119- const std::string &object_type,
11201118 const std::string &body_front) {
1121- code_ += " let __" + name + " : Offset< " + object_type + " > " ;
1119+ code_ += " let __" + name + " : Offset" ;
11221120 code_ += " if let s = obj." + name + " {" ;
11231121 Indent ();
11241122 code_ += " __" + name + " = " + body_front;
11251123 Outdent ();
11261124 code_ += " } else {" ;
11271125 Indent ();
1128- code_ += " __" + name + " = Offset< " + object_type + " > ()" ;
1126+ code_ += " __" + name + " = Offset()" ;
11291127 Outdent ();
11301128 code_ += " }" ;
11311129 code_ += " " ;
@@ -1304,10 +1302,7 @@ class SwiftGenerator : public BaseGenerator {
13041302 auto ev_name = Name (field);
13051303 auto type = GenType (field.union_type );
13061304 auto is_struct = IsStruct (field.union_type ) ? type + Mutable () : type;
1307- if (field.union_type .base_type == BASE_TYPE_NONE ||
1308- IsString (field.union_type )) {
1309- continue ;
1310- }
1305+ if (field.union_type .base_type == BASE_TYPE_NONE) { continue ; }
13111306 code_ += " case ." + ev_name + " :" ;
13121307 Indent ();
13131308 code_ += " var __obj = value as? " + GenType (field.union_type , true );
@@ -1334,10 +1329,7 @@ class SwiftGenerator : public BaseGenerator {
13341329 for (auto it = ev.Vals ().begin (); it < ev.Vals ().end (); ++it) {
13351330 auto field = **it;
13361331 auto ev_name = Name (field);
1337- if (field.union_type .base_type == BASE_TYPE_NONE ||
1338- IsString (field.union_type )) {
1339- continue ;
1340- }
1332+ if (field.union_type .base_type == BASE_TYPE_NONE) { continue ; }
13411333 auto type = IsStruct (field.union_type )
13421334 ? GenType (field.union_type ) + Mutable ()
13431335 : GenType (field.union_type );
@@ -1515,7 +1507,7 @@ class SwiftGenerator : public BaseGenerator {
15151507 return WrapInNameSpace (struct_.defined_namespace , Name (struct_));
15161508 }
15171509 case BASE_TYPE_UNION:
1518- default : return " FlatBufferObject " ;
1510+ default : return " FlatbuffersInitializable " ;
15191511 }
15201512 }
15211513
0 commit comments