• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Protocol Buffers - Google's data interchange format
2// Copyright 2008 Google Inc.  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// Author: Naoki Iwasaki (niwasaki@google.com)
9//
10// A proto file with lazy fields
11
12edition = "2023";
13
14package protobuf_unittest;
15
16option features.utf8_validation = NONE;
17
18message LazyMessageLite {
19  int32 num = 1;
20  int32 num_with_default = 2 [default = 421];
21
22  LazyInnerMessageLite inner = 3 [lazy = true];
23
24  repeated LazyInnerMessageLite repeated_inner = 4;
25
26  oneof oneof_field {
27    int32 oneof_num = 5;
28    LazyInnerMessageLite oneof_inner = 6 [lazy = true];
29  }
30}
31
32message LazyInnerMessageLite {
33  int32 num = 1;
34  int32 num_with_default = 2 [default = 42];
35
36  LazyNestedInnerMessageLite nested = 3 [lazy = true];
37
38  extensions 1000 to max;
39}
40
41message LazyExtension {
42  extend LazyInnerMessageLite {
43    LazyExtension extension = 1000;
44  }
45
46  string name = 1;
47}
48
49message LazyNestedInnerMessageLite {
50  int32 num = 1;
51  int32 num_with_default = 2 [default = 4];
52}
53