| Index: third_party/protobuf/csharp/src/Google.Protobuf/Reflection/RepeatedFieldAccessor.cs
|
| diff --git a/third_party/protobuf/python/google/protobuf/internal/more_extensions_dynamic.proto b/third_party/protobuf/csharp/src/Google.Protobuf/Reflection/RepeatedFieldAccessor.cs
|
| similarity index 63%
|
| copy from third_party/protobuf/python/google/protobuf/internal/more_extensions_dynamic.proto
|
| copy to third_party/protobuf/csharp/src/Google.Protobuf/Reflection/RepeatedFieldAccessor.cs
|
| index df98ac4bd1929fda636c9e2fce1a9184ebf5d472..bd408470929bf250b7f0104f34209198dc0fda63 100644
|
| --- a/third_party/protobuf/python/google/protobuf/internal/more_extensions_dynamic.proto
|
| +++ b/third_party/protobuf/csharp/src/Google.Protobuf/Reflection/RepeatedFieldAccessor.cs
|
| @@ -1,6 +1,7 @@
|
| +#region Copyright notice and license
|
| // Protocol Buffers - Google's data interchange format
|
| -// Copyright 2008 Google Inc. All rights reserved.
|
| -// http://code.google.com/p/protobuf/
|
| +// Copyright 2015 Google Inc. All rights reserved.
|
| +// https://developers.google.com/protocol-buffers/
|
| //
|
| // Redistribution and use in source and binary forms, with or without
|
| // modification, are permitted provided that the following conditions are
|
| @@ -27,23 +28,33 @@
|
| // 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.
|
| +#endregion
|
|
|
| -// Author: jasonh@google.com (Jason Hsueh)
|
| -//
|
| -// This file is used to test a corner case in the CPP implementation where the
|
| -// generated C++ type is available for the extendee, but the extension is
|
| -// defined in a file whose C++ type is not in the binary.
|
| -
|
| +using System;
|
| +using System.Collections;
|
| +using System.Reflection;
|
|
|
| -import "google/protobuf/internal/more_extensions.proto";
|
| +namespace Google.Protobuf.Reflection
|
| +{
|
| + /// <summary>
|
| + /// Accessor for repeated fields.
|
| + /// </summary>
|
| + internal sealed class RepeatedFieldAccessor : FieldAccessorBase
|
| + {
|
| + internal RepeatedFieldAccessor(PropertyInfo property, FieldDescriptor descriptor) : base(property, descriptor)
|
| + {
|
| + }
|
|
|
| -package google.protobuf.internal;
|
| + public override void Clear(IMessage message)
|
| + {
|
| + IList list = (IList) GetValue(message);
|
| + list.Clear();
|
| + }
|
|
|
| -message DynamicMessageType {
|
| - optional int32 a = 1;
|
| -}
|
| + public override void SetValue(IMessage message, object value)
|
| + {
|
| + throw new InvalidOperationException("SetValue is not implemented for repeated fields");
|
| + }
|
|
|
| -extend ExtendedMessage {
|
| - optional int32 dynamic_int32_extension = 100;
|
| - optional DynamicMessageType dynamic_message_extension = 101;
|
| + }
|
| }
|
|
|