| // Protocol Buffers - Google's data interchange format |
| // Copyright 2008 Google Inc. 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 |
| |
| // Author: kenton@google.com (Kenton Varda) |
| // Based on original Protocol Buffers design by |
| // Sanjay Ghemawat, Jeff Dean, and others. |
| // |
| // A proto file which uses optimize_for = CODE_SIZE. |
| |
| syntax = "proto2"; |
| |
| package protobuf_unittest; |
| |
| import "google/protobuf/unittest.proto"; |
| |
| option optimize_for = CODE_SIZE; |
| |
| message TestOptimizedForSize { |
| optional int32 i = 1; |
| optional ForeignMessage msg = 19; |
| |
| extensions 1000 to max; |
| |
| extend TestOptimizedForSize { |
| optional int32 test_extension = 1234; |
| optional TestRequiredOptimizedForSize test_extension2 = 1235; |
| } |
| |
| oneof foo { |
| int32 integer_field = 2; |
| string string_field = 3; |
| } |
| } |
| |
| message TestRequiredOptimizedForSize { |
| required int32 x = 1; |
| } |
| |
| message TestOptionalOptimizedForSize { |
| optional TestRequiredOptimizedForSize o = 1; |
| } |