blob: e0033e0bf09fc97273c67a5a7b446e55f4f506ea [file] [log] [blame]
Adam Cozzette5aca7282023-08-07 10:01:08 -07001// Protocol Buffers - Google's data interchange format
2// Copyright 2023 Google LLC. All rights reserved.
Adam Cozzette5aca7282023-08-07 10:01:08 -07003//
Hong Shinb837d172023-11-07 13:24:59 -08004// 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
Adam Cozzette5aca7282023-08-07 10:01:08 -07007
Protobuf Team Botbb38fc92022-06-10 14:32:58 -07008syntax = "proto2";
9
Adam Cozzette12c7bb02023-09-28 12:54:11 -070010package upb;
Protobuf Team Botbb38fc92022-06-10 14:32:58 -070011
Deanna Garciab7437a12023-03-21 14:45:35 -070012import "google/protobuf/compiler/plugin.proto";
Protobuf Team Botbb38fc92022-06-10 14:32:58 -070013
14message CodeGeneratorRequest {
Joshua Haberman56c4a422023-03-03 18:29:46 -080015 message UpbInfo {
16 optional string mini_descriptor = 1;
17
18 // An ordered list of fully qualified sub-message names whose upb_MiniTable
19 // should be passed to upb_MiniTable_Link().
20 repeated string sub_message = 3;
21
22 // An ordered list of fully qualified sub-enum names whose upb_MiniTableEnum
23 // should be passed to upb_MiniTable_Link().
24 repeated string sub_enum = 4;
25 }
26
Protobuf Team Botbb38fc92022-06-10 14:32:58 -070027 // The pb sent by protoc to its plugins.
28 optional google.protobuf.compiler.CodeGeneratorRequest request = 1;
29
Joshua Haberman56c4a422023-03-03 18:29:46 -080030 // upb-specific info for the messages/enums/extensions in the request, keyed
31 // by the fully qualified names.
32 map<string, UpbInfo> upb_info = 2;
Protobuf Team Botbb38fc92022-06-10 14:32:58 -070033}