From df67f1482beab88844296a469aa135fbaebcec9d Mon Sep 17 00:00:00 2001 From: Jon Skeet Date: Fri, 5 Jun 2009 19:29:36 +0100 Subject: Fix custom options behaviour --- protos/google/protobuf/descriptor.proto | 8 +++- .../google/protobuf/unittest_csharp_options.proto | 52 ++++++++++++++++++++++ 2 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 protos/google/protobuf/unittest_csharp_options.proto (limited to 'protos') diff --git a/protos/google/protobuf/descriptor.proto b/protos/google/protobuf/descriptor.proto index e0e6f7f2..3b858d85 100644 --- a/protos/google/protobuf/descriptor.proto +++ b/protos/google/protobuf/descriptor.proto @@ -250,7 +250,7 @@ message FileOptions { SPEED = 1; // Generate complete code for parsing, serialization, etc. CODE_SIZE = 2; // Use ReflectionOps to implement these methods. } - optional OptimizeMode optimize_for = 9 [default=CODE_SIZE]; + optional OptimizeMode optimize_for = 9 [default=SPEED]; @@ -306,6 +306,12 @@ message FieldOptions { // a single length-delimited blob. optional bool packed = 2; + // Is this field deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for accessors, or it will be completely ignored; in the very least, this + // is a formalization for deprecating fields. + optional bool deprecated = 3 [default=false]; + // EXPERIMENTAL. DO NOT USE. // For "map" fields, the name of the field in the enclosed type that // is the key for this map. For example, suppose we have: diff --git a/protos/google/protobuf/unittest_csharp_options.proto b/protos/google/protobuf/unittest_csharp_options.proto new file mode 100644 index 00000000..37693292 --- /dev/null +++ b/protos/google/protobuf/unittest_csharp_options.proto @@ -0,0 +1,52 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// http://code.google.com/p/protobuf/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Author: jonskeet@google.com (Jon Skeet) +// +// A proto file for unit testing the custom C# options + +import "google/protobuf/csharp_options.proto"; +option (google.protobuf.csharp_file_options).namespace = "Google.ProtocolBuffers.TestProtos"; +option (google.protobuf.csharp_file_options).umbrella_classname = "UnitTestCSharpOptionsProtoFile"; +//option (google.protobuf.csharp_file_options).nest_classes = true; + +package protobuf_unittest; + +message OptionsMessage { + + // Will be left as Normal + optional string normal = 1; + + // Will be converted to OptionsMessage_ + optional string options_message = 2; + + // Will be converted to CustomName + optional string customized = 3 [(google.protobuf.csharp_field_options).property_name = "CustomName"]; +} -- cgit v1.2.3