1 // Protocol Buffers - Google's data interchange format 2 // Copyright 2023 Google LLC. All rights reserved. 3 // 4 // Use of this source code is governed by a BSD-style 5 // license that can be found in the LICENSE file or at 6 // https://developers.google.com/open-source/licenses/bsd 7 8 #include "upb/reflection/def.hpp" 9 #include "upb_generator/common.h" 10 #include "upb_generator/file_layout.h" 11 #include "upb_generator/plugin.h" 12 13 namespace upb { 14 namespace generator { 15 16 struct MiniTableOptions { 17 bool bootstrap = false; 18 bool one_output_per_message = false; 19 bool strip_nonfunctional_codegen = false; 20 }; 21 22 void WriteMiniTableSource(const DefPoolPair& pools, upb::FileDefPtr file, 23 const MiniTableOptions& options, Output& output); 24 void WriteMiniTableMultipleSources(const DefPoolPair& pools, 25 upb::FileDefPtr file, 26 const MiniTableOptions& options, 27 Plugin* plugin); 28 void WriteMiniTableHeader(const DefPoolPair& pools, upb::FileDefPtr file, 29 const MiniTableOptions& options, Output& output); 30 31 } // namespace generator 32 } // namespace upb 33