// Protocol Buffers - Google's data interchange format
// Copyright 2023 Google LLC.  All rights reserved.
//
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file or at
// https://developers.google.com/open-source/licenses/bsd

syntax = "proto2";

package upb;

import "google/protobuf/compiler/plugin.proto";

message CodeGeneratorRequest {
  message UpbInfo {
    optional string mini_descriptor = 1;

    // An ordered list of fully qualified sub-message names whose upb_MiniTable
    // should be passed to upb_MiniTable_Link().
    repeated string sub_message = 3;

    // An ordered list of fully qualified sub-enum names whose upb_MiniTableEnum
    // should be passed to upb_MiniTable_Link().
    repeated string sub_enum = 4;
  }

  // The pb sent by protoc to its plugins.
  optional google.protobuf.compiler.CodeGeneratorRequest request = 1;

  // upb-specific info for the messages/enums/extensions in the request, keyed
  // by the fully qualified names.
  map<string, UpbInfo> upb_info = 2;
}
