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