Lines Matching +full:text +full:- +full:table
8 * http://www.apache.org/licenses/LICENSE-2.0
35 if (opts.indent_step >= 0) text += '\n'; in AddNewLine()
38 void AddIndent(int ident) { text.append(ident, ' '); } in AddIndent()
44 if (opts.strict_json) text += '\"'; in OutputIdentifier()
45 text += name; in OutputIdentifier()
46 if (opts.strict_json) text += '\"'; in OutputIdentifier()
49 // Print (and its template specialization below for pointers) generate text
55 text += val != 0 ? "true" : "false"; in PrintScalar()
62 text += '\"'; in PrintScalar()
63 text += ev->name; in PrintScalar()
64 text += '\"'; in PrintScalar()
67 const auto entry_len = text.length(); in PrintScalar()
70 text += '\"'; in PrintScalar()
73 auto f = (*it)->GetAsUInt64(); in PrintScalar()
76 text += (*it)->name; in PrintScalar()
77 text += ' '; in PrintScalar()
82 text[text.length() - 1] = '\"'; in PrintScalar()
85 text.resize(entry_len); // restore in PrintScalar()
90 text += NumToString(val); in PrintScalar()
95 if (!opts.protobuf_ascii_alike) text += ','; in AddComma()
104 text += '['; in PrintContainer()
116 text += ']'; in PrintContainer()
127 text += '['; in PrintContainer()
136 c.Data() + type.struct_def->bytesize * i) in PrintContainer()
145 text += ']'; in PrintContainer()
179 union_type_byte = type_vec->Get(static_cast<uoffset_t>(vector_index)); in PrintOffset()
181 auto enum_val = type.enum_def->ReverseLookup(union_type_byte, true); in PrintOffset()
183 return PrintOffset(val, enum_val->union_type, indent, nullptr, -1); in PrintOffset()
189 return GenStruct(*type.struct_def, reinterpret_cast<const Table *>(val), in PrintOffset()
193 return EscapeString(s->c_str(), s->size(), &text, opts.allow_non_utf8, in PrintOffset()
199 // clang-format off in PrintOffset()
211 // clang-format on in PrintOffset()
217 // clang-format off in PrintOffset()
232 // clang-format on in PrintOffset()
247 // Generate text for a scalar field.
249 bool GenField(const FieldDef &fd, const Table *table, bool fixed, in GenField()
253 reinterpret_cast<const Struct *>(table)->GetField<T>(fd.value.offset), in GenField()
256 auto opt = table->GetOptional<T, T>(fd.value.offset); in GenField()
260 text += "null"; in GenField()
265 table->GetField<T>(fd.value.offset, GetFieldDefault<T>(fd)), in GenField()
270 // Generate text for non-scalar field.
271 bool GenFieldOffset(const FieldDef &fd, const Table *table, bool fixed, in GenFieldOffset()
275 // The only non-scalar fields in structs are structs or arrays. in GenFieldOffset()
277 val = reinterpret_cast<const Struct *>(table)->GetStruct<const void *>( in GenFieldOffset()
286 auto vec = table->GetPointer<const Vector<uint8_t> *>(fd.value.offset); in GenFieldOffset()
287 auto root = flexbuffers::GetRoot(vec->data(), vec->size()); in GenFieldOffset()
288 root.ToString(true, opts.strict_json, text); in GenFieldOffset()
291 auto vec = table->GetPointer<const Vector<uint8_t> *>(fd.value.offset); in GenFieldOffset()
292 auto root = GetRoot<Table>(vec->data()); in GenFieldOffset()
296 ? table->GetStruct<const void *>(fd.value.offset) in GenFieldOffset()
297 : table->GetPointer<const void *>(fd.value.offset); in GenFieldOffset()
299 return PrintOffset(val, fd.value.type, indent, prev_val, -1); in GenFieldOffset()
302 // Generate text for a struct or table, values separated by commas, indented,
304 bool GenStruct(const StructDef &struct_def, const Table *table, int indent) { in GenStruct()
305 text += '{'; in GenStruct()
312 auto is_present = struct_def.fixed || table->CheckField(fd.value.offset); in GenStruct()
323 text += ':'; in GenStruct()
324 text += ' '; in GenStruct()
325 // clang-format off in GenStruct()
329 if (!GenField<CTYPE>(fd, table, struct_def.fixed, elem_indent)) { \ in GenStruct()
335 // Generate drop-thru case statements for all pointer types: in GenStruct()
341 if (!GenFieldOffset(fd, table, struct_def.fixed, elem_indent, prev_val)) { in GenStruct()
346 // clang-format on in GenStruct()
349 prev_val = reinterpret_cast<const uint8_t *>(table) + fd.value.offset; in GenStruct()
351 prev_val = table->GetAddressOf(fd.value.offset); in GenStruct()
357 text += '}'; in GenStruct()
362 : opts(parser.opts), text(dest) { in JsonPrinter()
363 text.reserve(1024); // Reduce amount of inevitable reallocs. in JsonPrinter()
367 std::string &text; member
370 static bool GenerateTextImpl(const Parser &parser, const Table *table, in GenerateTextImpl() argument
373 if (!printer.GenStruct(struct_def, table, 0)) { return false; } in GenerateTextImpl()
378 // Generate a text representation of a flatbuffer in JSON format.
379 bool GenerateTextFromTable(const Parser &parser, const void *table, in GenerateTextFromTable() argument
383 auto root = static_cast<const Table *>(table); in GenerateTextFromTable()
387 // Generate a text representation of a flatbuffer in JSON format.
391 auto root = parser.opts.size_prefixed ? GetSizePrefixedRoot<Table>(flatbuffer) in GenerateText()
392 : GetRoot<Table>(flatbuffer); in GenerateText()
410 std::string text; in GenerateTextFile() local
411 if (!GenerateText(parser, parser.builder_.GetBufferPointer(), &text)) { in GenerateTextFile()
414 return flatbuffers::SaveFile(TextFileName(path, file_name).c_str(), text, in GenerateTextFile()
425 parser.GetIncludedFilesRecursive(parser.root_struct_def_->file); in TextMakeRule()