mirror of
https://github.com/google/flatbuffers.git
synced 2026-06-11 15:37:27 +00:00
Mass Refactoring to use IsString and other BASE_TYPE helpers (#6193)
* Updated SupportsAdvancedUnionFeatures to look out for string * Mass refactoring to use BASE_TYPE helper functions. Co-authored-by: Casper Neo <cneo@google.com>
This commit is contained in:
@@ -458,7 +458,7 @@ class GoGenerator : public BaseGenerator {
|
||||
"(a + flatbuffers.UOffsetT(j*" +
|
||||
NumToString(InlineSize(vectortype)) + "))");
|
||||
code += "\n\t}\n";
|
||||
if (vectortype.base_type == BASE_TYPE_STRING) {
|
||||
if (IsString(vectortype)) {
|
||||
code += "\treturn nil\n";
|
||||
} else if (vectortype.base_type == BASE_TYPE_BOOL) {
|
||||
code += "\treturn false\n";
|
||||
@@ -640,7 +640,7 @@ class GoGenerator : public BaseGenerator {
|
||||
default: FLATBUFFERS_ASSERT(0);
|
||||
}
|
||||
}
|
||||
if (field.value.type.base_type == BASE_TYPE_VECTOR) {
|
||||
if (IsVector(field.value.type)) {
|
||||
GetVectorLen(struct_def, field, code_ptr);
|
||||
if (field.value.type.element == BASE_TYPE_UCHAR) {
|
||||
GetUByteSlice(struct_def, field, code_ptr);
|
||||
@@ -708,7 +708,7 @@ class GoGenerator : public BaseGenerator {
|
||||
} else {
|
||||
MutateScalarFieldOfTable(struct_def, field, code_ptr);
|
||||
}
|
||||
} else if (field.value.type.base_type == BASE_TYPE_VECTOR) {
|
||||
} else if (IsVector(field.value.type)) {
|
||||
if (IsScalar(field.value.type.element)) {
|
||||
MutateElementOfVectorOfNonStruct(struct_def, field, code_ptr);
|
||||
}
|
||||
@@ -726,7 +726,7 @@ class GoGenerator : public BaseGenerator {
|
||||
|
||||
auto offset = it - struct_def.fields.vec.begin();
|
||||
BuildFieldOfTable(struct_def, field, offset, code_ptr);
|
||||
if (field.value.type.base_type == BASE_TYPE_VECTOR) {
|
||||
if (IsVector(field.value.type)) {
|
||||
BuildVectorOfTable(struct_def, field, code_ptr);
|
||||
}
|
||||
}
|
||||
@@ -869,10 +869,10 @@ class GoGenerator : public BaseGenerator {
|
||||
|
||||
std::string offset = MakeCamel(field.name, false) + "Offset";
|
||||
|
||||
if (field.value.type.base_type == BASE_TYPE_STRING) {
|
||||
if (IsString(field.value.type)) {
|
||||
code += "\t" + offset + " := builder.CreateString(t." +
|
||||
MakeCamel(field.name) + ")\n";
|
||||
} else if (field.value.type.base_type == BASE_TYPE_VECTOR &&
|
||||
} else if (IsVector(field.value.type) &&
|
||||
field.value.type.element == BASE_TYPE_UCHAR &&
|
||||
field.value.type.enum_def == nullptr) {
|
||||
code += "\t" + offset + " := flatbuffers.UOffsetT(0)\n";
|
||||
@@ -880,7 +880,7 @@ class GoGenerator : public BaseGenerator {
|
||||
code += "\t\t" + offset + " = builder.CreateByteString(t." +
|
||||
MakeCamel(field.name) + ")\n";
|
||||
code += "\t}\n";
|
||||
} else if (field.value.type.base_type == BASE_TYPE_VECTOR) {
|
||||
} else if (IsVector(field.value.type)) {
|
||||
code += "\t" + offset + " := flatbuffers.UOffsetT(0)\n";
|
||||
code += "\tif t." + MakeCamel(field.name) + " != nil {\n";
|
||||
std::string length = MakeCamel(field.name, false) + "Length";
|
||||
@@ -984,15 +984,15 @@ class GoGenerator : public BaseGenerator {
|
||||
continue;
|
||||
code +=
|
||||
"\tt." + field_name_camel + " = rcv." + field_name_camel + "()\n";
|
||||
} else if (field.value.type.base_type == BASE_TYPE_STRING) {
|
||||
} else if (IsString(field.value.type)) {
|
||||
code += "\tt." + field_name_camel + " = string(rcv." +
|
||||
field_name_camel + "())\n";
|
||||
} else if (field.value.type.base_type == BASE_TYPE_VECTOR &&
|
||||
} else if (IsVector(field.value.type) &&
|
||||
field.value.type.element == BASE_TYPE_UCHAR &&
|
||||
field.value.type.enum_def == nullptr) {
|
||||
code += "\tt." + field_name_camel + " = rcv." + field_name_camel +
|
||||
"Bytes()\n";
|
||||
} else if (field.value.type.base_type == BASE_TYPE_VECTOR) {
|
||||
} else if (IsVector(field.value.type)) {
|
||||
code += "\t" + length + " := rcv." + field_name_camel + "Length()\n";
|
||||
code += "\tt." + field_name_camel + " = make(" +
|
||||
NativeType(field.value.type) + ", " + length + ")\n";
|
||||
@@ -1225,9 +1225,9 @@ class GoGenerator : public BaseGenerator {
|
||||
} else {
|
||||
return GetEnumTypeName(*type.enum_def);
|
||||
}
|
||||
} else if (type.base_type == BASE_TYPE_STRING) {
|
||||
} else if (IsString(type)) {
|
||||
return "string";
|
||||
} else if (type.base_type == BASE_TYPE_VECTOR) {
|
||||
} else if (IsVector(type)) {
|
||||
return "[]" + NativeType(type.VectorType());
|
||||
} else if (type.base_type == BASE_TYPE_STRUCT) {
|
||||
return "*" + WrapInNameSpaceAndTrack(type.struct_def->defined_namespace,
|
||||
|
||||
Reference in New Issue
Block a user