aboutsummaryrefslogtreecommitdiff
path: root/csharp/src/ProtocolBuffers
diff options
context:
space:
mode:
authorJon Skeet <jonskeet@google.com>2015-07-17 08:26:04 +0100
committerJon Skeet <jonskeet@google.com>2015-07-17 08:26:04 +0100
commit59eeebee870332ea2b9085688ba524c69311f662 (patch)
tree4300e8aeaff6a3b706c398496a692f5ed25f43b7 /csharp/src/ProtocolBuffers
parent0f442a7533b1d06ce0092b28f10af481b99e1369 (diff)
downloadprotobuf-59eeebee870332ea2b9085688ba524c69311f662.tar.gz
protobuf-59eeebee870332ea2b9085688ba524c69311f662.tar.bz2
protobuf-59eeebee870332ea2b9085688ba524c69311f662.zip
First pass at the big rename from ProtocolBuffers to Google.Protobuf.
We'll see what I've missed when CI fails...
Diffstat (limited to 'csharp/src/ProtocolBuffers')
-rw-r--r--csharp/src/ProtocolBuffers/ByteArray.cs79
-rw-r--r--csharp/src/ProtocolBuffers/ByteString.cs284
-rw-r--r--csharp/src/ProtocolBuffers/CodedInputStream.cs1144
-rw-r--r--csharp/src/ProtocolBuffers/CodedOutputStream.ComputeSize.cs304
-rw-r--r--csharp/src/ProtocolBuffers/CodedOutputStream.cs705
-rw-r--r--csharp/src/ProtocolBuffers/Collections/MapField.cs565
-rw-r--r--csharp/src/ProtocolBuffers/Collections/ReadOnlyDictionary.cs147
-rw-r--r--csharp/src/ProtocolBuffers/Collections/RepeatedField.cs470
-rw-r--r--csharp/src/ProtocolBuffers/FieldCodec.cs382
-rw-r--r--csharp/src/ProtocolBuffers/FrameworkPortability.cs50
-rw-r--r--csharp/src/ProtocolBuffers/Freezable.cs58
-rw-r--r--csharp/src/ProtocolBuffers/Google.Protobuf.nuspec24
-rw-r--r--csharp/src/ProtocolBuffers/IMessage.cs144
-rw-r--r--csharp/src/ProtocolBuffers/InvalidProtocolBufferException.cs102
-rw-r--r--csharp/src/ProtocolBuffers/JsonFormatter.cs578
-rw-r--r--csharp/src/ProtocolBuffers/LimitedInputStream.cs110
-rw-r--r--csharp/src/ProtocolBuffers/MessageExtensions.cs113
-rw-r--r--csharp/src/ProtocolBuffers/MessageParser.cs122
-rw-r--r--csharp/src/ProtocolBuffers/Properties/AssemblyInfo.cs72
-rw-r--r--csharp/src/ProtocolBuffers/ProtocolBuffers.csproj122
-rw-r--r--csharp/src/ProtocolBuffers/Reflection/DescriptorBase.cs82
-rw-r--r--csharp/src/ProtocolBuffers/Reflection/DescriptorPool.cs365
-rw-r--r--csharp/src/ProtocolBuffers/Reflection/DescriptorProtoFile.cs4943
-rw-r--r--csharp/src/ProtocolBuffers/Reflection/DescriptorUtil.cs65
-rw-r--r--csharp/src/ProtocolBuffers/Reflection/DescriptorValidationException.cs80
-rw-r--r--csharp/src/ProtocolBuffers/Reflection/EnumDescriptor.cs108
-rw-r--r--csharp/src/ProtocolBuffers/Reflection/EnumValueDescriptor.cs61
-rw-r--r--csharp/src/ProtocolBuffers/Reflection/FieldAccessorBase.cs67
-rw-r--r--csharp/src/ProtocolBuffers/Reflection/FieldAccessorTable.cs97
-rw-r--r--csharp/src/ProtocolBuffers/Reflection/FieldDescriptor.cs292
-rw-r--r--csharp/src/ProtocolBuffers/Reflection/FieldType.cs60
-rw-r--r--csharp/src/ProtocolBuffers/Reflection/FileDescriptor.cs352
-rw-r--r--csharp/src/ProtocolBuffers/Reflection/IDescriptor.cs44
-rw-r--r--csharp/src/ProtocolBuffers/Reflection/IFieldAccessor.cs70
-rw-r--r--csharp/src/ProtocolBuffers/Reflection/MapFieldAccessor.cs58
-rw-r--r--csharp/src/ProtocolBuffers/Reflection/MessageDescriptor.cs172
-rw-r--r--csharp/src/ProtocolBuffers/Reflection/MethodDescriptor.cs93
-rw-r--r--csharp/src/ProtocolBuffers/Reflection/OneofAccessor.cs85
-rw-r--r--csharp/src/ProtocolBuffers/Reflection/OneofDescriptor.cs78
-rw-r--r--csharp/src/ProtocolBuffers/Reflection/PackageDescriptor.cs68
-rw-r--r--csharp/src/ProtocolBuffers/Reflection/PartialClasses.cs47
-rw-r--r--csharp/src/ProtocolBuffers/Reflection/ReflectionUtil.cs106
-rw-r--r--csharp/src/ProtocolBuffers/Reflection/RepeatedFieldAccessor.cs59
-rw-r--r--csharp/src/ProtocolBuffers/Reflection/ServiceDescriptor.cs89
-rw-r--r--csharp/src/ProtocolBuffers/Reflection/SingleFieldAccessor.cs85
-rw-r--r--csharp/src/ProtocolBuffers/ThrowHelper.cs53
-rw-r--r--csharp/src/ProtocolBuffers/WellKnownTypes/Any.cs195
-rw-r--r--csharp/src/ProtocolBuffers/WellKnownTypes/Api.cs528
-rw-r--r--csharp/src/ProtocolBuffers/WellKnownTypes/Duration.cs196
-rw-r--r--csharp/src/ProtocolBuffers/WellKnownTypes/Empty.cs141
-rw-r--r--csharp/src/ProtocolBuffers/WellKnownTypes/FieldMask.cs160
-rw-r--r--csharp/src/ProtocolBuffers/WellKnownTypes/SourceContext.cs169
-rw-r--r--csharp/src/ProtocolBuffers/WellKnownTypes/Struct.cs601
-rw-r--r--csharp/src/ProtocolBuffers/WellKnownTypes/Timestamp.cs196
-rw-r--r--csharp/src/ProtocolBuffers/WellKnownTypes/Type.cs1147
-rw-r--r--csharp/src/ProtocolBuffers/WellKnownTypes/Wrappers.cs1154
-rw-r--r--csharp/src/ProtocolBuffers/WireFormat.cs162
57 files changed, 0 insertions, 17903 deletions
diff --git a/csharp/src/ProtocolBuffers/ByteArray.cs b/csharp/src/ProtocolBuffers/ByteArray.cs
deleted file mode 100644
index 69b6ef8d..00000000
--- a/csharp/src/ProtocolBuffers/ByteArray.cs
+++ /dev/null
@@ -1,79 +0,0 @@
-#region Copyright notice and license
-// Protocol Buffers - Google's data interchange format
-// Copyright 2008 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
-// 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.
-#endregion
-
-using System;
-
-namespace Google.Protobuf
-{
- /// <summary>
- /// Provides a utility routine to copy small arrays much more quickly than Buffer.BlockCopy
- /// </summary>
- internal static class ByteArray
- {
- /// <summary>
- /// The threshold above which you should use Buffer.BlockCopy rather than ByteArray.Copy
- /// </summary>
- private const int CopyThreshold = 12;
-
- /// <summary>
- /// Determines which copy routine to use based on the number of bytes to be copied.
- /// </summary>
- internal static void Copy(byte[] src, int srcOffset, byte[] dst, int dstOffset, int count)
- {
- if (count > CopyThreshold)
- {
- Buffer.BlockCopy(src, srcOffset, dst, dstOffset, count);
- }
- else
- {
- int stop = srcOffset + count;
- for (int i = srcOffset; i < stop; i++)
- {
- dst[dstOffset++] = src[i];
- }
- }
- }
-
- /// <summary>
- /// Reverses the order of bytes in the array
- /// </summary>
- internal static void Reverse(byte[] bytes)
- {
- for (int first = 0, last = bytes.Length - 1; first < last; first++, last--)
- {
- byte temp = bytes[first];
- bytes[first] = bytes[last];
- bytes[last] = temp;
- }
- }
- }
-} \ No newline at end of file
diff --git a/csharp/src/ProtocolBuffers/ByteString.cs b/csharp/src/ProtocolBuffers/ByteString.cs
deleted file mode 100644
index 329f47f6..00000000
--- a/csharp/src/ProtocolBuffers/ByteString.cs
+++ /dev/null
@@ -1,284 +0,0 @@
-#region Copyright notice and license
-// Protocol Buffers - Google's data interchange format
-// Copyright 2008 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
-// 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.
-#endregion
-
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using System.IO;
-using System.Text;
-
-namespace Google.Protobuf
-{
- /// <summary>
- /// Immutable array of bytes.
- /// TODO(jonskeet): Implement the common collection interfaces?
- /// </summary>
- public sealed class ByteString : IEnumerable<byte>, IEquatable<ByteString>
- {
- private static readonly ByteString empty = new ByteString(new byte[0]);
-
- private readonly byte[] bytes;
-
- /// <summary>
- /// Unsafe operations that can cause IO Failure and/or other catestrophic side-effects.
- /// </summary>
- public static class Unsafe
- {
- /// <summary>
- /// Constructs a new ByteString from the given byte array. The array is
- /// *not* copied, and must not be modified after this constructor is called.
- /// </summary>
- public static ByteString FromBytes(byte[] bytes)
- {
- return new ByteString(bytes);
- }
-
- /// <summary>
- /// Provides direct, unrestricted access to the bytes contained in this instance.
- /// You must not modify or resize the byte array returned by this method.
- /// </summary>
- public static byte[] GetBuffer(ByteString bytes)
- {
- return bytes.bytes;
- }
- }
-
- /// <summary>
- /// Internal use only. Ensure that the provided array is not mutated and belongs to this instance.
- /// </summary>
- internal static ByteString AttachBytes(byte[] bytes)
- {
- return new ByteString(bytes);
- }
-
- /// <summary>
- /// Constructs a new ByteString from the given byte array. The array is
- /// *not* copied, and must not be modified after this constructor is called.
- /// </summary>
- private ByteString(byte[] bytes)
- {
- this.bytes = bytes;
- }
-
- /// <summary>
- /// Returns an empty ByteString.
- /// </summary>
- public static ByteString Empty
- {
- get { return empty; }
- }
-
- /// <summary>
- /// Returns the length of this ByteString in bytes.
- /// </summary>
- public int Length
- {
- get { return bytes.Length; }
- }
-
- public bool IsEmpty
- {
- get { return Length == 0; }
- }
-
- public byte[] ToByteArray()
- {
- return (byte[]) bytes.Clone();
- }
-
- public string ToBase64()
- {
- return Convert.ToBase64String(bytes);
- }
-
- /// <summary>
- /// Constructs a ByteString from the Base64 Encoded String.
- /// </summary>
- public static ByteString FromBase64(string bytes)
- {
- // By handling the empty string explicitly, we not only optimize but we fix a
- // problem on CF 2.0. See issue 61 for details.
- return bytes == "" ? Empty : new ByteString(Convert.FromBase64String(bytes));
- }
-
- /// <summary>
- /// Constructs a ByteString from the given array. The contents
- /// are copied, so further modifications to the array will not
- /// be reflected in the returned ByteString.
- /// This method can also be invoked in <c>ByteString.CopyFrom(0xaa, 0xbb, ...)</c> form
- /// which is primarily useful for testing.
- /// </summary>
- public static ByteString CopyFrom(params byte[] bytes)
- {
- return new ByteString((byte[]) bytes.Clone());
- }
-
- /// <summary>
- /// Constructs a ByteString from a portion of a byte array.
- /// </summary>
- public static ByteString CopyFrom(byte[] bytes, int offset, int count)
- {
- byte[] portion = new byte[count];
- ByteArray.Copy(bytes, offset, portion, 0, count);
- return new ByteString(portion);
- }
-
- /// <summary>
- /// Creates a new ByteString by encoding the specified text with
- /// the given encoding.
- /// </summary>
- public static ByteString CopyFrom(string text, Encoding encoding)
- {
- return new ByteString(encoding.GetBytes(text));
- }
-
- /// <summary>
- /// Creates a new ByteString by encoding the specified text in UTF-8.
- /// </summary>
- public static ByteString CopyFromUtf8(string text)
- {
- return CopyFrom(text, Encoding.UTF8);
- }
-
- /// <summary>
- /// Retuns the byte at the given index.
- /// </summary>
- public byte this[int index]
- {
- get { return bytes[index]; }
- }
-
- public string ToString(Encoding encoding)
- {
- return encoding.GetString(bytes, 0, bytes.Length);
- }
-
- public string ToStringUtf8()
- {
- return ToString(Encoding.UTF8);
- }
-
- public IEnumerator<byte> GetEnumerator()
- {
- return ((IEnumerable<byte>) bytes).GetEnumerator();
- }
-
- IEnumerator IEnumerable.GetEnumerator()
- {
- return GetEnumerator();
- }
-
- /// <summary>
- /// Creates a CodedInputStream from this ByteString's data.
- /// </summary>
- public CodedInputStream CreateCodedInput()
- {
- // We trust CodedInputStream not to reveal the provided byte array or modify it
- return CodedInputStream.CreateInstance(bytes);
- }
-
- public static bool operator ==(ByteString lhs, ByteString rhs)
- {
- if (ReferenceEquals(lhs, rhs))
- {
- return true;
- }
- if (ReferenceEquals(lhs, null) || ReferenceEquals(rhs, null))
- {
- return false;
- }
- if (lhs.bytes.Length != rhs.bytes.Length)
- {
- return false;
- }
- for (int i = 0; i < lhs.Length; i++)
- {
- if (rhs.bytes[i] != lhs.bytes[i])
- {
- return false;
- }
- }
- return true;
- }
-
- public static bool operator !=(ByteString lhs, ByteString rhs)
- {
- return !(lhs == rhs);
- }
-
- // TODO(jonskeet): CopyTo if it turns out to be required
-
- public override bool Equals(object obj)
- {
- return this == (obj as ByteString);
- }
-
- public override int GetHashCode()
- {
- int ret = 23;
- foreach (byte b in bytes)
- {
- ret = (ret << 8) | b;
- }
- return ret;
- }
-
- public bool Equals(ByteString other)
- {
- return this == other;
- }
-
- /// <summary>
- /// Used internally by CodedOutputStream to avoid creating a copy for the write
- /// </summary>
- internal void WriteRawBytesTo(CodedOutputStream outputStream)
- {
- outputStream.WriteRawBytes(bytes, 0, bytes.Length);
- }
-
- /// <summary>
- /// Copies the entire byte array to the destination array provided at the offset specified.
- /// </summary>
- public void CopyTo(byte[] array, int position)
- {
- ByteArray.Copy(bytes, 0, array, position, bytes.Length);
- }
-
- /// <summary>
- /// Writes the entire byte array to the provided stream
- /// </summary>
- public void WriteTo(Stream outputStream)
- {
- outputStream.Write(bytes, 0, bytes.Length);
- }
- }
-} \ No newline at end of file
diff --git a/csharp/src/ProtocolBuffers/CodedInputStream.cs b/csharp/src/ProtocolBuffers/CodedInputStream.cs
deleted file mode 100644
index ef7cf114..00000000
--- a/csharp/src/ProtocolBuffers/CodedInputStream.cs
+++ /dev/null
@@ -1,1144 +0,0 @@
-#region Copyright notice and license
-// Protocol Buffers - Google's data interchange format
-// Copyright 2008 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
-// 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.
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.IO;
-
-namespace Google.Protobuf
-{
- /// <summary>
- /// Readings and decodes protocol message fields.
- /// </summary>
- /// <remarks>
- /// This class contains two kinds of methods: methods that read specific
- /// protocol message constructs and field types (e.g. ReadTag and
- /// ReadInt32) and methods that read low-level values (e.g.
- /// ReadRawVarint32 and ReadRawBytes). If you are reading encoded protocol
- /// messages, you should use the former methods, but if you are reading some
- /// other format of your own design, use the latter. The names of the former
- /// methods are taken from the protocol buffer type names, not .NET types.
- /// (Hence ReadFloat instead of ReadSingle, and ReadBool instead of ReadBoolean.)
- ///
- /// TODO(jonskeet): Consider whether recursion and size limits shouldn't be readonly,
- /// set at construction time.
- /// </remarks>
- public sealed class CodedInputStream
- {
- private readonly byte[] buffer;
- private int bufferSize;
- private int bufferSizeAfterLimit = 0;
- private int bufferPos = 0;
- private readonly Stream input;
- private uint lastTag = 0;
-
- private uint nextTag = 0;
- private bool hasNextTag = false;
-
- internal const int DefaultRecursionLimit = 64;
- internal const int DefaultSizeLimit = 64 << 20; // 64MB
- public const int BufferSize = 4096;
-
- /// <summary>
- /// The total number of bytes read before the current buffer. The
- /// total bytes read up to the current position can be computed as
- /// totalBytesRetired + bufferPos.
- /// </summary>
- private int totalBytesRetired = 0;
-
- /// <summary>
- /// The absolute position of the end of the current message.
- /// </summary>
- private int currentLimit = int.MaxValue;
-
- /// <summary>
- /// <see cref="SetRecursionLimit"/>
- /// </summary>
- private int recursionDepth = 0;
-
- private int recursionLimit = DefaultRecursionLimit;
-
- /// <summary>
- /// <see cref="SetSizeLimit"/>
- /// </summary>
- private int sizeLimit = DefaultSizeLimit;
-
- #region Construction
-
- /// <summary>
- /// Creates a new CodedInputStream reading data from the given
- /// stream.
- /// </summary>
- public static CodedInputStream CreateInstance(Stream input)
- {
- return new CodedInputStream(input);
- }
- /// <summary>
- /// Creates a new CodedInputStream reading data from the given
- /// stream and a pre-allocated memory buffer.
- /// </summary>
- public static CodedInputStream CreateInstance(Stream input, byte[] buffer)
- {
- return new CodedInputStream(input, buffer);
- }
-
- /// <summary>
- /// Creates a new CodedInputStream reading data from the given
- /// byte array.
- /// </summary>
- public static CodedInputStream CreateInstance(byte[] buf)
- {
- return new CodedInputStream(buf, 0, buf.Length);
- }
-
- /// <summary>
- /// Creates a new CodedInputStream that reads from the given
- /// byte array slice.
- /// </summary>
- public static CodedInputStream CreateInstance(byte[] buf, int offset, int length)
- {
- return new CodedInputStream(buf, offset, length);
- }
-
- private CodedInputStream(byte[] buffer, int offset, int length)
- {
- this.buffer = buffer;
- this.bufferPos = offset;
- this.bufferSize = offset + length;
- this.input = null;
- }
-
- private CodedInputStream(Stream input)
- {
- this.buffer = new byte[BufferSize];
- this.bufferSize = 0;
- this.input = input;
- }
-
- private CodedInputStream(Stream input, byte[] buffer)
- {
- this.buffer = buffer;
- this.bufferSize = 0;
- this.input = input;
- }
- #endregion
-
- /// <summary>
- /// Returns the current position in the input stream, or the position in the input buffer
- /// </summary>
- public long Position
- {
- get
- {
- if (input != null)
- {
- return input.Position - ((bufferSize + bufferSizeAfterLimit) - bufferPos);
- }
- return bufferPos;
- }
- }
-
- /// <summary>
- /// Returns the last tag read, or 0 if no tags have been read or we've read beyond
- /// the end of the stream.
- /// </summary>
- internal uint LastTag { get { return lastTag; } }
-
- #region Limits for recursion and length
- /// <summary>
- /// Set the maximum message recursion depth.
- /// </summary>
- /// <remarks>
- /// In order to prevent malicious
- /// messages from causing stack overflows, CodedInputStream limits
- /// how deeply messages may be nested. The default limit is 64.
- /// </remarks>
- public int SetRecursionLimit(int limit)
- {
- if (limit < 0)
- {
- throw new ArgumentOutOfRangeException("Recursion limit cannot be negative: " + limit);
- }
- int oldLimit = recursionLimit;
- recursionLimit = limit;
- return oldLimit;
- }
-
- /// <summary>
- /// Set the maximum message size.
- /// </summary>
- /// <remarks>
- /// In order to prevent malicious messages from exhausting memory or
- /// causing integer overflows, CodedInputStream limits how large a message may be.
- /// The default limit is 64MB. You should set this limit as small
- /// as you can without harming your app's functionality. Note that
- /// size limits only apply when reading from an InputStream, not
- /// when constructed around a raw byte array (nor with ByteString.NewCodedInput).
- /// If you want to read several messages from a single CodedInputStream, you
- /// can call ResetSizeCounter() after each message to avoid hitting the
- /// size limit.
- /// </remarks>
- public int SetSizeLimit(int limit)
- {
- if (limit < 0)
- {
- throw new ArgumentOutOfRangeException("Size limit cannot be negative: " + limit);
- }
- int oldLimit = sizeLimit;
- sizeLimit = limit;
- return oldLimit;
- }
-
- /// <summary>
- /// Resets the current size counter to zero (see <see cref="SetSizeLimit"/>).
- /// </summary>
- public void ResetSizeCounter()
- {
- totalBytesRetired = 0;
- }
- #endregion
-
- #region Validation
- /// <summary>
- /// Verifies that the last call to ReadTag() returned the given tag value.
- /// This is used to verify that a nested group ended with the correct
- /// end tag.
- /// </summary>
- /// <exception cref="InvalidProtocolBufferException">The last
- /// tag read was not the one specified</exception>
- internal void CheckLastTagWas(uint value)
- {
- if (lastTag != value)
- {
- throw InvalidProtocolBufferException.InvalidEndTag();
- }
- }
- #endregion
-
- #region Reading of tags etc
-
- /// <summary>
- /// Attempts to peek at the next field tag.
- /// </summary>
- public bool PeekNextTag(out uint fieldTag)
- {
- if (hasNextTag)
- {
- fieldTag = nextTag;
- return true;
- }
-
- uint savedLast = lastTag;
- hasNextTag = ReadTag(out nextTag);
- lastTag = savedLast;
- fieldTag = nextTag;
- return hasNextTag;
- }
-
- /// <summary>
- /// Attempts to read a field tag, returning false if we have reached the end
- /// of the input data.
- /// </summary>
- /// <param name="fieldTag">The 'tag' of the field (id * 8 + wire-format)</param>
- /// <returns>true if the next fieldTag was read</returns>
- public bool ReadTag(out uint fieldTag)
- {
- if (hasNextTag)
- {
- fieldTag = nextTag;
- lastTag = fieldTag;
- hasNextTag = false;
- return true;
- }
-
- // Optimize for the incredibly common case of having at least two bytes left in the buffer,
- // and those two bytes being enough to get the tag. This will be true for fields up to 4095.
- if (bufferPos + 2 <= bufferSize)
- {
- int tmp = buffer[bufferPos++];
- if (tmp < 128)
- {
- fieldTag = (uint)tmp;
- }
- else
- {
- int result = tmp & 0x7f;
- if ((tmp = buffer[bufferPos++]) < 128)
- {
- result |= tmp << 7;
- fieldTag = (uint) result;
- }
- else
- {
- // Nope, rewind and go the potentially slow route.
- bufferPos -= 2;
- fieldTag = ReadRawVarint32();
- }
- }
- }
- else
- {
- if (IsAtEnd)
- {
- fieldTag = 0;
- lastTag = fieldTag;
- return false;
- }
-
- fieldTag = ReadRawVarint32();
- }
- lastTag = fieldTag;
- if (lastTag == 0)
- {
- // If we actually read zero, that's not a valid tag.
- throw InvalidProtocolBufferException.InvalidTag();
- }
- return true;
- }
-
- /// <summary>
- /// Reads a double field from the stream.
- /// </summary>
- public double ReadDouble()
- {
- return BitConverter.Int64BitsToDouble((long) ReadRawLittleEndian64());
- }
-
- /// <summary>
- /// Reads a float field from the stream.
- /// </summary>
- public float ReadFloat()
- {
- if (BitConverter.IsLittleEndian && 4 <= bufferSize - bufferPos)
- {
- float ret = BitConverter.ToSingle(buffer, bufferPos);
- bufferPos += 4;
- return ret;
- }
- else
- {
- byte[] rawBytes = ReadRawBytes(4);
- if (!BitConverter.IsLittleEndian)
- {
- ByteArray.Reverse(rawBytes);
- }
- return BitConverter.ToSingle(rawBytes, 0);
- }
- }
-
- /// <summary>
- /// Reads a uint64 field from the stream.
- /// </summary>
- public ulong ReadUInt64()
- {
- return ReadRawVarint64();
- }
-
- /// <summary>
- /// Reads an int64 field from the stream.
- /// </summary>
- public long ReadInt64()
- {
- return (long) ReadRawVarint64();
- }
-
- /// <summary>
- /// Reads an int32 field from the stream.
- /// </summary>
- public int ReadInt32()
- {
- return (int) ReadRawVarint32();
- }
-
- /// <summary>
- /// Reads a fixed64 field from the stream.
- /// </summary>
- public ulong ReadFixed64()
- {
- return ReadRawLittleEndian64();
- }
-
- /// <summary>
- /// Reads a fixed32 field from the stream.
- /// </summary>
- public uint ReadFixed32()
- {
- return ReadRawLittleEndian32();
- }
-
- /// <summary>
- /// Reads a bool field from the stream.
- /// </summary>
- public bool ReadBool()
- {
- return ReadRawVarint32() != 0;
- }
-
- /// <summary>
- /// Reads a string field from the stream.
- /// </summary>
- public string ReadString()
- {
- int length = ReadLength();
- // No need to read any data for an empty string.
- if (length == 0)
- {
- return "";
- }
- if (length <= bufferSize - bufferPos)
- {
- // Fast path: We already have the bytes in a contiguous buffer, so
- // just copy directly from it.
- String result = CodedOutputStream.Utf8Encoding.GetString(buffer, bufferPos, length);
- bufferPos += length;
- return result;
- }
- // Slow path: Build a byte array first then copy it.
- return CodedOutputStream.Utf8Encoding.GetString(ReadRawBytes(length), 0, length);
- }
-
- /// <summary>
- /// Reads an embedded message field value from the stream.
- /// </summary>
- public void ReadMessage(IMessage builder)
- {
- int length = ReadLength();
- if (recursionDepth >= recursionLimit)
- {
- throw InvalidProtocolBufferException.RecursionLimitExceeded();
- }
- int oldLimit = PushLimit(length);
- ++recursionDepth;
- builder.MergeFrom(this);
- CheckLastTagWas(0);
- --recursionDepth;
- PopLimit(oldLimit);
- }
-
- /// <summary>
- /// Reads a bytes field value from the stream.
- /// </summary>
- public ByteString ReadBytes()
- {
- int length = ReadLength();
- if (length <= bufferSize - bufferPos && length > 0)
- {
- // Fast path: We already have the bytes in a contiguous buffer, so
- // just copy directly from it.
- ByteString result = ByteString.CopyFrom(buffer, bufferPos, length);
- bufferPos += length;
- return result;
- }
- else
- {
- // Slow path: Build a byte array and attach it to a new ByteString.
- return ByteString.AttachBytes(ReadRawBytes(length));
- }
- }
-
- /// <summary>
- /// Reads a uint32 field value from the stream.
- /// </summary>
- public uint ReadUInt32()
- {
- return ReadRawVarint32();
- }
-
- /// <summary>
- /// Reads an enum field value from the stream. If the enum is valid for type T,
- /// then the ref value is set and it returns true. Otherwise the unknown output
- /// value is set and this method returns false.
- /// </summary>
- public int ReadEnum()
- {
- // Currently just a pass-through, but it's nice to separate it logically from WriteInt32.
- return (int) ReadRawVarint32();
- }
-
- /// <summary>
- /// Reads an sfixed32 field value from the stream.
- /// </summary>
- public int ReadSFixed32()
- {
- return (int) ReadRawLittleEndian32();
- }
-
- /// <summary>
- /// Reads an sfixed64 field value from the stream.
- /// </summary>
- public long ReadSFixed64()
- {
- return (long) ReadRawLittleEndian64();
- }
-
- /// <summary>
- /// Reads an sint32 field value from the stream.
- /// </summary>
- public int ReadSInt32()
- {
- return DecodeZigZag32(ReadRawVarint32());
- }
-
- /// <summary>
- /// Reads an sint64 field value from the stream.
- /// </summary>
- public long ReadSInt64()
- {
- return DecodeZigZag64(ReadRawVarint64());
- }
-
- /// <summary>
- /// Reads a length for length-delimited data.
- /// </summary>
- /// <remarks>
- /// This is internally just reading a varint, but this method exists
- /// to make the calling code clearer.
- /// </remarks>
- public int ReadLength()
- {
- return (int) ReadRawVarint32();
- }
-
- /// <summary>
- /// Peeks at the next tag in the stream. If it matches <paramref name="tag"/>,
- /// the tag is consumed and the method returns <c>true</c>; otherwise, the
- /// stream is left in the original position and the method returns <c>false</c>.
- /// </summary>
- public bool MaybeConsumeTag(uint tag)
- {
- uint next;
- if (PeekNextTag(out next))
- {
- if (next == tag)
- {
- hasNextTag = false;
- return true;
- }
- }
- return false;
- }
-
- #endregion
-
- #region Underlying reading primitives
-
- /// <summary>
- /// Same code as ReadRawVarint32, but read each byte individually, checking for
- /// buffer overflow.
- /// </summary>
- private uint SlowReadRawVarint32()
- {
- int tmp = ReadRawByte();
- if (tmp < 128)
- {
- return (uint) tmp;
- }
- int result = tmp & 0x7f;
- if ((tmp = ReadRawByte()) < 128)
- {
- result |= tmp << 7;
- }
- else
- {
- result |= (tmp & 0x7f) << 7;
- if ((tmp = ReadRawByte()) < 128)
- {
- result |= tmp << 14;
- }
- else
- {
- result |= (tmp & 0x7f) << 14;
- if ((tmp = ReadRawByte()) < 128)
- {
- result |= tmp << 21;
- }
- else
- {
- result |= (tmp & 0x7f) << 21;
- result |= (tmp = ReadRawByte()) << 28;
- if (tmp >= 128)
- {
- // Discard upper 32 bits.
- for (int i = 0; i < 5; i++)
- {
- if (ReadRawByte() < 128)
- {
- return (uint) result;
- }
- }
- throw InvalidProtocolBufferException.MalformedVarint();
- }
- }
- }
- }
- return (uint) result;
- }
-
- /// <summary>
- /// Reads a raw Varint from the stream. If larger than 32 bits, discard the upper bits.
- /// This method is optimised for the case where we've got lots of data in the buffer.
- /// That means we can check the size just once, then just read directly from the buffer
- /// without constant rechecking of the buffer length.
- /// </summary>
- internal uint ReadRawVarint32()
- {
- if (bufferPos + 5 > bufferSize)
- {
- return SlowReadRawVarint32();
- }
-
- int tmp = buffer[bufferPos++];
- if (tmp < 128)
- {
- return (uint) tmp;
- }
- int result = tmp & 0x7f;
- if ((tmp = buffer[bufferPos++]) < 128)
- {
- result |= tmp << 7;
- }
- else
- {
- result |= (tmp & 0x7f) << 7;
- if ((tmp = buffer[bufferPos++]) < 128)
- {
- result |= tmp << 14;
- }
- else
- {
- result |= (tmp & 0x7f) << 14;
- if ((tmp = buffer[bufferPos++]) < 128)
- {
- result |= tmp << 21;
- }
- else
- {
- result |= (tmp & 0x7f) << 21;
- result |= (tmp = buffer[bufferPos++]) << 28;
- if (tmp >= 128)
- {
- // Discard upper 32 bits.
- // Note that this has to use ReadRawByte() as we only ensure we've
- // got at least 5 bytes at the start of the method. This lets us
- // use the fast path in more cases, and we rarely hit this section of code.
- for (int i = 0; i < 5; i++)
- {
- if (ReadRawByte() < 128)
- {
- return (uint) result;
- }
- }
- throw InvalidProtocolBufferException.MalformedVarint();
- }
- }
- }
- }
- return (uint) result;
- }
-
- /// <summary>
- /// Reads a varint from the input one byte at a time, so that it does not
- /// read any bytes after the end of the varint. If you simply wrapped the
- /// stream in a CodedInputStream and used ReadRawVarint32(Stream)
- /// then you would probably end up reading past the end of the varint since
- /// CodedInputStream buffers its input.
- /// </summary>
- /// <param name="input"></param>
- /// <returns></returns>
- internal static uint ReadRawVarint32(Stream input)
- {
- int result = 0;
- int offset = 0;
- for (; offset < 32; offset += 7)
- {
- int b = input.ReadByte();
- if (b == -1)
- {
- throw InvalidProtocolBufferException.TruncatedMessage();
- }
- result |= (b & 0x7f) << offset;
- if ((b & 0x80) == 0)
- {
- return (uint) result;
- }
- }
- // Keep reading up to 64 bits.
- for (; offset < 64; offset += 7)
- {
- int b = input.ReadByte();
- if (b == -1)
- {
- throw InvalidProtocolBufferException.TruncatedMessage();
- }
- if ((b & 0x80) == 0)
- {
- return (uint) result;
- }
- }
- throw InvalidProtocolBufferException.MalformedVarint();
- }
-
- /// <summary>
- /// Reads a raw varint from the stream.
- /// </summary>
- internal ulong ReadRawVarint64()
- {
- int shift = 0;
- ulong result = 0;
- while (shift < 64)
- {
- byte b = ReadRawByte();
- result |= (ulong) (b & 0x7F) << shift;
- if ((b & 0x80) == 0)
- {
- return result;
- }
- shift += 7;
- }
- throw InvalidProtocolBufferException.MalformedVarint();
- }
-
- /// <summary>
- /// Reads a 32-bit little-endian integer from the stream.
- /// </summary>
- internal uint ReadRawLittleEndian32()
- {
- uint b1 = ReadRawByte();
- uint b2 = ReadRawByte();
- uint b3 = ReadRawByte();
- uint b4 = ReadRawByte();
- return b1 | (b2 << 8) | (b3 << 16) | (b4 << 24);
- }
-
- /// <summary>
- /// Reads a 64-bit little-endian integer from the stream.
- /// </summary>
- internal ulong ReadRawLittleEndian64()
- {
- ulong b1 = ReadRawByte();
- ulong b2 = ReadRawByte();
- ulong b3 = ReadRawByte();
- ulong b4 = ReadRawByte();
- ulong b5 = ReadRawByte();
- ulong b6 = ReadRawByte();
- ulong b7 = ReadRawByte();
- ulong b8 = ReadRawByte();
- return b1 | (b2 << 8) | (b3 << 16) | (b4 << 24)
- | (b5 << 32) | (b6 << 40) | (b7 << 48) | (b8 << 56);
- }
-
- /// <summary>
- /// Decode a 32-bit value with ZigZag encoding.
- /// </summary>
- /// <remarks>
- /// ZigZag encodes signed integers into values that can be efficiently
- /// encoded with varint. (Otherwise, negative values must be
- /// sign-extended to 64 bits to be varint encoded, thus always taking
- /// 10 bytes on the wire.)
- /// </remarks>
- internal static int DecodeZigZag32(uint n)
- {
- return (int)(n >> 1) ^ -(int)(n & 1);
- }
-
- /// <summary>
- /// Decode a 32-bit value with ZigZag encoding.
- /// </summary>
- /// <remarks>
- /// ZigZag encodes signed integers into values that can be efficiently
- /// encoded with varint. (Otherwise, negative values must be
- /// sign-extended to 64 bits to be varint encoded, thus always taking
- /// 10 bytes on the wire.)
- /// </remarks>
- internal static long DecodeZigZag64(ulong n)
- {
- return (long)(n >> 1) ^ -(long)(n & 1);
- }
- #endregion
-
- #region Internal reading and buffer management
-
- /// <summary>
- /// Sets currentLimit to (current position) + byteLimit. This is called
- /// when descending into a length-delimited embedded message. The previous
- /// limit is returned.
- /// </summary>
- /// <returns>The old limit.</returns>
- internal int PushLimit(int byteLimit)
- {
- if (byteLimit < 0)
- {
- throw InvalidProtocolBufferException.NegativeSize();
- }
- byteLimit += totalBytesRetired + bufferPos;
- int oldLimit = currentLimit;
- if (byteLimit > oldLimit)
- {
- throw InvalidProtocolBufferException.TruncatedMessage();
- }
- currentLimit = byteLimit;
-
- RecomputeBufferSizeAfterLimit();
-
- return oldLimit;
- }
-
- private void RecomputeBufferSizeAfterLimit()
- {
- bufferSize += bufferSizeAfterLimit;
- int bufferEnd = totalBytesRetired + bufferSize;
- if (bufferEnd > currentLimit)
- {
- // Limit is in current buffer.
- bufferSizeAfterLimit = bufferEnd - currentLimit;
- bufferSize -= bufferSizeAfterLimit;
- }
- else
- {
- bufferSizeAfterLimit = 0;
- }
- }
-
- /// <summary>
- /// Discards the current limit, returning the previous limit.
- /// </summary>
- internal void PopLimit(int oldLimit)
- {
- currentLimit = oldLimit;
- RecomputeBufferSizeAfterLimit();
- }
-
- /// <summary>
- /// Returns whether or not all the data before the limit has been read.
- /// </summary>
- /// <returns></returns>
- internal bool ReachedLimit
- {
- get
- {
- if (currentLimit == int.MaxValue)
- {
- return false;
- }
- int currentAbsolutePosition = totalBytesRetired + bufferPos;
- return currentAbsolutePosition >= currentLimit;
- }
- }
-
- /// <summary>
- /// Returns true if the stream has reached the end of the input. This is the
- /// case if either the end of the underlying input source has been reached or
- /// the stream has reached a limit created using PushLimit.
- /// </summary>
- public bool IsAtEnd
- {
- get { return bufferPos == bufferSize && !RefillBuffer(false); }
- }
-
- /// <summary>
- /// Called when buffer is empty to read more bytes from the
- /// input. If <paramref name="mustSucceed"/> is true, RefillBuffer() gurantees that
- /// either there will be at least one byte in the buffer when it returns
- /// or it will throw an exception. If <paramref name="mustSucceed"/> is false,
- /// RefillBuffer() returns false if no more bytes were available.
- /// </summary>
- /// <param name="mustSucceed"></param>
- /// <returns></returns>
- private bool RefillBuffer(bool mustSucceed)
- {
- if (bufferPos < bufferSize)
- {
- throw new InvalidOperationException("RefillBuffer() called when buffer wasn't empty.");
- }
-
- if (totalBytesRetired + bufferSize == currentLimit)
- {
- // Oops, we hit a limit.
- if (mustSucceed)
- {
- throw InvalidProtocolBufferException.TruncatedMessage();
- }
- else
- {
- return false;
- }
- }
-
- totalBytesRetired += bufferSize;
-
- bufferPos = 0;
- bufferSize = (input == null) ? 0 : input.Read(buffer, 0, buffer.Length);
- if (bufferSize < 0)
- {
- throw new InvalidOperationException("Stream.Read returned a negative count");
- }
- if (bufferSize == 0)
- {
- if (mustSucceed)
- {
- throw InvalidProtocolBufferException.TruncatedMessage();
- }
- else
- {
- return false;
- }
- }
- else
- {
- RecomputeBufferSizeAfterLimit();
- int totalBytesRead =
- totalBytesRetired + bufferSize + bufferSizeAfterLimit;
- if (totalBytesRead > sizeLimit || totalBytesRead < 0)
- {
- throw InvalidProtocolBufferException.SizeLimitExceeded();
- }
- return true;
- }
- }
-
- /// <summary>
- /// Read one byte from the input.
- /// </summary>
- /// <exception cref="InvalidProtocolBufferException">
- /// the end of the stream or the current limit was reached
- /// </exception>
- internal byte ReadRawByte()
- {
- if (bufferPos == bufferSize)
- {
- RefillBuffer(true);
- }
- return buffer[bufferPos++];
- }
-
- /// <summary>
- /// Reads a fixed size of bytes from the input.
- /// </summary>
- /// <exception cref="InvalidProtocolBufferException">
- /// the end of the stream or the current limit was reached
- /// </exception>
- internal byte[] ReadRawBytes(int size)
- {
- if (size < 0)
- {
- throw InvalidProtocolBufferException.NegativeSize();
- }
-
- if (totalBytesRetired + bufferPos + size > currentLimit)
- {
- // Read to the end of the stream (up to the current limit) anyway.
- // TODO(jonskeet): This is the only usage of SkipRawBytes. Do we really need to do it?
- SkipRawBytes(currentLimit - totalBytesRetired - bufferPos);
- // Then fail.
- throw InvalidProtocolBufferException.TruncatedMessage();
- }
-
- if (size <= bufferSize - bufferPos)
- {
- // We have all the bytes we need already.
- byte[] bytes = new byte[size];
- ByteArray.Copy(buffer, bufferPos, bytes, 0, size);
- bufferPos += size;
- return bytes;
- }
- else if (size < buffer.Length)
- {
- // Reading more bytes than are in the buffer, but not an excessive number
- // of bytes. We can safely allocate the resulting array ahead of time.
-
- // First copy what we have.
- byte[] bytes = new byte[size];
- int pos = bufferSize - bufferPos;
- ByteArray.Copy(buffer, bufferPos, bytes, 0, pos);
- bufferPos = bufferSize;
-
- // We want to use RefillBuffer() and then copy from the buffer into our
- // byte array rather than reading directly into our byte array because
- // the input may be unbuffered.
- RefillBuffer(true);
-
- while (size - pos > bufferSize)
- {
- Buffer.BlockCopy(buffer, 0, bytes, pos, bufferSize);
- pos += bufferSize;
- bufferPos = bufferSize;
- RefillBuffer(true);
- }
-
- ByteArray.Copy(buffer, 0, bytes, pos, size - pos);
- bufferPos = size - pos;
-
- return bytes;
- }
- else
- {
- // The size is very large. For security reasons, we can't allocate the
- // entire byte array yet. The size comes directly from the input, so a
- // maliciously-crafted message could provide a bogus very large size in
- // order to trick the app into allocating a lot of memory. We avoid this
- // by allocating and reading only a small chunk at a time, so that the
- // malicious message must actually *be* extremely large to cause
- // problems. Meanwhile, we limit the allowed size of a message elsewhere.
-
- // Remember the buffer markers since we'll have to copy the bytes out of
- // it later.
- int originalBufferPos = bufferPos;
- int originalBufferSize = bufferSize;
-
- // Mark the current buffer consumed.
- totalBytesRetired += bufferSize;
- bufferPos = 0;
- bufferSize = 0;
-
- // Read all the rest of the bytes we need.
- int sizeLeft = size - (originalBufferSize - originalBufferPos);
- List<byte[]> chunks = new List<byte[]>();
-
- while (sizeLeft > 0)
- {
- byte[] chunk = new byte[Math.Min(sizeLeft, buffer.Length)];
- int pos = 0;
- while (pos < chunk.Length)
- {
- int n = (input == null) ? -1 : input.Read(chunk, pos, chunk.Length - pos);
- if (n <= 0)
- {
- throw InvalidProtocolBufferException.TruncatedMessage();
- }
- totalBytesRetired += n;
- pos += n;
- }
- sizeLeft -= chunk.Length;
- chunks.Add(chunk);
- }
-
- // OK, got everything. Now concatenate it all into one buffer.
- byte[] bytes = new byte[size];
-
- // Start by copying the leftover bytes from this.buffer.
- int newPos = originalBufferSize - originalBufferPos;
- ByteArray.Copy(buffer, originalBufferPos, bytes, 0, newPos);
-
- // And now all the chunks.
- foreach (byte[] chunk in chunks)
- {
- Buffer.BlockCopy(chunk, 0, bytes, newPos, chunk.Length);
- newPos += chunk.Length;
- }
-
- // Done.
- return bytes;
- }
- }
-
- /// <summary>
- /// Reads and discards <paramref name="size"/> bytes.
- /// </summary>
- /// <exception cref="InvalidProtocolBufferException">the end of the stream
- /// or the current limit was reached</exception>
- private void SkipRawBytes(int size)
- {
- if (size < 0)
- {
- throw InvalidProtocolBufferException.NegativeSize();
- }
-
- if (totalBytesRetired + bufferPos + size > currentLimit)
- {
- // Read to the end of the stream anyway.
- SkipRawBytes(currentLimit - totalBytesRetired - bufferPos);
- // Then fail.
- throw InvalidProtocolBufferException.TruncatedMessage();
- }
-
- if (size <= bufferSize - bufferPos)
- {
- // We have all the bytes we need already.
- bufferPos += size;
- }
- else
- {
- // Skipping more bytes than are in the buffer. First skip what we have.
- int pos = bufferSize - bufferPos;
-
- // ROK 5/7/2013 Issue #54: should retire all bytes in buffer (bufferSize)
- // totalBytesRetired += pos;
- totalBytesRetired += bufferSize;
-
- bufferPos = 0;
- bufferSize = 0;
-
- // Then skip directly from the InputStream for the rest.
- if (pos < size)
- {
- if (input == null)
- {
- throw InvalidProtocolBufferException.TruncatedMessage();
- }
- SkipImpl(size - pos);
- totalBytesRetired += size - pos;
- }
- }
- }
-
- /// <summary>
- /// Abstraction of skipping to cope with streams which can't really skip.
- /// </summary>
- private void SkipImpl(int amountToSkip)
- {
- if (input.CanSeek)
- {
- long previousPosition = input.Position;
- input.Position += amountToSkip;
- if (input.Position != previousPosition + amountToSkip)
- {
- throw InvalidProtocolBufferException.TruncatedMessage();
- }
- }
- else
- {
- byte[] skipBuffer = new byte[Math.Min(1024, amountToSkip)];
- while (amountToSkip > 0)
- {
- int bytesRead = input.Read(skipBuffer, 0, Math.Min(skipBuffer.Length, amountToSkip));
- if (bytesRead <= 0)
- {
- throw InvalidProtocolBufferException.TruncatedMessage();
- }
- amountToSkip -= bytesRead;
- }
- }
- }
-
- #endregion
- }
-} \ No newline at end of file
diff --git a/csharp/src/ProtocolBuffers/CodedOutputStream.ComputeSize.cs b/csharp/src/ProtocolBuffers/CodedOutputStream.ComputeSize.cs
deleted file mode 100644
index bf221c9c..00000000
--- a/csharp/src/ProtocolBuffers/CodedOutputStream.ComputeSize.cs
+++ /dev/null
@@ -1,304 +0,0 @@
-#region Copyright notice and license
-// Protocol Buffers - Google's data interchange format
-// Copyright 2008 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
-// 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.
-#endregion
-
-using System;
-
-namespace Google.Protobuf
-{
- // This part of CodedOutputStream provides all the static entry points that are used
- // by generated code and internally to compute the size of messages prior to being
- // written to an instance of CodedOutputStream.
- public sealed partial class CodedOutputStream
- {
- private const int LittleEndian64Size = 8;
- private const int LittleEndian32Size = 4;
-
- /// <summary>
- /// Computes the number of bytes that would be needed to encode a
- /// double field, including the tag.
- /// </summary>
- public static int ComputeDoubleSize(double value)
- {
- return LittleEndian64Size;
- }
-
- /// <summary>
- /// Computes the number of bytes that would be needed to encode a
- /// float field, including the tag.
- /// </summary>
- public static int ComputeFloatSize(float value)
- {
- return LittleEndian32Size;
- }
-
- /// <summary>
- /// Computes the number of bytes that would be needed to encode a
- /// uint64 field, including the tag.
- /// </summary>
- public static int ComputeUInt64Size(ulong value)
- {
- return ComputeRawVarint64Size(value);
- }
-
- /// <summary>
- /// Computes the number of bytes that would be needed to encode an
- /// int64 field, including the tag.
- /// </summary>
- public static int ComputeInt64Size(long value)
- {
- return ComputeRawVarint64Size((ulong) value);
- }
-
- /// <summary>
- /// Computes the number of bytes that would be needed to encode an
- /// int32 field, including the tag.
- /// </summary>
- public static int ComputeInt32Size(int value)
- {
- if (value >= 0)
- {
- return ComputeRawVarint32Size((uint) value);
- }
- else
- {
- // Must sign-extend.
- return 10;
- }
- }
-
- /// <summary>
- /// Computes the number of bytes that would be needed to encode a
- /// fixed64 field, including the tag.
- /// </summary>
- public static int ComputeFixed64Size(ulong value)
- {
- return LittleEndian64Size;
- }
-
- /// <summary>
- /// Computes the number of bytes that would be needed to encode a
- /// fixed32 field, including the tag.
- /// </summary>
- public static int ComputeFixed32Size(uint value)
- {
- return LittleEndian32Size;
- }
-
- /// <summary>
- /// Computes the number of bytes that would be needed to encode a
- /// bool field, including the tag.
- /// </summary>
- public static int ComputeBoolSize(bool value)
- {
- return 1;
- }
-
- /// <summary>
- /// Computes the number of bytes that would be needed to encode a
- /// string field, including the tag.
- /// </summary>
- public static int ComputeStringSize(String value)
- {
- int byteArraySize = Utf8Encoding.GetByteCount(value);
- return ComputeLengthSize(byteArraySize) + byteArraySize;
- }
-
- /// <summary>
- /// Computes the number of bytes that would be needed to encode a
- /// group field, including the tag.
- /// </summary>
- public static int ComputeGroupSize(IMessage value)
- {
- return value.CalculateSize();
- }
-
- /// <summary>
- /// Computes the number of bytes that would be needed to encode an
- /// embedded message field, including the tag.
- /// </summary>
- public static int ComputeMessageSize(IMessage value)
- {
- int size = value.CalculateSize();
- return ComputeLengthSize(size) + size;
- }
-
- /// <summary>
- /// Computes the number of bytes that would be needed to encode a
- /// bytes field, including the tag.
- /// </summary>
- public static int ComputeBytesSize(ByteString value)
- {
- return ComputeLengthSize(value.Length) + value.Length;
- }
-
- /// <summary>
- /// Computes the number of bytes that would be needed to encode a
- /// uint32 field, including the tag.
- /// </summary>
- public static int ComputeUInt32Size(uint value)
- {
- return ComputeRawVarint32Size(value);
- }
-
- /// <summary>
- /// Computes the number of bytes that would be needed to encode a
- /// enum field, including the tag. The caller is responsible for
- /// converting the enum value to its numeric value.
- /// </summary>
- public static int ComputeEnumSize(int value)
- {
- // Currently just a pass-through, but it's nice to separate it logically.
- return ComputeInt32Size(value);
- }
-
- /// <summary>
- /// Computes the number of bytes that would be needed to encode an
- /// sfixed32 field, including the tag.
- /// </summary>
- public static int ComputeSFixed32Size(int value)
- {
- return LittleEndian32Size;
- }
-
- /// <summary>
- /// Computes the number of bytes that would be needed to encode an
- /// sfixed64 field, including the tag.
- /// </summary>
- public static int ComputeSFixed64Size(long value)
- {
- return LittleEndian64Size;
- }
-
- /// <summary>
- /// Computes the number of bytes that would be needed to encode an
- /// sint32 field, including the tag.
- /// </summary>
- public static int ComputeSInt32Size(int value)
- {
- return ComputeRawVarint32Size(EncodeZigZag32(value));
- }
-
- /// <summary>
- /// Computes the number of bytes that would be needed to encode an
- /// sint64 field, including the tag.
- /// </summary>
- public static int ComputeSInt64Size(long value)
- {
- return ComputeRawVarint64Size(EncodeZigZag64(value));
- }
-
- /// <summary>
- /// Computes the number of bytes that would be needed to encode a length,
- /// as written by <see cref="WriteLength"/>.
- /// </summary>
- public static int ComputeLengthSize(int length)
- {
- return ComputeRawVarint32Size((uint) length);
- }
-
- /// <summary>
- /// Computes the number of bytes that would be needed to encode a varint.
- /// </summary>
- public static int ComputeRawVarint32Size(uint value)
- {
- if ((value & (0xffffffff << 7)) == 0)
- {
- return 1;
- }
- if ((value & (0xffffffff << 14)) == 0)
- {
- return 2;
- }
- if ((value & (0xffffffff << 21)) == 0)
- {
- return 3;
- }
- if ((value & (0xffffffff << 28)) == 0)
- {
- return 4;
- }
- return 5;
- }
-
- /// <summary>
- /// Computes the number of bytes that would be needed to encode a varint.
- /// </summary>
- public static int ComputeRawVarint64Size(ulong value)
- {
- if ((value & (0xffffffffffffffffL << 7)) == 0)
- {
- return 1;
- }
- if ((value & (0xffffffffffffffffL << 14)) == 0)
- {
- return 2;
- }
- if ((value & (0xffffffffffffffffL << 21)) == 0)
- {
- return 3;
- }
- if ((value & (0xffffffffffffffffL << 28)) == 0)
- {
- return 4;
- }
- if ((value & (0xffffffffffffffffL << 35)) == 0)
- {
- return 5;
- }
- if ((value & (0xffffffffffffffffL << 42)) == 0)
- {
- return 6;
- }
- if ((value & (0xffffffffffffffffL << 49)) == 0)
- {
- return 7;
- }
- if ((value & (0xffffffffffffffffL << 56)) == 0)
- {
- return 8;
- }
- if ((value & (0xffffffffffffffffL << 63)) == 0)
- {
- return 9;
- }
- return 10;
- }
-
- /// <summary>
- /// Computes the number of bytes that would be needed to encode a tag.
- /// </summary>
- public static int ComputeTagSize(int fieldNumber)
- {
- return ComputeRawVarint32Size(WireFormat.MakeTag(fieldNumber, 0));
- }
- }
-} \ No newline at end of file
diff --git a/csharp/src/ProtocolBuffers/CodedOutputStream.cs b/csharp/src/ProtocolBuffers/CodedOutputStream.cs
deleted file mode 100644
index b91d6d70..00000000
--- a/csharp/src/ProtocolBuffers/CodedOutputStream.cs
+++ /dev/null
@@ -1,705 +0,0 @@
-#region Copyright notice and license
-// Protocol Buffers - Google's data interchange format
-// Copyright 2008 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
-// 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.
-#endregion
-
-using System;
-using System.IO;
-using System.Text;
-
-namespace Google.Protobuf
-{
- /// <summary>
- /// Encodes and writes protocol message fields.
- /// </summary>
- /// <remarks>
- /// This class contains two kinds of methods: methods that write specific
- /// protocol message constructs and field types (e.g. WriteTag and
- /// WriteInt32) and methods that write low-level values (e.g.
- /// WriteRawVarint32 and WriteRawBytes). If you are writing encoded protocol
- /// messages, you should use the former methods, but if you are writing some
- /// other format of your own design, use the latter. The names of the former
- /// methods are taken from the protocol buffer type names, not .NET types.
- /// (Hence WriteFloat instead of WriteSingle, and WriteBool instead of WriteBoolean.)
- /// </remarks>
- public sealed partial class CodedOutputStream
- {
- // "Local" copy of Encoding.UTF8, for efficiency. (Yes, it makes a difference.)
- internal static readonly Encoding Utf8Encoding = Encoding.UTF8;
-
- /// <summary>
- /// The buffer size used by CreateInstance(Stream).
- /// </summary>
- public static readonly int DefaultBufferSize = 4096;
-
- private readonly byte[] buffer;
- private readonly int limit;
- private int position;
- private readonly Stream output;
-
- #region Construction
-
- private CodedOutputStream(byte[] buffer, int offset, int length)
- {
- this.output = null;
- this.buffer = buffer;
- this.position = offset;
- this.limit = offset + length;
- }
-
- private CodedOutputStream(Stream output, byte[] buffer)
- {
- this.output = output;
- this.buffer = buffer;
- this.position = 0;
- this.limit = buffer.Length;
- }
-
- /// <summary>
- /// Creates a new CodedOutputStream which write to the given stream.
- /// </summary>
- public static CodedOutputStream CreateInstance(Stream output)
- {
- return CreateInstance(output, DefaultBufferSize);
- }
-
- /// <summary>
- /// Creates a new CodedOutputStream which write to the given stream and uses
- /// the specified buffer size.
- /// </summary>
- public static CodedOutputStream CreateInstance(Stream output, int bufferSize)
- {
- return new CodedOutputStream(output, new byte[bufferSize]);
- }
-
- /// <summary>
- /// Creates a new CodedOutputStream that writes directly to the given
- /// byte array. If more bytes are written than fit in the array,
- /// OutOfSpaceException will be thrown.
- /// </summary>
- public static CodedOutputStream CreateInstance(byte[] flatArray)
- {
- return CreateInstance(flatArray, 0, flatArray.Length);
- }
-
- /// <summary>
- /// Creates a new CodedOutputStream that writes directly to the given
- /// byte array slice. If more bytes are written than fit in the array,
- /// OutOfSpaceException will be thrown.
- /// </summary>
- public static CodedOutputStream CreateInstance(byte[] flatArray, int offset, int length)
- {
- return new CodedOutputStream(flatArray, offset, length);
- }
-
- #endregion
-
- /// <summary>
- /// Returns the current position in the stream, or the position in the output buffer
- /// </summary>
- public long Position
- {
- get
- {
- if (output != null)
- {
- return output.Position + position;
- }
- return position;
- }
- }
-
- #region Writing of values (not including tags)
-
- /// <summary>
- /// Writes a double field value, without a tag, to the stream.
- /// </summary>
- /// <param name="value">The value to write</param>
- public void WriteDouble(double value)
- {
- WriteRawLittleEndian64((ulong)BitConverter.DoubleToInt64Bits(value));
- }
-
- /// <summary>
- /// Writes a float field value, without a tag, to the stream.
- /// </summary>
- /// <param name="value">The value to write</param>
- public void WriteFloat(float value)
- {
- byte[] rawBytes = BitConverter.GetBytes(value);
- if (!BitConverter.IsLittleEndian)
- {
- ByteArray.Reverse(rawBytes);
- }
-
- if (limit - position >= 4)
- {
- buffer[position++] = rawBytes[0];
- buffer[position++] = rawBytes[1];
- buffer[position++] = rawBytes[2];
- buffer[position++] = rawBytes[3];
- }
- else
- {
- WriteRawBytes(rawBytes, 0, 4);
- }
- }
-
- /// <summary>
- /// Writes a uint64 field value, without a tag, to the stream.
- /// </summary>
- /// <param name="value">The value to write</param>
- public void WriteUInt64(ulong value)
- {
- WriteRawVarint64(value);
- }
-
- /// <summary>
- /// Writes an int64 field value, without a tag, to the stream.
- /// </summary>
- /// <param name="value">The value to write</param>
- public void WriteInt64(long value)
- {
- WriteRawVarint64((ulong) value);
- }
-
- /// <summary>
- /// Writes an int32 field value, without a tag, to the stream.
- /// </summary>
- /// <param name="value">The value to write</param>
- public void WriteInt32(int value)
- {
- if (value >= 0)
- {
- WriteRawVarint32((uint) value);
- }
- else
- {
- // Must sign-extend.
- WriteRawVarint64((ulong) value);
- }
- }
-
- /// <summary>
- /// Writes a fixed64 field value, without a tag, to the stream.
- /// </summary>
- /// <param name="value">The value to write</param>
- public void WriteFixed64(ulong value)
- {
- WriteRawLittleEndian64(value);
- }
-
- /// <summary>
- /// Writes a fixed32 field value, without a tag, to the stream.
- /// </summary>
- /// <param name="value">The value to write</param>
- public void WriteFixed32(uint value)
- {
- WriteRawLittleEndian32(value);
- }
-
- /// <summary>
- /// Writes a bool field value, without a tag, to the stream.
- /// </summary>
- /// <param name="value">The value to write</param>
- public void WriteBool(bool value)
- {
- WriteRawByte(value ? (byte) 1 : (byte) 0);
- }
-
- /// <summary>
- /// Writes a string field value, without a tag, to the stream.
- /// The data is length-prefixed.
- /// </summary>
- /// <param name="value">The value to write</param>
- public void WriteString(string value)
- {
- // Optimise the case where we have enough space to write
- // the string directly to the buffer, which should be common.
- int length = Utf8Encoding.GetByteCount(value);
- WriteLength(length);
- if (limit - position >= length)
- {
- if (length == value.Length) // Must be all ASCII...
- {
- for (int i = 0; i < length; i++)
- {
- buffer[position + i] = (byte)value[i];
- }
- }
- else
- {
- Utf8Encoding.GetBytes(value, 0, value.Length, buffer, position);
- }
- position += length;
- }
- else
- {
- byte[] bytes = Utf8Encoding.GetBytes(value);
- WriteRawBytes(bytes);
- }
- }
-
- /// <summary>
- /// Writes a message, without a tag, to the stream.
- /// The data is length-prefixed.
- /// </summary>
- /// <param name="value">The value to write</param>
- public void WriteMessage(IMessage value)
- {
- WriteLength(value.CalculateSize());
- value.WriteTo(this);
- }
-
- /// <summary>
- /// Write a byte string, without a tag, to the stream.
- /// The data is length-prefixed.
- /// </summary>
- /// <param name="value">The value to write</param>
- public void WriteBytes(ByteString value)
- {
- WriteLength(value.Length);
- value.WriteRawBytesTo(this);
- }
-
- /// <summary>
- /// Writes a uint32 value, without a tag, to the stream.
- /// </summary>
- /// <param name="value">The value to write</param>
- public void WriteUInt32(uint value)
- {
- WriteRawVarint32(value);
- }
-
- /// <summary>
- /// Writes an enum value, without a tag, to the stream.
- /// </summary>
- /// <param name="value">The value to write</param>
- public void WriteEnum(int value)
- {
- WriteInt32(value);
- }
-
- public void WriteSFixed32(int value)
- {
- WriteRawLittleEndian32((uint) value);
- }
-
- /// <summary>
- /// Writes an sfixed64 value, without a tag, to the stream.
- /// </summary>
- /// <param name="value">The value to write</param>
- public void WriteSFixed64(long value)
- {
- WriteRawLittleEndian64((ulong) value);
- }
-
- /// <summary>
- /// Writes an sint32 value, without a tag, to the stream.
- /// </summary>
- /// <param name="value">The value to write</param>
- public void WriteSInt32(int value)
- {
- WriteRawVarint32(EncodeZigZag32(value));
- }
-
- /// <summary>
- /// Writes an sint64 value, without a tag, to the stream.
- /// </summary>
- /// <param name="value">The value to write</param>
- public void WriteSInt64(long value)
- {
- WriteRawVarint64(EncodeZigZag64(value));
- }
-
- /// <summary>
- /// Writes a length (in bytes) for length-delimited data.
- /// </summary>
- /// <remarks>
- /// This method simply writes a rawint, but exists for clarity in calling code.
- /// </remarks>
- /// <param name="length">Length value, in bytes.</param>
- public void WriteLength(int length)
- {
- WriteRawVarint32((uint) length);
- }
-
- #endregion
-
- #region Raw tag writing
- /// <summary>
- /// Encodes and writes a tag.
- /// </summary>
- /// <param name="fieldNumber">The number of the field to write the tag for</param>
- /// <param name="type">The wire format type of the tag to write</param>
- public void WriteTag(int fieldNumber, WireFormat.WireType type)
- {
- WriteRawVarint32(WireFormat.MakeTag(fieldNumber, type));
- }
-
- /// <summary>
- /// Writes an already-encoded tag.
- /// </summary>
- /// <param name="tag">The encoded tag</param>
- public void WriteTag(uint tag)
- {
- WriteRawVarint32(tag);
- }
-
- /// <summary>
- /// Writes the given single-byte tag directly to the stream.
- /// </summary>
- /// <param name="b1">The encoded tag</param>
- public void WriteRawTag(byte b1)
- {
- WriteRawByte(b1);
- }
-
- /// <summary>
- /// Writes the given two-byte tag directly to the stream.
- /// </summary>
- /// <param name="b1">The first byte of the encoded tag</param>
- /// <param name="b2">The second byte of the encoded tag</param>
- public void WriteRawTag(byte b1, byte b2)
- {
- WriteRawByte(b1);
- WriteRawByte(b2);
- }
-
- /// <summary>
- /// Writes the given three-byte tag directly to the stream.
- /// </summary>
- /// <param name="b1">The first byte of the encoded tag</param>
- /// <param name="b2">The second byte of the encoded tag</param>
- /// <param name="b3">The third byte of the encoded tag</param>
- public void WriteRawTag(byte b1, byte b2, byte b3)
- {
- WriteRawByte(b1);
- WriteRawByte(b2);
- WriteRawByte(b3);
- }
-
- /// <summary>
- /// Writes the given four-byte tag directly to the stream.
- /// </summary>
- /// <param name="b1">The first byte of the encoded tag</param>
- /// <param name="b2">The second byte of the encoded tag</param>
- /// <param name="b3">The third byte of the encoded tag</param>
- /// <param name="b4">The fourth byte of the encoded tag</param>
- public void WriteRawTag(byte b1, byte b2, byte b3, byte b4)
- {
- WriteRawByte(b1);
- WriteRawByte(b2);
- WriteRawByte(b3);
- WriteRawByte(b4);
- }
-
- /// <summary>
- /// Writes the given five-byte tag directly to the stream.
- /// </summary>
- /// <param name="b1">The first byte of the encoded tag</param>
- /// <param name="b2">The second byte of the encoded tag</param>
- /// <param name="b3">The third byte of the encoded tag</param>
- /// <param name="b4">The fourth byte of the encoded tag</param>
- /// <param name="b5">The fifth byte of the encoded tag</param>
- public void WriteRawTag(byte b1, byte b2, byte b3, byte b4, byte b5)
- {
- WriteRawByte(b1);
- WriteRawByte(b2);
- WriteRawByte(b3);
- WriteRawByte(b4);
- WriteRawByte(b5);
- }
- #endregion
-
- #region Underlying writing primitives
- /// <summary>
- /// Writes a 32 bit value as a varint. The fast route is taken when
- /// there's enough buffer space left to whizz through without checking
- /// for each byte; otherwise, we resort to calling WriteRawByte each time.
- /// </summary>
- internal void WriteRawVarint32(uint value)
- {
- // Optimize for the common case of a single byte value
- if (value < 128 && position < limit)
- {
- buffer[position++] = (byte)value;
- return;
- }
-
- while (value > 127 && position < limit)
- {
- buffer[position++] = (byte) ((value & 0x7F) | 0x80);
- value >>= 7;
- }
- while (value > 127)
- {
- WriteRawByte((byte) ((value & 0x7F) | 0x80));
- value >>= 7;
- }
- if (position < limit)
- {
- buffer[position++] = (byte) value;
- }
- else
- {
- WriteRawByte((byte) value);
- }
- }
-
- internal void WriteRawVarint64(ulong value)
- {
- while (value > 127 && position < limit)
- {
- buffer[position++] = (byte) ((value & 0x7F) | 0x80);
- value >>= 7;
- }
- while (value > 127)
- {
- WriteRawByte((byte) ((value & 0x7F) | 0x80));
- value >>= 7;
- }
- if (position < limit)
- {
- buffer[position++] = (byte) value;
- }
- else
- {
- WriteRawByte((byte) value);
- }
- }
-
- internal void WriteRawLittleEndian32(uint value)
- {
- if (position + 4 > limit)
- {
- WriteRawByte((byte) value);
- WriteRawByte((byte) (value >> 8));
- WriteRawByte((byte) (value >> 16));
- WriteRawByte((byte) (value >> 24));
- }
- else
- {
- buffer[position++] = ((byte) value);
- buffer[position++] = ((byte) (value >> 8));
- buffer[position++] = ((byte) (value >> 16));
- buffer[position++] = ((byte) (value >> 24));
- }
- }
-
- internal void WriteRawLittleEndian64(ulong value)
- {
- if (position + 8 > limit)
- {
- WriteRawByte((byte) value);
- WriteRawByte((byte) (value >> 8));
- WriteRawByte((byte) (value >> 16));
- WriteRawByte((byte) (value >> 24));
- WriteRawByte((byte) (value >> 32));
- WriteRawByte((byte) (value >> 40));
- WriteRawByte((byte) (value >> 48));
- WriteRawByte((byte) (value >> 56));
- }
- else
- {
- buffer[position++] = ((byte) value);
- buffer[position++] = ((byte) (value >> 8));
- buffer[position++] = ((byte) (value >> 16));
- buffer[position++] = ((byte) (value >> 24));
- buffer[position++] = ((byte) (value >> 32));
- buffer[position++] = ((byte) (value >> 40));
- buffer[position++] = ((byte) (value >> 48));
- buffer[position++] = ((byte) (value >> 56));
- }
- }
-
- internal void WriteRawByte(byte value)
- {
- if (position == limit)
- {
- RefreshBuffer();
- }
-
- buffer[position++] = value;
- }
-
- internal void WriteRawByte(uint value)
- {
- WriteRawByte((byte) value);
- }
-
- /// <summary>
- /// Writes out an array of bytes.
- /// </summary>
- internal void WriteRawBytes(byte[] value)
- {
- WriteRawBytes(value, 0, value.Length);
- }
-
- /// <summary>
- /// Writes out part of an array of bytes.
- /// </summary>
- internal void WriteRawBytes(byte[] value, int offset, int length)
- {
- if (limit - position >= length)
- {
- ByteArray.Copy(value, offset, buffer, position, length);
- // We have room in the current buffer.
- position += length;
- }
- else
- {
- // Write extends past current buffer. Fill the rest of this buffer and
- // flush.
- int bytesWritten = limit - position;
- ByteArray.Copy(value, offset, buffer, position, bytesWritten);
- offset += bytesWritten;
- length -= bytesWritten;
- position = limit;
- RefreshBuffer();
-
- // Now deal with the rest.
- // Since we have an output stream, this is our buffer
- // and buffer offset == 0
- if (length <= limit)
- {
- // Fits in new buffer.
- ByteArray.Copy(value, offset, buffer, 0, length);
- position = length;
- }
- else
- {
- // Write is very big. Let's do it all at once.
- output.Write(value, offset, length);
- }
- }
- }
-
- #endregion
-
- /// <summary>
- /// Encode a 32-bit value with ZigZag encoding.
- /// </summary>
- /// <remarks>
- /// ZigZag encodes signed integers into values that can be efficiently
- /// encoded with varint. (Otherwise, negative values must be
- /// sign-extended to 64 bits to be varint encoded, thus always taking
- /// 10 bytes on the wire.)
- /// </remarks>
- internal static uint EncodeZigZag32(int n)
- {
- // Note: the right-shift must be arithmetic
- return (uint) ((n << 1) ^ (n >> 31));
- }
-
- /// <summary>
- /// Encode a 64-bit value with ZigZag encoding.
- /// </summary>
- /// <remarks>
- /// ZigZag encodes signed integers into values that can be efficiently
- /// encoded with varint. (Otherwise, negative values must be
- /// sign-extended to 64 bits to be varint encoded, thus always taking
- /// 10 bytes on the wire.)
- /// </remarks>
- internal static ulong EncodeZigZag64(long n)
- {
- return (ulong) ((n << 1) ^ (n >> 63));
- }
-
- private void RefreshBuffer()
- {
- if (output == null)
- {
- // We're writing to a single buffer.
- throw new OutOfSpaceException();
- }
-
- // Since we have an output stream, this is our buffer
- // and buffer offset == 0
- output.Write(buffer, 0, position);
- position = 0;
- }
-
- /// <summary>
- /// Indicates that a CodedOutputStream wrapping a flat byte array
- /// ran out of space.
- /// </summary>
- public sealed class OutOfSpaceException : IOException
- {
- internal OutOfSpaceException()
- : base("CodedOutputStream was writing to a flat byte array and ran out of space.")
- {
- }
- }
-
- public void Flush()
- {
- if (output != null)
- {
- RefreshBuffer();
- }
- }
-
- /// <summary>
- /// Verifies that SpaceLeft returns zero. It's common to create a byte array
- /// that is exactly big enough to hold a message, then write to it with
- /// a CodedOutputStream. Calling CheckNoSpaceLeft after writing verifies that
- /// the message was actually as big as expected, which can help bugs.
- /// </summary>
- public void CheckNoSpaceLeft()
- {
- if (SpaceLeft != 0)
- {
- throw new InvalidOperationException("Did not write as much data as expected.");
- }
- }
-
- /// <summary>
- /// If writing to a flat array, returns the space left in the array. Otherwise,
- /// throws an InvalidOperationException.
- /// </summary>
- public int SpaceLeft
- {
- get
- {
- if (output == null)
- {
- return limit - position;
- }
- else
- {
- throw new InvalidOperationException(
- "SpaceLeft can only be called on CodedOutputStreams that are " +
- "writing to a flat array.");
- }
- }
- }
- }
-} \ No newline at end of file
diff --git a/csharp/src/ProtocolBuffers/Collections/MapField.cs b/csharp/src/ProtocolBuffers/Collections/MapField.cs
deleted file mode 100644
index f5e4fd3a..00000000
--- a/csharp/src/ProtocolBuffers/Collections/MapField.cs
+++ /dev/null
@@ -1,565 +0,0 @@
-#region Copyright notice and license
-// Protocol Buffers - Google's data interchange format
-// 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
-// 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.
-#endregion
-
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using System.Linq;
-
-namespace Google.Protobuf.Collections
-{
- /// <summary>
- /// Representation of a map field in a Protocol Buffer message.
- /// </summary>
- /// <remarks>
- /// This implementation preserves insertion order for simplicity of testing
- /// code using maps fields. Overwriting an existing entry does not change the
- /// position of that entry within the map. Equality is not order-sensitive.
- /// For string keys, the equality comparison is provided by <see cref="StringComparer.Ordinal"/>.
- /// </remarks>
- /// <typeparam name="TKey">Key type in the map. Must be a type supported by Protocol Buffer map keys.</typeparam>
- /// <typeparam name="TValue">Value type in the map. Must be a type supported by Protocol Buffers.</typeparam>
- public sealed class MapField<TKey, TValue> : IDeepCloneable<MapField<TKey, TValue>>, IFreezable, IDictionary<TKey, TValue>, IEquatable<MapField<TKey, TValue>>, IDictionary
- {
- // TODO: Don't create the map/list until we have an entry. (Assume many maps will be empty.)
- private readonly bool allowNullValues;
- private bool frozen;
- private readonly Dictionary<TKey, LinkedListNode<KeyValuePair<TKey, TValue>>> map =
- new Dictionary<TKey, LinkedListNode<KeyValuePair<TKey, TValue>>>();
- private readonly LinkedList<KeyValuePair<TKey, TValue>> list = new LinkedList<KeyValuePair<TKey, TValue>>();
-
- /// <summary>
- /// Constructs a new map field, defaulting the value nullability to only allow null values for message types
- /// and non-nullable value types.
- /// </summary>
- public MapField() : this(typeof(IMessage).IsAssignableFrom(typeof(TValue)) || Nullable.GetUnderlyingType(typeof(TValue)) != null)
- {
- }
-
- /// <summary>
- /// Constructs a new map field, overriding the choice of whether null values are permitted in the map.
- /// This is used by wrapper types, where maps with string and bytes wrappers as the value types
- /// support null values.
- /// </summary>
- /// <param name="allowNullValues">Whether null values are permitted in the map or not.</param>
- public MapField(bool allowNullValues)
- {
- if (allowNullValues && typeof(TValue).IsValueType && Nullable.GetUnderlyingType(typeof(TValue)) == null)
- {
- throw new ArgumentException("allowNullValues", "Non-nullable value types do not support null values");
- }
- this.allowNullValues = allowNullValues;
- }
-
- public MapField<TKey, TValue> Clone()
- {
- var clone = new MapField<TKey, TValue>(allowNullValues);
- // Keys are never cloneable. Values might be.
- if (typeof(IDeepCloneable<TValue>).IsAssignableFrom(typeof(TValue)))
- {
- foreach (var pair in list)
- {
- clone.Add(pair.Key, pair.Value == null ? pair.Value : ((IDeepCloneable<TValue>)pair.Value).Clone());
- }
- }
- else
- {
- // Nothing is cloneable, so we don't need to worry.
- clone.Add(this);
- }
- return clone;
- }
-
- public void Add(TKey key, TValue value)
- {
- // Validation of arguments happens in ContainsKey and the indexer
- if (ContainsKey(key))
- {
- throw new ArgumentException("Key already exists in map", "key");
- }
- this[key] = value;
- }
-
- public bool ContainsKey(TKey key)
- {
- ThrowHelper.ThrowIfNull(key, "key");
- return map.ContainsKey(key);
- }
-
- public bool Remove(TKey key)
- {
- this.CheckMutable();
- ThrowHelper.ThrowIfNull(key, "key");
- LinkedListNode<KeyValuePair<TKey, TValue>> node;
- if (map.TryGetValue(key, out node))
- {
- map.Remove(key);
- node.List.Remove(node);
- return true;
- }
- else
- {
- return false;
- }
- }
-
- public bool TryGetValue(TKey key, out TValue value)
- {
- LinkedListNode<KeyValuePair<TKey, TValue>> node;
- if (map.TryGetValue(key, out node))
- {
- value = node.Value.Value;
- return true;
- }
- else
- {
- value = default(TValue);
- return false;
- }
- }
-
- public TValue this[TKey key]
- {
- get
- {
- ThrowHelper.ThrowIfNull(key, "key");
- TValue value;
- if (TryGetValue(key, out value))
- {
- return value;
- }
- throw new KeyNotFoundException();
- }
- set
- {
- ThrowHelper.ThrowIfNull(key, "key");
- // value == null check here is redundant, but avoids boxing.
- if (value == null && !allowNullValues)
- {
- ThrowHelper.ThrowIfNull(value, "value");
- }
- this.CheckMutable();
- LinkedListNode<KeyValuePair<TKey, TValue>> node;
- var pair = new KeyValuePair<TKey, TValue>(key, value);
- if (map.TryGetValue(key, out node))
- {
- node.Value = pair;
- }
- else
- {
- node = list.AddLast(pair);
- map[key] = node;
- }
- }
- }
-
- // TODO: Make these views?
- public ICollection<TKey> Keys { get { return list.Select(t => t.Key).ToList(); } }
- public ICollection<TValue> Values { get { return list.Select(t => t.Value).ToList(); } }
-
- public void Add(IDictionary<TKey, TValue> entries)
- {
- ThrowHelper.ThrowIfNull(entries, "entries");
- foreach (var pair in entries)
- {
- Add(pair.Key, pair.Value);
- }
- }
-
- public IEnumerator<KeyValuePair<TKey, TValue>> GetEnumerator()
- {
- return list.GetEnumerator();
- }
-
- IEnumerator IEnumerable.GetEnumerator()
- {
- return GetEnumerator();
- }
-
- void ICollection<KeyValuePair<TKey, TValue>>.Add(KeyValuePair<TKey, TValue> item)
- {
- Add(item.Key, item.Value);
- }
-
- public void Clear()
- {
- this.CheckMutable();
- list.Clear();
- map.Clear();
- }
-
- bool ICollection<KeyValuePair<TKey, TValue>>.Contains(KeyValuePair<TKey, TValue> item)
- {
- TValue value;
- return TryGetValue(item.Key, out value)
- && EqualityComparer<TValue>.Default.Equals(item.Value, value);
- }
-
- void ICollection<KeyValuePair<TKey, TValue>>.CopyTo(KeyValuePair<TKey, TValue>[] array, int arrayIndex)
- {
- list.CopyTo(array, arrayIndex);
- }
-
- bool ICollection<KeyValuePair<TKey, TValue>>.Remove(KeyValuePair<TKey, TValue> item)
- {
- this.CheckMutable();
- if (item.Key == null)
- {
- throw new ArgumentException("Key is null", "item");
- }
- LinkedListNode<KeyValuePair<TKey, TValue>> node;
- if (map.TryGetValue(item.Key, out node) &&
- EqualityComparer<TValue>.Default.Equals(item.Value, node.Value.Value))
- {
- map.Remove(item.Key);
- node.List.Remove(node);
- return true;
- }
- else
- {
- return false;
- }
- }
-
- /// <summary>
- /// Returns whether or not this map allows values to be null.
- /// </summary>
- public bool AllowsNullValues { get { return allowNullValues; } }
-
- public int Count { get { return list.Count; } }
- public bool IsReadOnly { get { return frozen; } }
-
- public void Freeze()
- {
- if (IsFrozen)
- {
- return;
- }
- frozen = true;
- // Only values can be frozen, as all the key types are simple.
- // Everything can be done in-place, as we're just freezing objects.
- if (typeof(IFreezable).IsAssignableFrom(typeof(TValue)))
- {
- for (var node = list.First; node != null; node = node.Next)
- {
- var pair = node.Value;
- IFreezable freezableValue = pair.Value as IFreezable;
- if (freezableValue != null)
- {
- freezableValue.Freeze();
- }
- }
- }
- }
-
- public bool IsFrozen { get { return frozen; } }
-
- public override bool Equals(object other)
- {
- return Equals(other as MapField<TKey, TValue>);
- }
-
- public override int GetHashCode()
- {
- var valueComparer = EqualityComparer<TValue>.Default;
- int hash = 0;
- foreach (var pair in list)
- {
- hash ^= pair.Key.GetHashCode() * 31 + valueComparer.GetHashCode(pair.Value);
- }
- return hash;
- }
-
- public bool Equals(MapField<TKey, TValue> other)
- {
- if (other == null)
- {
- return false;
- }
- if (other == this)
- {
- return true;
- }
- if (other.Count != this.Count)
- {
- return false;
- }
- var valueComparer = EqualityComparer<TValue>.Default;
- foreach (var pair in this)
- {
- TValue value;
- if (!other.TryGetValue(pair.Key, out value))
- {
- return false;
- }
- if (!valueComparer.Equals(value, pair.Value))
- {
- return false;
- }
- }
- return true;
- }
-
- /// <summary>
- /// Adds entries to the map from the given stream.
- /// </summary>
- /// <remarks>
- /// It is assumed that the stream is initially positioned after the tag specified by the codec.
- /// This method will continue reading entries from the stream until the end is reached, or
- /// a different tag is encountered.
- /// </remarks>
- /// <param name="input">Stream to read from</param>
- /// <param name="codec">Codec describing how the key/value pairs are encoded</param>
- public void AddEntriesFrom(CodedInputStream input, Codec codec)
- {
- var adapter = new Codec.MessageAdapter(codec);
- do
- {
- adapter.Reset();
- input.ReadMessage(adapter);
- this[adapter.Key] = adapter.Value;
- } while (input.MaybeConsumeTag(codec.MapTag));
- }
-
- public void WriteTo(CodedOutputStream output, Codec codec)
- {
- var message = new Codec.MessageAdapter(codec);
- foreach (var entry in list)
- {
- message.Key = entry.Key;
- message.Value = entry.Value;
- output.WriteTag(codec.MapTag);
- output.WriteMessage(message);
- }
- }
-
- public int CalculateSize(Codec codec)
- {
- if (Count == 0)
- {
- return 0;
- }
- var message = new Codec.MessageAdapter(codec);
- int size = 0;
- foreach (var entry in list)
- {
- message.Key = entry.Key;
- message.Value = entry.Value;
- size += CodedOutputStream.ComputeRawVarint32Size(codec.MapTag);
- size += CodedOutputStream.ComputeMessageSize(message);
- }
- return size;
- }
-
- #region IDictionary explicit interface implementation
- void IDictionary.Add(object key, object value)
- {
- Add((TKey)key, (TValue)value);
- }
-
- bool IDictionary.Contains(object key)
- {
- if (!(key is TKey))
- {
- return false;
- }
- return ContainsKey((TKey)key);
- }
-
- IDictionaryEnumerator IDictionary.GetEnumerator()
- {
- return new DictionaryEnumerator(GetEnumerator());
- }
-
- void IDictionary.Remove(object key)
- {
- ThrowHelper.ThrowIfNull(key, "key");
- this.CheckMutable();
- if (!(key is TKey))
- {
- return;
- }
- Remove((TKey)key);
- }
-
- void ICollection.CopyTo(Array array, int index)
- {
- // This is ugly and slow as heck, but with any luck it will never be used anyway.
- ICollection temp = this.Select(pair => new DictionaryEntry(pair.Key, pair.Value)).ToList();
- temp.CopyTo(array, index);
- }
-
- bool IDictionary.IsFixedSize { get { return IsFrozen; } }
-
- ICollection IDictionary.Keys { get { return (ICollection)Keys; } }
-
- ICollection IDictionary.Values { get { return (ICollection)Values; } }
-
- bool ICollection.IsSynchronized { get { return false; } }
-
- object ICollection.SyncRoot { get { return this; } }
-
- object IDictionary.this[object key]
- {
- get
- {
- ThrowHelper.ThrowIfNull(key, "key");
- if (!(key is TKey))
- {
- return null;
- }
- TValue value;
- TryGetValue((TKey)key, out value);
- return value;
- }
-
- set
- {
- if (frozen)
- {
- throw new NotSupportedException("Dictionary is frozen");
- }
- this[(TKey)key] = (TValue)value;
- }
- }
- #endregion
-
- private class DictionaryEnumerator : IDictionaryEnumerator
- {
- private readonly IEnumerator<KeyValuePair<TKey, TValue>> enumerator;
-
- internal DictionaryEnumerator(IEnumerator<KeyValuePair<TKey, TValue>> enumerator)
- {
- this.enumerator = enumerator;
- }
-
- public bool MoveNext()
- {
- return enumerator.MoveNext();
- }
-
- public void Reset()
- {
- enumerator.Reset();
- }
-
- public object Current { get { return Entry; } }
- public DictionaryEntry Entry { get { return new DictionaryEntry(Key, Value); } }
- public object Key { get { return enumerator.Current.Key; } }
- public object Value { get { return enumerator.Current.Value; } }
- }
-
- /// <summary>
- /// A codec for a specific map field. This contains all the information required to encoded and
- /// decode the nested messages.
- /// </summary>
- public sealed class Codec
- {
- private readonly FieldCodec<TKey> keyCodec;
- private readonly FieldCodec<TValue> valueCodec;
- private readonly uint mapTag;
-
- public Codec(FieldCodec<TKey> keyCodec, FieldCodec<TValue> valueCodec, uint mapTag)
- {
- this.keyCodec = keyCodec;
- this.valueCodec = valueCodec;
- this.mapTag = mapTag;
- }
-
- /// <summary>
- /// The tag used in the enclosing message to indicate map entries.
- /// </summary>
- internal uint MapTag { get { return mapTag; } }
-
- /// <summary>
- /// A mutable message class, used for parsing and serializing. This
- /// delegates the work to a codec, but implements the <see cref="IMessage"/> interface
- /// for interop with <see cref="CodedInputStream"/> and <see cref="CodedOutputStream"/>.
- /// This is nested inside Codec as it's tightly coupled to the associated codec,
- /// and it's simpler if it has direct access to all its fields.
- /// </summary>
- internal class MessageAdapter : IMessage
- {
- private readonly Codec codec;
- internal TKey Key { get; set; }
- internal TValue Value { get; set; }
-
- internal MessageAdapter(Codec codec)
- {
- this.codec = codec;
- }
-
- internal void Reset()
- {
- Key = codec.keyCodec.DefaultValue;
- Value = codec.valueCodec.DefaultValue;
- }
-
- public void MergeFrom(CodedInputStream input)
- {
- uint tag;
- while (input.ReadTag(out tag))
- {
- if (tag == 0)
- {
- throw InvalidProtocolBufferException.InvalidTag();
- }
- if (tag == codec.keyCodec.Tag)
- {
- Key = codec.keyCodec.Read(input);
- }
- else if (tag == codec.valueCodec.Tag)
- {
- Value = codec.valueCodec.Read(input);
- }
- else if (WireFormat.IsEndGroupTag(tag))
- {
- // TODO(jonskeet): Do we need this? (Given that we don't support groups...)
- return;
- }
- }
- }
-
- public void WriteTo(CodedOutputStream output)
- {
- codec.keyCodec.WriteTagAndValue(output, Key);
- codec.valueCodec.WriteTagAndValue(output, Value);
- }
-
- public int CalculateSize()
- {
- return codec.keyCodec.CalculateSizeWithTag(Key) + codec.valueCodec.CalculateSizeWithTag(Value);
- }
- }
- }
- }
-}
diff --git a/csharp/src/ProtocolBuffers/Collections/ReadOnlyDictionary.cs b/csharp/src/ProtocolBuffers/Collections/ReadOnlyDictionary.cs
deleted file mode 100644
index 84360667..00000000
--- a/csharp/src/ProtocolBuffers/Collections/ReadOnlyDictionary.cs
+++ /dev/null
@@ -1,147 +0,0 @@
-#region Copyright notice and license
-// Protocol Buffers - Google's data interchange format
-// Copyright 2008 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
-// 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.
-#endregion
-
-using System;
-using System.Collections;
-using System.Collections.Generic;
-
-namespace Google.Protobuf.Collections
-{
- /// <summary>
- /// Read-only wrapper around another dictionary.
- /// </summary>
- internal sealed class ReadOnlyDictionary<TKey, TValue> : IDictionary<TKey, TValue>
- {
- private readonly IDictionary<TKey, TValue> wrapped;
-
- public ReadOnlyDictionary(IDictionary<TKey, TValue> wrapped)
- {
- this.wrapped = wrapped;
- }
-
- public void Add(TKey key, TValue value)
- {
- throw new InvalidOperationException();
- }
-
- public bool ContainsKey(TKey key)
- {
- return wrapped.ContainsKey(key);
- }
-
- public ICollection<TKey> Keys
- {
- get { return wrapped.Keys; }
- }
-
- public bool Remove(TKey key)
- {
- throw new InvalidOperationException();
- }
-
- public bool TryGetValue(TKey key, out TValue value)
- {
- return wrapped.TryGetValue(key, out value);
- }
-
- public ICollection<TValue> Values
- {
- get { return wrapped.Values; }
- }
-
- public TValue this[TKey key]
- {
- get { return wrapped[key]; }
- set { throw new InvalidOperationException(); }
- }
-
- public void Add(KeyValuePair<TKey, TValue> item)
- {
- throw new InvalidOperationException();
- }
-
- public void Clear()
- {
- throw new InvalidOperationException();
- }
-
- public bool Contains(KeyValuePair<TKey, TValue> item)
- {
- return wrapped.Contains(item);
- }
-
- public void CopyTo(KeyValuePair<TKey, TValue>[] array, int arrayIndex)
- {
- wrapped.CopyTo(array, arrayIndex);
- }
-
- public int Count
- {
- get { return wrapped.Count; }
- }
-
- public bool IsReadOnly
- {
- get { return true; }
- }
-
- public bool Remove(KeyValuePair<TKey, TValue> item)
- {
- throw new InvalidOperationException();
- }
-
- public IEnumerator<KeyValuePair<TKey, TValue>> GetEnumerator()
- {
- return wrapped.GetEnumerator();
- }
-
- IEnumerator IEnumerable.GetEnumerator()
- {
- return ((IEnumerable) wrapped).GetEnumerator();
- }
-
- public override bool Equals(object obj)
- {
- return wrapped.Equals(obj);
- }
-
- public override int GetHashCode()
- {
- return wrapped.GetHashCode();
- }
-
- public override string ToString()
- {
- return wrapped.ToString();
- }
- }
-} \ No newline at end of file
diff --git a/csharp/src/ProtocolBuffers/Collections/RepeatedField.cs b/csharp/src/ProtocolBuffers/Collections/RepeatedField.cs
deleted file mode 100644
index 9bab41ea..00000000
--- a/csharp/src/ProtocolBuffers/Collections/RepeatedField.cs
+++ /dev/null
@@ -1,470 +0,0 @@
-#region Copyright notice and license
-// Protocol Buffers - Google's data interchange format
-// 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
-// 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.
-#endregion
-
-using System;
-using System.Collections;
-using System.Collections.Generic;
-
-namespace Google.Protobuf.Collections
-{
- /// <summary>
- /// The contents of a repeated field: essentially, a collection with some extra
- /// restrictions (no null values) and capabilities (deep cloning and freezing).
- /// </summary>
- /// <typeparam name="T">The element type of the repeated field.</typeparam>
- public sealed class RepeatedField<T> : IList<T>, IList, IDeepCloneable<RepeatedField<T>>, IEquatable<RepeatedField<T>>, IFreezable
- {
- private static readonly T[] EmptyArray = new T[0];
- private const int MinArraySize = 8;
-
- private bool frozen;
- private T[] array = EmptyArray;
- private int count = 0;
-
- /// <summary>
- /// Creates a deep clone of this repeated field.
- /// </summary>
- /// <remarks>
- /// If the field type is
- /// a message type, each element is also cloned; otherwise, it is
- /// assumed that the field type is primitive (including string and
- /// bytes, both of which are immutable) and so a simple copy is
- /// equivalent to a deep clone.
- /// </remarks>
- /// <returns>A deep clone of this repeated field.</returns>
- public RepeatedField<T> Clone()
- {
- RepeatedField<T> clone = new RepeatedField<T>();
- // Clone is implicitly *not* frozen, even if this object is.
- if (array != EmptyArray)
- {
- clone.array = (T[])array.Clone();
- IDeepCloneable<T>[] cloneableArray = clone.array as IDeepCloneable<T>[];
- if (cloneableArray != null)
- {
- for (int i = 0; i < count; i++)
- {
- clone.array[i] = cloneableArray[i].Clone();
- }
- }
- }
- clone.count = count;
- return clone;
- }
-
- public void AddEntriesFrom(CodedInputStream input, FieldCodec<T> codec)
- {
- // TODO: Inline some of the Add code, so we can avoid checking the size on every
- // iteration and the mutability.
- uint tag = input.LastTag;
- var reader = codec.ValueReader;
- // Value types can be packed or not.
- if (typeof(T).IsValueType && WireFormat.GetTagWireType(tag) == WireFormat.WireType.LengthDelimited)
- {
- int length = input.ReadLength();
- if (length > 0)
- {
- int oldLimit = input.PushLimit(length);
- while (!input.ReachedLimit)
- {
- Add(reader(input));
- }
- input.PopLimit(oldLimit);
- }
- // Empty packed field. Odd, but valid - just ignore.
- }
- else
- {
- // Not packed... (possibly not packable)
- do
- {
- Add(reader(input));
- } while (input.MaybeConsumeTag(tag));
- }
- }
-
- public int CalculateSize(FieldCodec<T> codec)
- {
- if (count == 0)
- {
- return 0;
- }
- uint tag = codec.Tag;
- if (typeof(T).IsValueType && WireFormat.GetTagWireType(tag) == WireFormat.WireType.LengthDelimited)
- {
- int dataSize = CalculatePackedDataSize(codec);
- return CodedOutputStream.ComputeRawVarint32Size(tag) +
- CodedOutputStream.ComputeLengthSize(dataSize) +
- dataSize;
- }
- else
- {
- var sizeCalculator = codec.ValueSizeCalculator;
- int size = count * CodedOutputStream.ComputeRawVarint32Size(tag);
- for (int i = 0; i < count; i++)
- {
- size += sizeCalculator(array[i]);
- }
- return size;
- }
- }
-
- private int CalculatePackedDataSize(FieldCodec<T> codec)
- {
- int fixedSize = codec.FixedSize;
- if (fixedSize == 0)
- {
- var calculator = codec.ValueSizeCalculator;
- int tmp = 0;
- for (int i = 0; i < count; i++)
- {
- tmp += calculator(array[i]);
- }
- return tmp;
- }
- else
- {
- return fixedSize * Count;
- }
- }
-
- public void WriteTo(CodedOutputStream output, FieldCodec<T> codec)
- {
- if (count == 0)
- {
- return;
- }
- var writer = codec.ValueWriter;
- var tag = codec.Tag;
- if (typeof(T).IsValueType && WireFormat.GetTagWireType(tag) == WireFormat.WireType.LengthDelimited)
- {
- // Packed primitive type
- uint size = (uint)CalculatePackedDataSize(codec);
- output.WriteTag(tag);
- output.WriteRawVarint32(size);
- for (int i = 0; i < count; i++)
- {
- writer(output, array[i]);
- }
- }
- else
- {
- // Not packed: a simple tag/value pair for each value.
- // Can't use codec.WriteTagAndValue, as that omits default values.
- for (int i = 0; i < count; i++)
- {
- output.WriteTag(tag);
- writer(output, array[i]);
- }
- }
- }
-
- public bool IsFrozen { get { return frozen; } }
-
- public void Freeze()
- {
- frozen = true;
- IFreezable[] freezableArray = array as IFreezable[];
- if (freezableArray != null)
- {
- for (int i = 0; i < count; i++)
- {
- freezableArray[i].Freeze();
- }
- }
- }
-
- private void EnsureSize(int size)
- {
- if (array.Length < size)
- {
- size = Math.Max(size, MinArraySize);
- int newSize = Math.Max(array.Length * 2, size);
- var tmp = new T[newSize];
- Array.Copy(array, 0, tmp, 0, array.Length);
- array = tmp;
- }
- }
-
- public void Add(T item)
- {
- if (item == null)
- {
- throw new ArgumentNullException("item");
- }
- this.CheckMutable();
- EnsureSize(count + 1);
- array[count++] = item;
- }
-
- public void Clear()
- {
- this.CheckMutable();
- array = EmptyArray;
- count = 0;
- }
-
- public bool Contains(T item)
- {
- return IndexOf(item) != -1;
- }
-
- public void CopyTo(T[] array, int arrayIndex)
- {
- Array.Copy(this.array, 0, array, arrayIndex, count);
- }
-
- public bool Remove(T item)
- {
- this.CheckMutable();
- int index = IndexOf(item);
- if (index == -1)
- {
- return false;
- }
- Array.Copy(array, index + 1, array, index, count - index - 1);
- count--;
- array[count] = default(T);
- return true;
- }
-
- public int Count { get { return count; } }
-
- public bool IsReadOnly { get { return IsFrozen; } }
-
- public void Add(RepeatedField<T> values)
- {
- if (values == null)
- {
- throw new ArgumentNullException("values");
- }
- this.CheckMutable();
- EnsureSize(count + values.count);
- // We know that all the values will be valid, because it's a RepeatedField.
- Array.Copy(values.array, 0, array, count, values.count);
- count += values.count;
- }
-
- public void Add(IEnumerable<T> values)
- {
- if (values == null)
- {
- throw new ArgumentNullException("values");
- }
- this.CheckMutable();
- // TODO: Check for ICollection and get the Count?
- foreach (T item in values)
- {
- Add(item);
- }
- }
-
- public IEnumerator<T> GetEnumerator()
- {
- for (int i = 0; i < count; i++)
- {
- yield return array[i];
- }
- }
-
- public override bool Equals(object obj)
- {
- return Equals(obj as RepeatedField<T>);
- }
-
- IEnumerator IEnumerable.GetEnumerator()
- {
- return GetEnumerator();
- }
-
- public override int GetHashCode()
- {
- int hash = 0;
- for (int i = 0; i < count; i++)
- {
- hash = hash * 31 + array[i].GetHashCode();
- }
- return hash;
- }
-
- public bool Equals(RepeatedField<T> other)
- {
- if (ReferenceEquals(other, null))
- {
- return false;
- }
- if (ReferenceEquals(other, this))
- {
- return true;
- }
- if (other.Count != this.Count)
- {
- return false;
- }
- // TODO(jonskeet): Does this box for enums?
- EqualityComparer<T> comparer = EqualityComparer<T>.Default;
- for (int i = 0; i < count; i++)
- {
- if (!comparer.Equals(array[i], other.array[i]))
- {
- return false;
- }
- }
- return true;
- }
-
- public int IndexOf(T item)
- {
- if (item == null)
- {
- throw new ArgumentNullException("item");
- }
- // TODO(jonskeet): Does this box for enums?
- EqualityComparer<T> comparer = EqualityComparer<T>.Default;
- for (int i = 0; i < count; i++)
- {
- if (comparer.Equals(array[i], item))
- {
- return i;
- }
- }
- return -1;
- }
-
- public void Insert(int index, T item)
- {
- if (item == null)
- {
- throw new ArgumentNullException("item");
- }
- if (index < 0 || index > count)
- {
- throw new ArgumentOutOfRangeException("index");
- }
- this.CheckMutable();
- EnsureSize(count + 1);
- Array.Copy(array, index, array, index + 1, count - index);
- array[index] = item;
- count++;
- }
-
- public void RemoveAt(int index)
- {
- if (index < 0 || index >= count)
- {
- throw new ArgumentOutOfRangeException("index");
- }
- this.CheckMutable();
- Array.Copy(array, index + 1, array, index, count - index - 1);
- count--;
- array[count] = default(T);
- }
-
- public T this[int index]
- {
- get
- {
- if (index < 0 || index >= count)
- {
- throw new ArgumentOutOfRangeException("index");
- }
- return array[index];
- }
- set
- {
- if (index < 0 || index >= count)
- {
- throw new ArgumentOutOfRangeException("index");
- }
- this.CheckMutable();
- if (value == null)
- {
- throw new ArgumentNullException("value");
- }
- array[index] = value;
- }
- }
-
- #region Explicit interface implementation for IList and ICollection.
- bool IList.IsFixedSize { get { return IsFrozen; } }
-
- void ICollection.CopyTo(Array array, int index)
- {
- Array.Copy(this.array, 0, array, index, count);
- }
-
- bool ICollection.IsSynchronized { get { return false; } }
-
- object ICollection.SyncRoot { get { return this; } }
-
- object IList.this[int index]
- {
- get { return this[index]; }
- set { this[index] = (T)value; }
- }
-
- int IList.Add(object value)
- {
- Add((T) value);
- return count - 1;
- }
-
- bool IList.Contains(object value)
- {
- return (value is T && Contains((T)value));
- }
-
- int IList.IndexOf(object value)
- {
- if (!(value is T))
- {
- return -1;
- }
- return IndexOf((T)value);
- }
-
- void IList.Insert(int index, object value)
- {
- Insert(index, (T) value);
- }
-
- void IList.Remove(object value)
- {
- if (!(value is T))
- {
- return;
- }
- Remove((T)value);
- }
- #endregion
- }
-}
diff --git a/csharp/src/ProtocolBuffers/FieldCodec.cs b/csharp/src/ProtocolBuffers/FieldCodec.cs
deleted file mode 100644
index 85462787..00000000
--- a/csharp/src/ProtocolBuffers/FieldCodec.cs
+++ /dev/null
@@ -1,382 +0,0 @@
-#region Copyright notice and license
-// Protocol Buffers - Google's data interchange format
-// 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
-// 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.
-#endregion
-
-using System;
-using System.Collections.Generic;
-
-namespace Google.Protobuf
-{
- /// <summary>
- /// Factory methods for <see cref="FieldCodec{T}"/>.
- /// </summary>
- public static class FieldCodec
- {
- // TODO: Avoid the "dual hit" of lambda expressions: create open delegates instead. (At least test...)
- public static FieldCodec<string> ForString(uint tag)
- {
- return new FieldCodec<string>(input => input.ReadString(), (output, value) => output.WriteString(value), CodedOutputStream.ComputeStringSize, tag);
- }
-
- public static FieldCodec<ByteString> ForBytes(uint tag)
- {
- return new FieldCodec<ByteString>(input => input.ReadBytes(), (output, value) => output.WriteBytes(value), CodedOutputStream.ComputeBytesSize, tag);
- }
-
- public static FieldCodec<bool> ForBool(uint tag)
- {
- return new FieldCodec<bool>(input => input.ReadBool(), (output, value) => output.WriteBool(value), CodedOutputStream.ComputeBoolSize, tag);
- }
-
- public static FieldCodec<int> ForInt32(uint tag)
- {
- return new FieldCodec<int>(input => input.ReadInt32(), (output, value) => output.WriteInt32(value), CodedOutputStream.ComputeInt32Size, tag);
- }
-
- public static FieldCodec<int> ForSInt32(uint tag)
- {
- return new FieldCodec<int>(input => input.ReadSInt32(), (output, value) => output.WriteSInt32(value), CodedOutputStream.ComputeSInt32Size, tag);
- }
-
- public static FieldCodec<uint> ForFixed32(uint tag)
- {
- return new FieldCodec<uint>(input => input.ReadFixed32(), (output, value) => output.WriteFixed32(value), 4, tag);
- }
-
- public static FieldCodec<int> ForSFixed32(uint tag)
- {
- return new FieldCodec<int>(input => input.ReadSFixed32(), (output, value) => output.WriteSFixed32(value), 4, tag);
- }
-
- public static FieldCodec<uint> ForUInt32(uint tag)
- {
- return new FieldCodec<uint>(input => input.ReadUInt32(), (output, value) => output.WriteUInt32(value), CodedOutputStream.ComputeUInt32Size, tag);
- }
-
- public static FieldCodec<long> ForInt64(uint tag)
- {
- return new FieldCodec<long>(input => input.ReadInt64(), (output, value) => output.WriteInt64(value), CodedOutputStream.ComputeInt64Size, tag);
- }
-
- public static FieldCodec<long> ForSInt64(uint tag)
- {
- return new FieldCodec<long>(input => input.ReadSInt64(), (output, value) => output.WriteSInt64(value), CodedOutputStream.ComputeSInt64Size, tag);
- }
-
- public static FieldCodec<ulong> ForFixed64(uint tag)
- {
- return new FieldCodec<ulong>(input => input.ReadFixed64(), (output, value) => output.WriteFixed64(value), 8, tag);
- }
-
- public static FieldCodec<long> ForSFixed64(uint tag)
- {
- return new FieldCodec<long>(input => input.ReadSFixed64(), (output, value) => output.WriteSFixed64(value), 8, tag);
- }
-
- public static FieldCodec<ulong> ForUInt64(uint tag)
- {
- return new FieldCodec<ulong>(input => input.ReadUInt64(), (output, value) => output.WriteUInt64(value), CodedOutputStream.ComputeUInt64Size, tag);
- }
-
- public static FieldCodec<float> ForFloat(uint tag)
- {
- return new FieldCodec<float>(input => input.ReadFloat(), (output, value) => output.WriteFloat(value), CodedOutputStream.ComputeFloatSize, tag);
- }
-
- public static FieldCodec<double> ForDouble(uint tag)
- {
- return new FieldCodec<double>(input => input.ReadDouble(), (output, value) => output.WriteDouble(value), CodedOutputStream.ComputeDoubleSize, tag);
- }
-
- // Enums are tricky. We can probably use expression trees to build these delegates automatically,
- // but it's easy to generate the code for it.
- public static FieldCodec<T> ForEnum<T>(uint tag, Func<T, int> toInt32, Func<int, T> fromInt32)
- {
- return new FieldCodec<T>(input => fromInt32(
- input.ReadEnum()),
- (output, value) => output.WriteEnum(toInt32(value)),
- value => CodedOutputStream.ComputeEnumSize(toInt32(value)), tag);
- }
-
- public static FieldCodec<T> ForMessage<T>(uint tag, MessageParser<T> parser) where T : IMessage<T>
- {
- return new FieldCodec<T>(input => { T message = parser.CreateTemplate(); input.ReadMessage(message); return message; },
- (output, value) => output.WriteMessage(value), message => CodedOutputStream.ComputeMessageSize(message), tag);
- }
-
- /// <summary>
- /// Creates a codec for a wrapper type of a class - which must be string or ByteString.
- /// </summary>
- public static FieldCodec<T> ForClassWrapper<T>(uint tag) where T : class
- {
- var nestedCodec = WrapperCodecs.GetCodec<T>();
- return new FieldCodec<T>(
- input => WrapperCodecs.Read<T>(input, nestedCodec),
- (output, value) => WrapperCodecs.Write<T>(output, value, nestedCodec),
- value => WrapperCodecs.CalculateSize<T>(value, nestedCodec),
- tag,
- null); // Default value for the wrapper
- }
-
- /// <summary>
- /// Creates a codec for a wrapper type of a struct - which must be Int32, Int64, UInt32, UInt64,
- /// Bool, Single or Double.
- /// </summary>
- public static FieldCodec<T?> ForStructWrapper<T>(uint tag) where T : struct
- {
- var nestedCodec = WrapperCodecs.GetCodec<T>();
- return new FieldCodec<T?>(
- input => WrapperCodecs.Read<T>(input, nestedCodec),
- (output, value) => WrapperCodecs.Write<T>(output, value.Value, nestedCodec),
- value => value == null ? 0 : WrapperCodecs.CalculateSize<T>(value.Value, nestedCodec),
- tag,
- null); // Default value for the wrapper
- }
-
- /// <summary>
- /// Helper code to create codecs for wrapper types.
- /// </summary>
- /// <remarks>
- /// Somewhat ugly with all the static methods, but the conversions involved to/from nullable types make it
- /// slightly tricky to improve. So long as we keep the public API (ForClassWrapper, ForStructWrapper) in place,
- /// we can refactor later if we come up with something cleaner.
- /// </remarks>
- private static class WrapperCodecs
- {
- // All the field numbers are the same (1).
- private const int WrapperValueFieldNumber = Google.Protobuf.WellKnownTypes.Int32Value.ValueFieldNumber;
-
- private static readonly Dictionary<Type, object> Codecs = new Dictionary<Type, object>
- {
- { typeof(bool), ForBool(WireFormat.MakeTag(WrapperValueFieldNumber, WireFormat.WireType.Varint)) },
- { typeof(int), ForInt32(WireFormat.MakeTag(WrapperValueFieldNumber, WireFormat.WireType.Varint)) },
- { typeof(long), ForInt64(WireFormat.MakeTag(WrapperValueFieldNumber, WireFormat.WireType.Varint)) },
- { typeof(uint), ForUInt32(WireFormat.MakeTag(WrapperValueFieldNumber, WireFormat.WireType.Varint)) },
- { typeof(ulong), ForUInt64(WireFormat.MakeTag(WrapperValueFieldNumber, WireFormat.WireType.Varint)) },
- { typeof(float), ForFloat(WireFormat.MakeTag(WrapperValueFieldNumber, WireFormat.WireType.Fixed32)) },
- { typeof(double), ForDouble(WireFormat.MakeTag(WrapperValueFieldNumber, WireFormat.WireType.Fixed64)) },
- { typeof(string), ForString(WireFormat.MakeTag(WrapperValueFieldNumber, WireFormat.WireType.LengthDelimited)) },
- { typeof(ByteString), ForBytes(WireFormat.MakeTag(WrapperValueFieldNumber, WireFormat.WireType.LengthDelimited)) }
- };
-
- /// <summary>
- /// Returns a field codec which effectively wraps a value of type T in a message.
- ///
- /// </summary>
- internal static FieldCodec<T> GetCodec<T>()
- {
- object value;
- if (!Codecs.TryGetValue(typeof(T), out value))
- {
- throw new InvalidOperationException("Invalid type argument requested for wrapper codec: " + typeof(T));
- }
- return (FieldCodec<T>) value;
- }
-
- internal static T Read<T>(CodedInputStream input, FieldCodec<T> codec)
- {
- int length = input.ReadLength();
- int oldLimit = input.PushLimit(length);
-
- uint tag;
- T value = codec.DefaultValue;
- while (input.ReadTag(out tag))
- {
- if (tag == 0)
- {
- throw InvalidProtocolBufferException.InvalidTag();
- }
- if (tag == codec.Tag)
- {
- value = codec.Read(input);
- }
- if (WireFormat.IsEndGroupTag(tag))
- {
- break;
- }
- }
- input.CheckLastTagWas(0);
- input.PopLimit(oldLimit);
-
- return value;
- }
-
- internal static void Write<T>(CodedOutputStream output, T value, FieldCodec<T> codec)
- {
- output.WriteLength(codec.CalculateSizeWithTag(value));
- codec.WriteTagAndValue(output, value);
- }
-
- internal static int CalculateSize<T>(T value, FieldCodec<T> codec)
- {
- int fieldLength = codec.CalculateSizeWithTag(value);
- return CodedOutputStream.ComputeLengthSize(fieldLength) + fieldLength;
- }
- }
- }
-
- /// <summary>
- /// An encode/decode pair for a single field. This effectively encapsulates
- /// all the information needed to read or write the field value from/to a coded
- /// stream.
- /// </summary>
- /// <remarks>
- /// This never writes default values to the stream, and is not currently designed
- /// to play well with packed arrays.
- /// </remarks>
- public sealed class FieldCodec<T>
- {
- private static readonly T DefaultDefault;
-
- static FieldCodec()
- {
- if (typeof(T) == typeof(string))
- {
- DefaultDefault = (T)(object)"";
- }
- else if (typeof(T) == typeof(ByteString))
- {
- DefaultDefault = (T)(object)ByteString.Empty;
- }
- // Otherwise it's the default value of the CLR type
- }
-
- private static Func<T, bool> CreateDefaultValueCheck<TTmp>(Func<TTmp, bool> check)
- {
- return (Func<T, bool>)(object)check;
- }
-
- private readonly Func<CodedInputStream, T> reader;
- private readonly Action<CodedOutputStream, T> writer;
- private readonly Func<T, int> sizeCalculator;
- private readonly uint tag;
- private readonly int tagSize;
- private readonly int fixedSize;
- // Default value for this codec. Usually the same for every instance of the same type, but
- // for string/ByteString wrapper fields the codec's default value is null, whereas for
- // other string/ByteString fields it's "" or ByteString.Empty.
- private readonly T defaultValue;
-
- internal FieldCodec(
- Func<CodedInputStream, T> reader,
- Action<CodedOutputStream, T> writer,
- Func<T, int> sizeCalculator,
- uint tag) : this(reader, writer, sizeCalculator, tag, DefaultDefault)
- {
- }
-
- internal FieldCodec(
- Func<CodedInputStream, T> reader,
- Action<CodedOutputStream, T> writer,
- Func<T, int> sizeCalculator,
- uint tag,
- T defaultValue)
- {
- this.reader = reader;
- this.writer = writer;
- this.sizeCalculator = sizeCalculator;
- this.fixedSize = 0;
- this.tag = tag;
- this.defaultValue = defaultValue;
- tagSize = CodedOutputStream.ComputeRawVarint32Size(tag);
- }
-
- internal FieldCodec(
- Func<CodedInputStream, T> reader,
- Action<CodedOutputStream, T> writer,
- int fixedSize,
- uint tag)
- {
- this.reader = reader;
- this.writer = writer;
- this.sizeCalculator = _ => fixedSize;
- this.fixedSize = fixedSize;
- this.tag = tag;
- tagSize = CodedOutputStream.ComputeRawVarint32Size(tag);
- }
-
- /// <summary>
- /// Returns the size calculator for just a value.
- /// </summary>
- internal Func<T, int> ValueSizeCalculator { get { return sizeCalculator; } }
-
- /// <summary>
- /// Returns a delegate to write a value (unconditionally) to a coded output stream.
- /// </summary>
- internal Action<CodedOutputStream, T> ValueWriter { get { return writer; } }
-
- /// <summary>
- /// Returns a delegate to read a value from a coded input stream. It is assumed that
- /// the stream is already positioned on the appropriate tag.
- /// </summary>
- internal Func<CodedInputStream, T> ValueReader { get { return reader; } }
-
- /// <summary>
- /// Returns the fixed size for an entry, or 0 if sizes vary.
- /// </summary>
- internal int FixedSize { get { return fixedSize; } }
-
- public uint Tag { get { return tag; } }
-
- public T DefaultValue { get { return defaultValue; } }
-
- /// <summary>
- /// Write a tag and the given value, *if* the value is not the default.
- /// </summary>
- public void WriteTagAndValue(CodedOutputStream output, T value)
- {
- if (!IsDefault(value))
- {
- output.WriteTag(tag);
- writer(output, value);
- }
- }
-
- public T Read(CodedInputStream input)
- {
- return reader(input);
- }
-
- /// <summary>
- /// Calculates the size required to write the given value, with a tag,
- /// if the value is not the default.
- /// </summary>
- public int CalculateSizeWithTag(T value)
- {
- return IsDefault(value) ? 0 : sizeCalculator(value) + tagSize;
- }
-
- private bool IsDefault(T value)
- {
- return EqualityComparer<T>.Default.Equals(value, defaultValue);
- }
- }
-}
diff --git a/csharp/src/ProtocolBuffers/FrameworkPortability.cs b/csharp/src/ProtocolBuffers/FrameworkPortability.cs
deleted file mode 100644
index 082eb2e1..00000000
--- a/csharp/src/ProtocolBuffers/FrameworkPortability.cs
+++ /dev/null
@@ -1,50 +0,0 @@
-#region Copyright notice and license
-// Protocol Buffers - Google's data interchange format
-// Copyright 2008 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
-// 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.
-#endregion
-
-using System;
-using System.Text.RegularExpressions;
-
-namespace Google.Protobuf
-{
- /// <summary>
- /// Class containing helpful workarounds for various platform compatibility
- /// </summary>
- internal static class FrameworkPortability
- {
- // TODO(jtattermusch): is this still a thing?
- // The value of RegexOptions.Compiled is 8. We can test for the presence at
- // execution time using Enum.IsDefined, so a single build will do the right thing
- // on each platform.
- internal static readonly RegexOptions CompiledRegexWhereAvailable =
- Enum.IsDefined(typeof(RegexOptions), 8) ? (RegexOptions)8 : RegexOptions.None;
- }
-} \ No newline at end of file
diff --git a/csharp/src/ProtocolBuffers/Freezable.cs b/csharp/src/ProtocolBuffers/Freezable.cs
deleted file mode 100644
index d16e1b42..00000000
--- a/csharp/src/ProtocolBuffers/Freezable.cs
+++ /dev/null
@@ -1,58 +0,0 @@
-#region Copyright notice and license
-// Protocol Buffers - Google's data interchange format
-// 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
-// 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.
-#endregion
-
-using System;
-
-namespace Google.Protobuf
-{
- /// <summary>
- /// Extension methods for <see cref="IFreezable"/> types.
- /// </summary>
- public static class Freezable
- {
- /// <summary>
- /// Throws an <see cref="InvalidOperationException"/> if <paramref name="target"/>
- /// is frozen.
- /// </summary>
- /// <remarks>
- /// This is a convenience methods that freezable types can call before all
- /// mutations, to protect frozen objects.
- /// </remarks>
- public static void CheckMutable(this IFreezable target)
- {
- if (target.IsFrozen)
- {
- throw new InvalidOperationException("Attempt to mutate frozen object");
- }
- }
- }
-}
diff --git a/csharp/src/ProtocolBuffers/Google.Protobuf.nuspec b/csharp/src/ProtocolBuffers/Google.Protobuf.nuspec
deleted file mode 100644
index 9b5e1c83..00000000
--- a/csharp/src/ProtocolBuffers/Google.Protobuf.nuspec
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<package>
- <metadata>
- <id>Google.Protobuf</id>
- <title>Google Protocol Buffers C#</title>
- <summary>C# runtime library for Protocol Buffers - Google's data interchange format.</summary>
- <description>See project site for more info.</description>
- <version>3.0.0-beta*</version>
- <authors>Google Inc.</authors>
- <owners>protobuf-packages</owners>
- <licenseUrl>https://github.com/google/protobuf/blob/master/LICENSE</licenseUrl>
- <projectUrl>https://github.com/google/protobuf</projectUrl>
- <requireLicenseAcceptance>false</requireLicenseAcceptance>
- <releaseNotes>Experimental version of C# Protocol Buffers</releaseNotes>
- <copyright>Copyright 2015, Google Inc.</copyright>
- <tags>Protocol Buffers Binary Serialization Format Google proto proto3</tags>
- </metadata>
- <files>
- <file src="bin/Release/Google.Protobuf.dll" target="lib/portable-net45+win8+wp8+wpa81" />
- <file src="bin/Release/Google.Protobuf.pdb" target="lib/portable-net45+win8+wp8+wpa81" />
- <file src="bin/Release/Google.Protobuf.xml" target="lib/portable-net45+win8+wp8+wpa81" />
- <file src="**\*.cs" target="src" />
- </files>
-</package>
diff --git a/csharp/src/ProtocolBuffers/IMessage.cs b/csharp/src/ProtocolBuffers/IMessage.cs
deleted file mode 100644
index 8c4a4aaf..00000000
--- a/csharp/src/ProtocolBuffers/IMessage.cs
+++ /dev/null
@@ -1,144 +0,0 @@
-#region Copyright notice and license
-// Protocol Buffers - Google's data interchange format
-// Copyright 2008 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
-// 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.
-#endregion
-
-using System;
-using Google.Protobuf.Reflection;
-
-namespace Google.Protobuf
-{
-
- // TODO(jonskeet): Do we want a "weak" (non-generic) version of IReflectedMessage?
- // TODO(jonskeet): Split these interfaces into separate files when we're happy with them.
-
- /// <summary>
- /// Reflection support for accessing field values.
- /// </summary>
- public interface IReflectedMessage : IMessage
- {
- FieldAccessorTable Fields { get; }
- // TODO(jonskeet): Descriptor? Or a single property which has "all you need for reflection"?
- }
-
- /// <summary>
- /// Interface for a Protocol Buffers message, supporting
- /// basic operations required for serialization.
- /// </summary>
- public interface IMessage
- {
- /// <summary>
- /// Merges the data from the specified coded input stream with the current message.
- /// </summary>
- /// <remarks>See the user guide for precise merge semantics.</remarks>
- /// <param name="input"></param>
- void MergeFrom(CodedInputStream input);
-
- /// <summary>
- /// Writes the data to the given coded output stream.
- /// </summary>
- /// <param name="output">Coded output stream to write the data to. Must not be null.</param>
- void WriteTo(CodedOutputStream output);
-
- /// <summary>
- /// Calculates the size of this message in Protocol Buffer wire format, in bytes.
- /// </summary>
- /// <returns>The number of bytes required to write this message
- /// to a coded output stream.</returns>
- int CalculateSize();
- }
-
- /// <summary>
- /// Generic interface for a Protocol Buffers message,
- /// where the type parameter is expected to be the same type as
- /// the implementation class.
- /// </summary>
- /// <typeparam name="T">The message type.</typeparam>
- public interface IMessage<T> : IReflectedMessage, IEquatable<T>, IDeepCloneable<T>, IFreezable where T : IMessage<T>
- {
- /// <summary>
- /// Merges the given message into this one.
- /// </summary>
- /// <remarks>See the user guide for precise merge semantics.</remarks>
- /// <param name="message">The message to merge with this one. Must not be null.</param>
- void MergeFrom(T message);
- }
-
- /// <summary>
- /// Generic interface for a deeply cloneable type.
- /// <summary>
- /// <remarks>
- /// All generated messages implement this interface, but so do some non-message types.
- /// Additionally, due to the type constraint on <c>T</c> in <see cref="IMessage{T}"/>,
- /// it is simpler to keep this as a separate interface.
- /// </para>
- /// <para>
- /// Freezable types which implement this interface should always return a mutable clone,
- /// even if the original object is frozen.
- /// </para>
- /// </remarks>
- /// <typeparam name="T">The type itself, returned by the <see cref="Clone"/> method.</typeparam>
- public interface IDeepCloneable<T>
- {
- /// <summary>
- /// Creates a deep clone of this object.
- /// </summary>
- /// <returns>A deep clone of this object.</returns>
- T Clone();
- }
-
- /// <summary>
- /// Provides a mechanism for freezing a message (or repeated field collection)
- /// to make it immutable.
- /// </summary>
- /// <remarks>
- /// Implementations are under no obligation to make this thread-safe: if a freezable
- /// type instance is shared between threads before being frozen, and one thread then
- /// freezes it, it is possible for other threads to make changes during the freezing
- /// operation and also to observe stale values for mutated fields. Objects should be
- /// frozen before being made available to other threads.
- /// </remarks>
- public interface IFreezable
- {
- /// <summary>
- /// Freezes this object.
- /// </summary>
- /// <remarks>
- /// If the object is already frozen, this method has no effect.
- /// </remarks>
- void Freeze();
-
- /// <summary>
- /// Returns whether or not this object is frozen (and therefore immutable).
- /// </summary>
- /// <value><c>true</c> if this object is frozen; <c>false</c> otherwise.</value>
- bool IsFrozen { get; }
- }
-}
diff --git a/csharp/src/ProtocolBuffers/InvalidProtocolBufferException.cs b/csharp/src/ProtocolBuffers/InvalidProtocolBufferException.cs
deleted file mode 100644
index 4f89347d..00000000
--- a/csharp/src/ProtocolBuffers/InvalidProtocolBufferException.cs
+++ /dev/null
@@ -1,102 +0,0 @@
-#region Copyright notice and license
-// Protocol Buffers - Google's data interchange format
-// Copyright 2008 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
-// 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.
-#endregion
-
-using System.IO;
-
-namespace Google.Protobuf
-{
- /// <summary>
- /// Thrown when a protocol message being parsed is invalid in some way,
- /// e.g. it contains a malformed varint or a negative byte length.
- /// </summary>
- public sealed class InvalidProtocolBufferException : IOException
- {
- internal InvalidProtocolBufferException(string message)
- : base(message)
- {
- }
-
- public static InvalidProtocolBufferException TruncatedMessage()
- {
- return new InvalidProtocolBufferException(
- "While parsing a protocol message, the input ended unexpectedly " +
- "in the middle of a field. This could mean either than the " +
- "input has been truncated or that an embedded message " +
- "misreported its own length.");
- }
-
- internal static InvalidProtocolBufferException NegativeSize()
- {
- return new InvalidProtocolBufferException(
- "CodedInputStream encountered an embedded string or message " +
- "which claimed to have negative size.");
- }
-
- public static InvalidProtocolBufferException MalformedVarint()
- {
- return new InvalidProtocolBufferException(
- "CodedInputStream encountered a malformed varint.");
- }
-
- public static InvalidProtocolBufferException InvalidTag()
- {
- return new InvalidProtocolBufferException(
- "Protocol message contained an invalid tag (zero).");
- }
-
- internal static InvalidProtocolBufferException InvalidEndTag()
- {
- return new InvalidProtocolBufferException(
- "Protocol message end-group tag did not match expected tag.");
- }
-
- internal static InvalidProtocolBufferException RecursionLimitExceeded()
- {
- return new InvalidProtocolBufferException(
- "Protocol message had too many levels of nesting. May be malicious. " +
- "Use CodedInputStream.SetRecursionLimit() to increase the depth limit.");
- }
-
- internal static InvalidProtocolBufferException SizeLimitExceeded()
- {
- return new InvalidProtocolBufferException(
- "Protocol message was too large. May be malicious. " +
- "Use CodedInputStream.SetSizeLimit() to increase the size limit.");
- }
-
- internal static InvalidProtocolBufferException InvalidMessageStreamTag()
- {
- return new InvalidProtocolBufferException(
- "Stream of protocol messages had invalid tag. Expected tag is length-delimited field 1.");
- }
- }
-} \ No newline at end of file
diff --git a/csharp/src/ProtocolBuffers/JsonFormatter.cs b/csharp/src/ProtocolBuffers/JsonFormatter.cs
deleted file mode 100644
index dacc7221..00000000
--- a/csharp/src/ProtocolBuffers/JsonFormatter.cs
+++ /dev/null
@@ -1,578 +0,0 @@
-#region Copyright notice and license
-// Protocol Buffers - Google's data interchange format
-// 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
-// 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.
-#endregion
-
-using System;
-using System.Collections;
-using System.Globalization;
-using System.Text;
-using Google.Protobuf.Reflection;
-
-namespace Google.Protobuf
-{
- /// <summary>
- /// Reflection-based converter from messages to JSON.
- /// </summary>
- /// <remarks>
- /// <para>
- /// Instances of this class are thread-safe, with no mutable state.
- /// </para>
- /// <para>
- /// This is a simple start to get JSON formatting working. As it's reflection-based,
- /// it's not as quick as baking calls into generated messages - but is a simpler implementation.
- /// (This code is generally not heavily optimized.)
- /// </para>
- /// </remarks>
- public sealed class JsonFormatter
- {
- private static JsonFormatter defaultInstance = new JsonFormatter(Settings.Default);
-
- /// <summary>
- /// Returns a formatter using the default settings.
- /// </summary>
- public static JsonFormatter Default { get { return defaultInstance; } }
-
- /// <summary>
- /// The JSON representation of the first 160 characters of Unicode.
- /// Empty strings are replaced by the static constructor.
- /// </summary>
- private static readonly string[] CommonRepresentations = {
- // C0 (ASCII and derivatives) control characters
- "\\u0000", "\\u0001", "\\u0002", "\\u0003", // 0x00
- "\\u0004", "\\u0005", "\\u0006", "\\u0007",
- "\\b", "\\t", "\\n", "\\u000b",
- "\\f", "\\r", "\\u000e", "\\u000f",
- "\\u0010", "\\u0011", "\\u0012", "\\u0013", // 0x10
- "\\u0014", "\\u0015", "\\u0016", "\\u0017",
- "\\u0018", "\\u0019", "\\u001a", "\\u001b",
- "\\u001c", "\\u001d", "\\u001e", "\\u001f",
- // Escaping of " and \ are required by www.json.org string definition.
- // Escaping of < and > are required for HTML security.
- "", "", "\\\"", "", "", "", "", "", // 0x20
- "", "", "", "", "", "", "", "",
- "", "", "", "", "", "", "", "", // 0x30
- "", "", "", "", "\\u003c", "", "\\u003e", "",
- "", "", "", "", "", "", "", "", // 0x40
- "", "", "", "", "", "", "", "",
- "", "", "", "", "", "", "", "", // 0x50
- "", "", "", "", "\\\\", "", "", "",
- "", "", "", "", "", "", "", "", // 0x60
- "", "", "", "", "", "", "", "",
- "", "", "", "", "", "", "", "", // 0x70
- "", "", "", "", "", "", "", "\\u007f",
- // C1 (ISO 8859 and Unicode) extended control characters
- "\\u0080", "\\u0081", "\\u0082", "\\u0083", // 0x80
- "\\u0084", "\\u0085", "\\u0086", "\\u0087",
- "\\u0088", "\\u0089", "\\u008a", "\\u008b",
- "\\u008c", "\\u008d", "\\u008e", "\\u008f",
- "\\u0090", "\\u0091", "\\u0092", "\\u0093", // 0x90
- "\\u0094", "\\u0095", "\\u0096", "\\u0097",
- "\\u0098", "\\u0099", "\\u009a", "\\u009b",
- "\\u009c", "\\u009d", "\\u009e", "\\u009f"
- };
-
- static JsonFormatter()
- {
- for (int i = 0; i < CommonRepresentations.Length; i++)
- {
- if (CommonRepresentations[i] == "")
- {
- CommonRepresentations[i] = ((char) i).ToString();
- }
- }
- }
-
- private readonly Settings settings;
-
- public JsonFormatter(Settings settings)
- {
- this.settings = settings;
- }
-
- public string Format(IReflectedMessage message)
- {
- ThrowHelper.ThrowIfNull(message, "message");
- StringBuilder builder = new StringBuilder();
- WriteMessage(builder, message);
- return builder.ToString();
- }
-
- private void WriteMessage(StringBuilder builder, IReflectedMessage message)
- {
- if (message == null)
- {
- WriteNull(builder);
- return;
- }
- builder.Append("{ ");
- var fields = message.Fields;
- bool first = true;
- // First non-oneof fields
- foreach (var accessor in fields.Accessors)
- {
- var descriptor = accessor.Descriptor;
- // Oneofs are written later
- // TODO: Change to write out fields in order, interleaving oneofs appropriately (as per binary format)
- if (descriptor.ContainingOneof != null)
- {
- continue;
- }
- // Omit default values unless we're asked to format them
- object value = accessor.GetValue(message);
- if (!settings.FormatDefaultValues && IsDefaultValue(accessor, value))
- {
- continue;
- }
- // Omit awkward (single) values such as unknown enum values
- if (!descriptor.IsRepeated && !descriptor.IsMap && !CanWriteSingleValue(accessor.Descriptor, value))
- {
- continue;
- }
-
- // Okay, all tests complete: let's write the field value...
- if (!first)
- {
- builder.Append(", ");
- }
- WriteString(builder, ToCamelCase(accessor.Descriptor.Name));
- builder.Append(": ");
- WriteValue(builder, accessor, value);
- first = false;
- }
-
- // Now oneofs
- foreach (var accessor in fields.Oneofs)
- {
- var fieldDescriptor = accessor.GetCaseFieldDescriptor(message);
- if (fieldDescriptor == null)
- {
- continue;
- }
- var fieldAccessor = fields[fieldDescriptor.FieldNumber];
- object value = fieldAccessor.GetValue(message);
- // Omit awkward (single) values such as unknown enum values
- if (!fieldDescriptor.IsRepeated && !fieldDescriptor.IsMap && !CanWriteSingleValue(fieldDescriptor, value))
- {
- continue;
- }
-
- if (!first)
- {
- builder.Append(", ");
- }
- WriteString(builder, ToCamelCase(fieldDescriptor.Name));
- builder.Append(": ");
- WriteValue(builder, fieldAccessor, value);
- first = false;
- }
- builder.Append(first ? "}" : " }");
- }
-
- // Converted from src/google/protobuf/util/internal/utility.cc ToCamelCase
- internal static string ToCamelCase(string input)
- {
- bool capitalizeNext = false;
- bool wasCap = true;
- bool isCap = false;
- bool firstWord = true;
- StringBuilder result = new StringBuilder(input.Length);
-
- for (int i = 0; i < input.Length; i++, wasCap = isCap)
- {
- isCap = char.IsUpper(input[i]);
- if (input[i] == '_')
- {
- capitalizeNext = true;
- if (result.Length != 0)
- {
- firstWord = false;
- }
- continue;
- }
- else if (firstWord)
- {
- // Consider when the current character B is capitalized,
- // first word ends when:
- // 1) following a lowercase: "...aB..."
- // 2) followed by a lowercase: "...ABc..."
- if (result.Length != 0 && isCap &&
- (!wasCap || (i + 1 < input.Length && char.IsLower(input[i + 1]))))
- {
- firstWord = false;
- }
- else
- {
- result.Append(char.ToLowerInvariant(input[i]));
- continue;
- }
- }
- else if (capitalizeNext)
- {
- capitalizeNext = false;
- if (char.IsLower(input[i]))
- {
- result.Append(char.ToUpperInvariant(input[i]));
- continue;
- }
- }
- result.Append(input[i]);
- }
- return result.ToString();
- }
-
- private static void WriteNull(StringBuilder builder)
- {
- builder.Append("null");
- }
-
- private static bool IsDefaultValue(IFieldAccessor accessor, object value)
- {
- if (accessor.Descriptor.IsMap)
- {
- IDictionary dictionary = (IDictionary) value;
- return dictionary.Count == 0;
- }
- if (accessor.Descriptor.IsRepeated)
- {
- IList list = (IList) value;
- return list.Count == 0;
- }
- switch (accessor.Descriptor.FieldType)
- {
- case FieldType.Bool:
- return (bool) value == false;
- case FieldType.Bytes:
- return (ByteString) value == ByteString.Empty;
- case FieldType.String:
- return (string) value == "";
- case FieldType.Double:
- return (double) value == 0.0;
- case FieldType.SInt32:
- case FieldType.Int32:
- case FieldType.SFixed32:
- case FieldType.Enum:
- return (int) value == 0;
- case FieldType.Fixed32:
- case FieldType.UInt32:
- return (uint) value == 0;
- case FieldType.Fixed64:
- case FieldType.UInt64:
- return (ulong) value == 0;
- case FieldType.SFixed64:
- case FieldType.Int64:
- case FieldType.SInt64:
- return (long) value == 0;
- case FieldType.Float:
- return (float) value == 0f;
- case FieldType.Message:
- case FieldType.Group: // Never expect to get this, but...
- return value == null;
- default:
- throw new ArgumentException("Invalid field type");
- }
- }
-
- private void WriteValue(StringBuilder builder, IFieldAccessor accessor, object value)
- {
- if (accessor.Descriptor.IsMap)
- {
- WriteDictionary(builder, accessor, (IDictionary) value);
- }
- else if (accessor.Descriptor.IsRepeated)
- {
- WriteList(builder, accessor, (IList) value);
- }
- else
- {
- WriteSingleValue(builder, accessor.Descriptor, value);
- }
- }
-
- private void WriteSingleValue(StringBuilder builder, FieldDescriptor descriptor, object value)
- {
- switch (descriptor.FieldType)
- {
- case FieldType.Bool:
- builder.Append((bool) value ? "true" : "false");
- break;
- case FieldType.Bytes:
- // Nothing in Base64 needs escaping
- builder.Append('"');
- builder.Append(((ByteString) value).ToBase64());
- builder.Append('"');
- break;
- case FieldType.String:
- WriteString(builder, (string) value);
- break;
- case FieldType.Fixed32:
- case FieldType.UInt32:
- case FieldType.SInt32:
- case FieldType.Int32:
- case FieldType.SFixed32:
- {
- IFormattable formattable = (IFormattable) value;
- builder.Append(formattable.ToString("d", CultureInfo.InvariantCulture));
- break;
- }
- case FieldType.Enum:
- EnumValueDescriptor enumValue = descriptor.EnumType.FindValueByNumber((int) value);
- // We will already have validated that this is a known value.
- WriteString(builder, enumValue.Name);
- break;
- case FieldType.Fixed64:
- case FieldType.UInt64:
- case FieldType.SFixed64:
- case FieldType.Int64:
- case FieldType.SInt64:
- {
- builder.Append('"');
- IFormattable formattable = (IFormattable) value;
- builder.Append(formattable.ToString("d", CultureInfo.InvariantCulture));
- builder.Append('"');
- break;
- }
- case FieldType.Double:
- case FieldType.Float:
- string text = ((IFormattable) value).ToString("r", CultureInfo.InvariantCulture);
- if (text == "NaN" || text == "Infinity" || text == "-Infinity")
- {
- builder.Append('"');
- builder.Append(text);
- builder.Append('"');
- }
- else
- {
- builder.Append(text);
- }
- break;
- case FieldType.Message:
- case FieldType.Group: // Never expect to get this, but...
- WriteMessage(builder, (IReflectedMessage) value);
- break;
- default:
- throw new ArgumentException("Invalid field type: " + descriptor.FieldType);
- }
- }
-
- private void WriteList(StringBuilder builder, IFieldAccessor accessor, IList list)
- {
- builder.Append("[ ");
- bool first = true;
- foreach (var value in list)
- {
- if (!CanWriteSingleValue(accessor.Descriptor, value))
- {
- continue;
- }
- if (!first)
- {
- builder.Append(", ");
- }
- WriteSingleValue(builder, accessor.Descriptor, value);
- first = false;
- }
- builder.Append(first ? "]" : " ]");
- }
-
- private void WriteDictionary(StringBuilder builder, IFieldAccessor accessor, IDictionary dictionary)
- {
- builder.Append("{ ");
- bool first = true;
- FieldDescriptor keyType = accessor.Descriptor.MessageType.FindFieldByNumber(1);
- FieldDescriptor valueType = accessor.Descriptor.MessageType.FindFieldByNumber(2);
- // This will box each pair. Could use IDictionaryEnumerator, but that's ugly in terms of disposal.
- foreach (DictionaryEntry pair in dictionary)
- {
- if (!CanWriteSingleValue(valueType, pair.Value))
- {
- continue;
- }
- if (!first)
- {
- builder.Append(", ");
- }
- string keyText;
- switch (keyType.FieldType)
- {
- case FieldType.String:
- keyText = (string) pair.Key;
- break;
- case FieldType.Bool:
- keyText = (bool) pair.Key ? "true" : "false";
- break;
- case FieldType.Fixed32:
- case FieldType.Fixed64:
- case FieldType.SFixed32:
- case FieldType.SFixed64:
- case FieldType.Int32:
- case FieldType.Int64:
- case FieldType.SInt32:
- case FieldType.SInt64:
- case FieldType.UInt32:
- case FieldType.UInt64:
- keyText = ((IFormattable) pair.Key).ToString("d", CultureInfo.InvariantCulture);
- break;
- default:
- throw new ArgumentException("Invalid key type: " + keyType.FieldType);
- }
- WriteString(builder, keyText);
- builder.Append(": ");
- WriteSingleValue(builder, valueType, pair.Value);
- first = false;
- }
- builder.Append(first ? "}" : " }");
- }
-
- /// <summary>
- /// Returns whether or not a singular value can be represented in JSON.
- /// Currently only relevant for enums, where unknown values can't be represented.
- /// For repeated/map fields, this always returns true.
- /// </summary>
- private bool CanWriteSingleValue(FieldDescriptor descriptor, object value)
- {
- if (descriptor.FieldType == FieldType.Enum)
- {
- EnumValueDescriptor enumValue = descriptor.EnumType.FindValueByNumber((int) value);
- return enumValue != null;
- }
- return true;
- }
-
- /// <summary>
- /// Writes a string (including leading and trailing double quotes) to a builder, escaping as required.
- /// </summary>
- /// <remarks>
- /// Other than surrogate pair handling, this code is mostly taken from src/google/protobuf/util/internal/json_escaping.cc.
- /// </remarks>
- private void WriteString(StringBuilder builder, string text)
- {
- builder.Append('"');
- for (int i = 0; i < text.Length; i++)
- {
- char c = text[i];
- if (c < 0xa0)
- {
- builder.Append(CommonRepresentations[c]);
- continue;
- }
- if (char.IsHighSurrogate(c))
- {
- // Encountered first part of a surrogate pair.
- // Check that we have the whole pair, and encode both parts as hex.
- i++;
- if (i == text.Length || !char.IsLowSurrogate(text[i]))
- {
- throw new ArgumentException("String contains low surrogate not followed by high surrogate");
- }
- HexEncodeUtf16CodeUnit(builder, c);
- HexEncodeUtf16CodeUnit(builder, text[i]);
- continue;
- }
- else if (char.IsLowSurrogate(c))
- {
- throw new ArgumentException("String contains high surrogate not preceded by low surrogate");
- }
- switch ((uint) c)
- {
- // These are not required by json spec
- // but used to prevent security bugs in javascript.
- case 0xfeff: // Zero width no-break space
- case 0xfff9: // Interlinear annotation anchor
- case 0xfffa: // Interlinear annotation separator
- case 0xfffb: // Interlinear annotation terminator
-
- case 0x00ad: // Soft-hyphen
- case 0x06dd: // Arabic end of ayah
- case 0x070f: // Syriac abbreviation mark
- case 0x17b4: // Khmer vowel inherent Aq
- case 0x17b5: // Khmer vowel inherent Aa
- HexEncodeUtf16CodeUnit(builder, c);
- break;
-
- default:
- if ((c >= 0x0600 && c <= 0x0603) || // Arabic signs
- (c >= 0x200b && c <= 0x200f) || // Zero width etc.
- (c >= 0x2028 && c <= 0x202e) || // Separators etc.
- (c >= 0x2060 && c <= 0x2064) || // Invisible etc.
- (c >= 0x206a && c <= 0x206f))
- {
- HexEncodeUtf16CodeUnit(builder, c);
- }
- else
- {
- // No handling of surrogates here - that's done earlier
- builder.Append(c);
- }
- break;
- }
- }
- builder.Append('"');
- }
-
- private const string Hex = "0123456789abcdef";
- private static void HexEncodeUtf16CodeUnit(StringBuilder builder, char c)
- {
- uint utf16 = c;
- builder.Append("\\u");
- builder.Append(Hex[(c >> 12) & 0xf]);
- builder.Append(Hex[(c >> 8) & 0xf]);
- builder.Append(Hex[(c >> 4) & 0xf]);
- builder.Append(Hex[(c >> 0) & 0xf]);
- }
-
- /// <summary>
- /// Settings controlling JSON formatting.
- /// </summary>
- public sealed class Settings
- {
- private static readonly Settings defaultInstance = new Settings(false);
-
- /// <summary>
- /// Default settings, as used by <see cref="JsonFormatter.Default"/>
- /// </summary>
- public static Settings Default { get { return defaultInstance; } }
-
- private readonly bool formatDefaultValues;
-
-
- /// <summary>
- /// Whether fields whose values are the default for the field type (e.g. 0 for integers)
- /// should be formatted (true) or omitted (false).
- /// </summary>
- public bool FormatDefaultValues { get { return formatDefaultValues; } }
-
- public Settings(bool formatDefaultValues)
- {
- this.formatDefaultValues = formatDefaultValues;
- }
- }
- }
-}
diff --git a/csharp/src/ProtocolBuffers/LimitedInputStream.cs b/csharp/src/ProtocolBuffers/LimitedInputStream.cs
deleted file mode 100644
index f11d19d9..00000000
--- a/csharp/src/ProtocolBuffers/LimitedInputStream.cs
+++ /dev/null
@@ -1,110 +0,0 @@
-#region Copyright notice and license
-// Protocol Buffers - Google's data interchange format
-// 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
-// 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.
-#endregion
-
-using System;
-using System.IO;
-
-namespace Google.Protobuf
-{
- /// <summary>
- /// Stream implementation which proxies another stream, only allowing a certain amount
- /// of data to be read. Note that this is only used to read delimited streams, so it
- /// doesn't attempt to implement everything.
- /// </summary>
- internal sealed class LimitedInputStream : Stream
- {
- private readonly Stream proxied;
- private int bytesLeft;
-
- internal LimitedInputStream(Stream proxied, int size)
- {
- this.proxied = proxied;
- bytesLeft = size;
- }
-
- public override bool CanRead
- {
- get { return true; }
- }
-
- public override bool CanSeek
- {
- get { return false; }
- }
-
- public override bool CanWrite
- {
- get { return false; }
- }
-
- public override void Flush()
- {
- }
-
- public override long Length
- {
- get { throw new NotSupportedException(); }
- }
-
- public override long Position
- {
- get { throw new NotSupportedException(); }
- set { throw new NotSupportedException(); }
- }
-
- public override int Read(byte[] buffer, int offset, int count)
- {
- if (bytesLeft > 0)
- {
- int bytesRead = proxied.Read(buffer, offset, Math.Min(bytesLeft, count));
- bytesLeft -= bytesRead;
- return bytesRead;
- }
- return 0;
- }
-
- public override long Seek(long offset, SeekOrigin origin)
- {
- throw new NotSupportedException();
- }
-
- public override void SetLength(long value)
- {
- throw new NotSupportedException();
- }
-
- public override void Write(byte[] buffer, int offset, int count)
- {
- throw new NotSupportedException();
- }
- }
-}
diff --git a/csharp/src/ProtocolBuffers/MessageExtensions.cs b/csharp/src/ProtocolBuffers/MessageExtensions.cs
deleted file mode 100644
index ee2863d1..00000000
--- a/csharp/src/ProtocolBuffers/MessageExtensions.cs
+++ /dev/null
@@ -1,113 +0,0 @@
-#region Copyright notice and license
-// Protocol Buffers - Google's data interchange format
-// 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
-// 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.
-#endregion
-
-using System.IO;
-
-namespace Google.Protobuf
-{
- /// <summary>
- /// Extension methods on <see cref="IMessage"/> and <see cref="IMessage{T}"/>.
- /// </summary>
- public static class MessageExtensions
- {
- public static void MergeFrom(this IMessage message, byte[] data)
- {
- ThrowHelper.ThrowIfNull(message, "message");
- ThrowHelper.ThrowIfNull(data, "data");
- CodedInputStream input = CodedInputStream.CreateInstance(data);
- message.MergeFrom(input);
- input.CheckLastTagWas(0);
- }
-
- public static void MergeFrom(this IMessage message, ByteString data)
- {
- ThrowHelper.ThrowIfNull(message, "message");
- ThrowHelper.ThrowIfNull(data, "data");
- CodedInputStream input = data.CreateCodedInput();
- message.MergeFrom(input);
- input.CheckLastTagWas(0);
- }
-
- public static void MergeFrom(this IMessage message, Stream input)
- {
- ThrowHelper.ThrowIfNull(message, "message");
- ThrowHelper.ThrowIfNull(input, "input");
- CodedInputStream codedInput = CodedInputStream.CreateInstance(input);
- message.MergeFrom(codedInput);
- codedInput.CheckLastTagWas(0);
- }
-
- public static void MergeDelimitedFrom(this IMessage message, Stream input)
- {
- ThrowHelper.ThrowIfNull(message, "message");
- ThrowHelper.ThrowIfNull(input, "input");
- int size = (int) CodedInputStream.ReadRawVarint32(input);
- Stream limitedStream = new LimitedInputStream(input, size);
- message.MergeFrom(limitedStream);
- }
-
- public static byte[] ToByteArray(this IMessage message)
- {
- ThrowHelper.ThrowIfNull(message, "message");
- byte[] result = new byte[message.CalculateSize()];
- CodedOutputStream output = CodedOutputStream.CreateInstance(result);
- message.WriteTo(output);
- output.CheckNoSpaceLeft();
- return result;
- }
-
- public static void WriteTo(this IMessage message, Stream output)
- {
- ThrowHelper.ThrowIfNull(message, "message");
- ThrowHelper.ThrowIfNull(output, "output");
- CodedOutputStream codedOutput = CodedOutputStream.CreateInstance(output);
- message.WriteTo(codedOutput);
- codedOutput.Flush();
- }
-
- public static void WriteDelimitedTo(this IMessage message, Stream output)
- {
- ThrowHelper.ThrowIfNull(message, "message");
- ThrowHelper.ThrowIfNull(output, "output");
- CodedOutputStream codedOutput = CodedOutputStream.CreateInstance(output);
- codedOutput.WriteRawVarint32((uint)message.CalculateSize());
- message.WriteTo(codedOutput);
- codedOutput.Flush();
- }
-
- public static ByteString ToByteString(this IMessage message)
- {
- ThrowHelper.ThrowIfNull(message, "message");
- return ByteString.AttachBytes(message.ToByteArray());
- }
- }
-}
diff --git a/csharp/src/ProtocolBuffers/MessageParser.cs b/csharp/src/ProtocolBuffers/MessageParser.cs
deleted file mode 100644
index 5407de06..00000000
--- a/csharp/src/ProtocolBuffers/MessageParser.cs
+++ /dev/null
@@ -1,122 +0,0 @@
-#region Copyright notice and license
-// Protocol Buffers - Google's data interchange format
-// 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
-// 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.
-#endregion
-
-using System;
-using System.IO;
-
-namespace Google.Protobuf
-{
- /// <summary>
- /// A parser for a specific message type.
- /// </summary>
- /// <remarks>
- /// <p>
- /// This delegates most behavior to the
- /// <see cref="IMessage.MergeFrom"/> implementation within the original type, but
- /// provides convenient overloads to parse from a variety of sources.
- /// </p>
- /// <p>
- /// Most applications will never need to create their own instances of this type;
- /// instead, use the static <c>Parser</c> property of a generated message type to obtain a
- /// parser for that type.
- /// </p>
- /// </remarks>
- /// <typeparam name="T">The type of message to be parsed.</typeparam>
- public sealed class MessageParser<T> where T : IMessage<T>
- {
- private readonly Func<T> factory;
-
- /// <summary>
- /// Creates a new parser.
- /// </summary>
- /// <remarks>
- /// The factory method is effectively an optimization over using a generic constraint
- /// to require a parameterless constructor: delegates are significantly faster to execute.
- /// </remarks>
- /// <param name="factory">Function to invoke when a new, empty message is required.</param>
- public MessageParser(Func<T> factory)
- {
- this.factory = factory;
- }
-
- /// <summary>
- /// Creates a template instance ready for population.
- /// </summary>
- /// <returns>An empty message.</returns>
- internal T CreateTemplate()
- {
- return factory();
- }
-
- /// <summary>
- /// Parses a message from a byte array.
- /// </summary>
- /// <param name="data">The byte array containing the message. Must not be null.</param>
- /// <returns>The newly parsed message.</returns>
- public T ParseFrom(byte[] data)
- {
- ThrowHelper.ThrowIfNull(data, "data");
- T message = factory();
- message.MergeFrom(data);
- return message;
- }
-
- public T ParseFrom(ByteString data)
- {
- ThrowHelper.ThrowIfNull(data, "data");
- T message = factory();
- message.MergeFrom(data);
- return message;
- }
-
- public T ParseFrom(Stream input)
- {
- T message = factory();
- message.MergeFrom(input);
- return message;
- }
-
- public T ParseDelimitedFrom(Stream input)
- {
- T message = factory();
- message.MergeDelimitedFrom(input);
- return message;
- }
-
- public T ParseFrom(CodedInputStream input)
- {
- T message = factory();
- message.MergeFrom(input);
- return message;
- }
- }
-}
diff --git a/csharp/src/ProtocolBuffers/Properties/AssemblyInfo.cs b/csharp/src/ProtocolBuffers/Properties/AssemblyInfo.cs
deleted file mode 100644
index c6918e70..00000000
--- a/csharp/src/ProtocolBuffers/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,72 +0,0 @@
-#region Copyright notice and license
-// Protocol Buffers - Google's data interchange format
-// Copyright 2008 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
-// 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.
-#endregion
-
-using System.Reflection;
-using System.Runtime.CompilerServices;
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-
-[assembly: AssemblyTitle("ProtocolBuffers")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("ProtocolBuffers")]
-[assembly: AssemblyCopyright("Copyright © 2008")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("2.4.1.555")]
-
-[assembly: AssemblyVersion("2.4.1.555")]
-
-[assembly: InternalsVisibleTo("Google.Protobuf.Test, PublicKey=" +
- "00240000048000009400000006020000002400005253413100040000110000003b4611704c5379" +
- "39c3e0fbe9447dd6fa5462507f9dd4fd9fbf0712457e415b037da6d2c4eb5d2c7d29c86380af68" +
- "7cf400401bb183f2a70bd3b631c1fcb7db8aa66c766694a9fb53fa765df6303104da8c978f3b6d" +
- "53909cd30685b8bc9922c726cd82b5995e9e2cfca6df7a2d189d851492e49f4b76f269ce6dfd08" +
- "c34a7d98")]
-
-#if !NOFILEVERSION
-[assembly: AssemblyFileVersion("2.4.1.555")]
-#endif
-
diff --git a/csharp/src/ProtocolBuffers/ProtocolBuffers.csproj b/csharp/src/ProtocolBuffers/ProtocolBuffers.csproj
deleted file mode 100644
index 402d6612..00000000
--- a/csharp/src/ProtocolBuffers/ProtocolBuffers.csproj
+++ /dev/null
@@ -1,122 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
- <ProductVersion>9.0.30729</ProductVersion>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{6908BDCE-D925-43F3-94AC-A531E6DF2591}</ProjectGuid>
- <OutputType>Library</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <RootNamespace>Google.Protobuf</RootNamespace>
- <AssemblyName>Google.Protobuf</AssemblyName>
- <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <TargetFrameworkProfile>Profile92</TargetFrameworkProfile>
- <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
- <FileAlignment>512</FileAlignment>
- <SignAssembly>true</SignAssembly>
- <AssemblyOriginatorKeyFile>..\..\keys\Google.ProtocolBuffers.snk</AssemblyOriginatorKeyFile>
- <OldToolsVersion>3.5</OldToolsVersion>
- <MinimumVisualStudioVersion>10.0</MinimumVisualStudioVersion>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <DebugSymbols>true</DebugSymbols>
- <DebugType>full</DebugType>
- <Optimize>false</Optimize>
- <OutputPath>bin\Debug</OutputPath>
- <IntermediateOutputPath>obj\Debug\</IntermediateOutputPath>
- <DocumentationFile>bin\Debug\Google.Protobuf.xml</DocumentationFile>
- <NoWarn>1591, 1570, 1571, 1572, 1573, 1574</NoWarn>
- <DefineConstants>DEBUG;TRACE;$(EnvironmentFlavor);$(EnvironmentTemplate)</DefineConstants>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- <NoStdLib>true</NoStdLib>
- <GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
- <DebugType>pdbonly</DebugType>
- <Optimize>true</Optimize>
- <OutputPath>bin\Release</OutputPath>
- <IntermediateOutputPath>obj\Release\</IntermediateOutputPath>
- <DocumentationFile>$(OutputPath)\$(AssemblyName).xml</DocumentationFile>
- <NoWarn>1591, 1570, 1571, 1572, 1573, 1574</NoWarn>
- <DefineConstants>TRACE;$(EnvironmentFlavor);$(EnvironmentTemplate)</DefineConstants>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- <NoStdLib>true</NoStdLib>
- <GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
- </PropertyGroup>
- <ItemGroup>
- <Reference Include="mscorlib" />
- <Reference Include="System" />
- <Reference Include="System.Xml" />
- </ItemGroup>
- <ItemGroup>
- <Compile Include="ByteArray.cs" />
- <Compile Include="ByteString.cs" />
- <Compile Include="CodedOutputStream.ComputeSize.cs" />
- <Compile Include="CodedInputStream.cs" />
- <Compile Include="CodedOutputStream.cs" />
- <Compile Include="Collections\MapField.cs" />
- <Compile Include="Collections\ReadOnlyDictionary.cs" />
- <Compile Include="Collections\RepeatedField.cs" />
- <Compile Include="FieldCodec.cs" />
- <Compile Include="FrameworkPortability.cs" />
- <Compile Include="Freezable.cs" />
- <Compile Include="JsonFormatter.cs" />
- <Compile Include="MessageExtensions.cs" />
- <Compile Include="IMessage.cs" />
- <Compile Include="InvalidProtocolBufferException.cs" />
- <Compile Include="LimitedInputStream.cs" />
- <Compile Include="MessageParser.cs" />
- <Compile Include="Properties\AssemblyInfo.cs" />
- <Compile Include="Reflection\DescriptorBase.cs" />
- <Compile Include="Reflection\DescriptorPool.cs" />
- <Compile Include="Reflection\DescriptorProtoFile.cs" />
- <Compile Include="Reflection\DescriptorUtil.cs" />
- <Compile Include="Reflection\DescriptorValidationException.cs" />
- <Compile Include="Reflection\EnumDescriptor.cs" />
- <Compile Include="Reflection\EnumValueDescriptor.cs" />
- <Compile Include="Reflection\FieldAccessorBase.cs" />
- <Compile Include="Reflection\FieldAccessorTable.cs" />
- <Compile Include="Reflection\FieldDescriptor.cs" />
- <Compile Include="Reflection\FieldType.cs" />
- <Compile Include="Reflection\FileDescriptor.cs" />
- <Compile Include="Reflection\IDescriptor.cs" />
- <Compile Include="Reflection\IFieldAccessor.cs" />
- <Compile Include="Reflection\MapFieldAccessor.cs" />
- <Compile Include="Reflection\MessageDescriptor.cs" />
- <Compile Include="Reflection\MethodDescriptor.cs" />
- <Compile Include="Reflection\OneofAccessor.cs" />
- <Compile Include="Reflection\OneofDescriptor.cs" />
- <Compile Include="Reflection\PackageDescriptor.cs" />
- <Compile Include="Reflection\PartialClasses.cs" />
- <Compile Include="Reflection\ReflectionUtil.cs" />
- <Compile Include="Reflection\RepeatedFieldAccessor.cs" />
- <Compile Include="Reflection\ServiceDescriptor.cs" />
- <Compile Include="Reflection\SingleFieldAccessor.cs" />
- <Compile Include="ThrowHelper.cs" />
- <Compile Include="WellKnownTypes\Any.cs" />
- <Compile Include="WellKnownTypes\Api.cs" />
- <Compile Include="WellKnownTypes\Duration.cs" />
- <Compile Include="WellKnownTypes\Empty.cs" />
- <Compile Include="WellKnownTypes\FieldMask.cs" />
- <Compile Include="WellKnownTypes\SourceContext.cs" />
- <Compile Include="WellKnownTypes\Struct.cs" />
- <Compile Include="WellKnownTypes\Timestamp.cs" />
- <Compile Include="WellKnownTypes\Type.cs" />
- <Compile Include="WellKnownTypes\Wrappers.cs" />
- <Compile Include="WireFormat.cs" />
- </ItemGroup>
- <ItemGroup>
- <None Include="Google.Protobuf.nuspec" />
- </ItemGroup>
- <Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" />
- <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
- Other similar extension points exist, see Microsoft.Common.targets.
- <Target Name="BeforeBuild">
- </Target>
- <Target Name="AfterBuild">
- </Target>
- -->
-</Project> \ No newline at end of file
diff --git a/csharp/src/ProtocolBuffers/Reflection/DescriptorBase.cs b/csharp/src/ProtocolBuffers/Reflection/DescriptorBase.cs
deleted file mode 100644
index 0300cd58..00000000
--- a/csharp/src/ProtocolBuffers/Reflection/DescriptorBase.cs
+++ /dev/null
@@ -1,82 +0,0 @@
-#region Copyright notice and license
-// Protocol Buffers - Google's data interchange format
-// Copyright 2008 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
-// 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.
-#endregion
-
-namespace Google.Protobuf.Reflection
-{
- /// <summary>
- /// Base class for nearly all descriptors, providing common functionality.
- /// </summary>
- public abstract class DescriptorBase : IDescriptor
- {
- private readonly FileDescriptor file;
- private readonly string fullName;
- private readonly int index;
-
- internal DescriptorBase(FileDescriptor file, string fullName, int index)
- {
- this.file = file;
- this.fullName = fullName;
- this.index = index;
- }
-
- /// <value>
- /// The index of this descriptor within its parent descriptor.
- /// </value>
- /// <remarks>
- /// This returns the index of this descriptor within its parent, for
- /// this descriptor's type. (There can be duplicate values for different
- /// types, e.g. one enum type with index 0 and one message type with index 0.)
- /// </remarks>
- public int Index
- {
- get { return index; }
- }
-
- public abstract string Name { get; }
-
- /// <summary>
- /// The fully qualified name of the descriptor's target.
- /// </summary>
- public string FullName
- {
- get { return fullName; }
- }
-
- /// <value>
- /// The file this descriptor was declared in.
- /// </value>
- public FileDescriptor File
- {
- get { return file; }
- }
- }
-} \ No newline at end of file
diff --git a/csharp/src/ProtocolBuffers/Reflection/DescriptorPool.cs b/csharp/src/ProtocolBuffers/Reflection/DescriptorPool.cs
deleted file mode 100644
index 157ea400..00000000
--- a/csharp/src/ProtocolBuffers/Reflection/DescriptorPool.cs
+++ /dev/null
@@ -1,365 +0,0 @@
-#region Copyright notice and license
-// Protocol Buffers - Google's data interchange format
-// Copyright 2008 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
-// 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.
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-using System.Text.RegularExpressions;
-
-namespace Google.Protobuf.Reflection
-{
- /// <summary>
- /// Contains lookup tables containing all the descriptors defined in a particular file.
- /// </summary>
- internal sealed class DescriptorPool
- {
- private readonly IDictionary<string, IDescriptor> descriptorsByName =
- new Dictionary<string, IDescriptor>();
-
- private readonly IDictionary<DescriptorIntPair, FieldDescriptor> fieldsByNumber =
- new Dictionary<DescriptorIntPair, FieldDescriptor>();
-
- private readonly IDictionary<DescriptorIntPair, EnumValueDescriptor> enumValuesByNumber =
- new Dictionary<DescriptorIntPair, EnumValueDescriptor>();
-
- private readonly HashSet<FileDescriptor> dependencies;
-
- internal DescriptorPool(FileDescriptor[] dependencyFiles)
- {
- dependencies = new HashSet<FileDescriptor>();
- for (int i = 0; i < dependencyFiles.Length; i++)
- {
- dependencies.Add(dependencyFiles[i]);
- ImportPublicDependencies(dependencyFiles[i]);
- }
-
- foreach (FileDescriptor dependency in dependencyFiles)
- {
- AddPackage(dependency.Package, dependency);
- }
- }
-
- private void ImportPublicDependencies(FileDescriptor file)
- {
- foreach (FileDescriptor dependency in file.PublicDependencies)
- {
- if (dependencies.Add(dependency))
- {
- ImportPublicDependencies(dependency);
- }
- }
- }
-
- /// <summary>
- /// Finds a symbol of the given name within the pool.
- /// </summary>
- /// <typeparam name="T">The type of symbol to look for</typeparam>
- /// <param name="fullName">Fully-qualified name to look up</param>
- /// <returns>The symbol with the given name and type,
- /// or null if the symbol doesn't exist or has the wrong type</returns>
- internal T FindSymbol<T>(string fullName) where T : class
- {
- IDescriptor result;
- descriptorsByName.TryGetValue(fullName, out result);
- T descriptor = result as T;
- if (descriptor != null)
- {
- return descriptor;
- }
-
- foreach (FileDescriptor dependency in dependencies)
- {
- dependency.DescriptorPool.descriptorsByName.TryGetValue(fullName, out result);
- descriptor = result as T;
- if (descriptor != null)
- {
- return descriptor;
- }
- }
-
- return null;
- }
-
- /// <summary>
- /// Adds a package to the symbol tables. If a package by the same name
- /// already exists, that is fine, but if some other kind of symbol
- /// exists under the same name, an exception is thrown. If the package
- /// has multiple components, this also adds the parent package(s).
- /// </summary>
- internal void AddPackage(string fullName, FileDescriptor file)
- {
- int dotpos = fullName.LastIndexOf('.');
- String name;
- if (dotpos != -1)
- {
- AddPackage(fullName.Substring(0, dotpos), file);
- name = fullName.Substring(dotpos + 1);
- }
- else
- {
- name = fullName;
- }
-
- IDescriptor old;
- if (descriptorsByName.TryGetValue(fullName, out old))
- {
- if (!(old is PackageDescriptor))
- {
- throw new DescriptorValidationException(file,
- "\"" + name +
- "\" is already defined (as something other than a " +
- "package) in file \"" + old.File.Name + "\".");
- }
- }
- descriptorsByName[fullName] = new PackageDescriptor(name, fullName, file);
- }
-
- /// <summary>
- /// Adds a symbol to the symbol table.
- /// </summary>
- /// <exception cref="DescriptorValidationException">The symbol already existed
- /// in the symbol table.</exception>
- internal void AddSymbol(IDescriptor descriptor)
- {
- ValidateSymbolName(descriptor);
- String fullName = descriptor.FullName;
-
- IDescriptor old;
- if (descriptorsByName.TryGetValue(fullName, out old))
- {
- int dotPos = fullName.LastIndexOf('.');
- string message;
- if (descriptor.File == old.File)
- {
- if (dotPos == -1)
- {
- message = "\"" + fullName + "\" is already defined.";
- }
- else
- {
- message = "\"" + fullName.Substring(dotPos + 1) + "\" is already defined in \"" +
- fullName.Substring(0, dotPos) + "\".";
- }
- }
- else
- {
- message = "\"" + fullName + "\" is already defined in file \"" + old.File.Name + "\".";
- }
- throw new DescriptorValidationException(descriptor, message);
- }
- descriptorsByName[fullName] = descriptor;
- }
-
- private static readonly Regex ValidationRegex = new Regex("^[_A-Za-z][_A-Za-z0-9]*$",
- FrameworkPortability.CompiledRegexWhereAvailable);
-
- /// <summary>
- /// Verifies that the descriptor's name is valid (i.e. it contains
- /// only letters, digits and underscores, and does not start with a digit).
- /// </summary>
- /// <param name="descriptor"></param>
- private static void ValidateSymbolName(IDescriptor descriptor)
- {
- if (descriptor.Name == "")
- {
- throw new DescriptorValidationException(descriptor, "Missing name.");
- }
- if (!ValidationRegex.IsMatch(descriptor.Name))
- {
- throw new DescriptorValidationException(descriptor,
- "\"" + descriptor.Name + "\" is not a valid identifier.");
- }
- }
-
- /// <summary>
- /// Returns the field with the given number in the given descriptor,
- /// or null if it can't be found.
- /// </summary>
- internal FieldDescriptor FindFieldByNumber(MessageDescriptor messageDescriptor, int number)
- {
- FieldDescriptor ret;
- fieldsByNumber.TryGetValue(new DescriptorIntPair(messageDescriptor, number), out ret);
- return ret;
- }
-
- internal EnumValueDescriptor FindEnumValueByNumber(EnumDescriptor enumDescriptor, int number)
- {
- EnumValueDescriptor ret;
- enumValuesByNumber.TryGetValue(new DescriptorIntPair(enumDescriptor, number), out ret);
- return ret;
- }
-
- /// <summary>
- /// Adds a field to the fieldsByNumber table.
- /// </summary>
- /// <exception cref="DescriptorValidationException">A field with the same
- /// containing type and number already exists.</exception>
- internal void AddFieldByNumber(FieldDescriptor field)
- {
- DescriptorIntPair key = new DescriptorIntPair(field.ContainingType, field.FieldNumber);
- FieldDescriptor old;
- if (fieldsByNumber.TryGetValue(key, out old))
- {
- throw new DescriptorValidationException(field, "Field number " + field.FieldNumber +
- "has already been used in \"" +
- field.ContainingType.FullName +
- "\" by field \"" + old.Name + "\".");
- }
- fieldsByNumber[key] = field;
- }
-
- /// <summary>
- /// Adds an enum value to the enumValuesByNumber table. If an enum value
- /// with the same type and number already exists, this method does nothing.
- /// (This is allowed; the first value defined with the number takes precedence.)
- /// </summary>
- internal void AddEnumValueByNumber(EnumValueDescriptor enumValue)
- {
- DescriptorIntPair key = new DescriptorIntPair(enumValue.EnumDescriptor, enumValue.Number);
- if (!enumValuesByNumber.ContainsKey(key))
- {
- enumValuesByNumber[key] = enumValue;
- }
- }
-
- /// <summary>
- /// Looks up a descriptor by name, relative to some other descriptor.
- /// The name may be fully-qualified (with a leading '.'), partially-qualified,
- /// or unqualified. C++-like name lookup semantics are used to search for the
- /// matching descriptor.
- /// </summary>
- internal IDescriptor LookupSymbol(string name, IDescriptor relativeTo)
- {
- // TODO(jonskeet): This could be optimized in a number of ways.
-
- IDescriptor result;
- if (name.StartsWith("."))
- {
- // Fully-qualified name.
- result = FindSymbol<IDescriptor>(name.Substring(1));
- }
- else
- {
- // If "name" is a compound identifier, we want to search for the
- // first component of it, then search within it for the rest.
- int firstPartLength = name.IndexOf('.');
- string firstPart = firstPartLength == -1 ? name : name.Substring(0, firstPartLength);
-
- // We will search each parent scope of "relativeTo" looking for the
- // symbol.
- StringBuilder scopeToTry = new StringBuilder(relativeTo.FullName);
-
- while (true)
- {
- // Chop off the last component of the scope.
-
- // TODO(jonskeet): Make this more efficient. May not be worth using StringBuilder at all
- int dotpos = scopeToTry.ToString().LastIndexOf(".");
- if (dotpos == -1)
- {
- result = FindSymbol<IDescriptor>(name);
- break;
- }
- else
- {
- scopeToTry.Length = dotpos + 1;
-
- // Append firstPart and try to find.
- scopeToTry.Append(firstPart);
- result = FindSymbol<IDescriptor>(scopeToTry.ToString());
-
- if (result != null)
- {
- if (firstPartLength != -1)
- {
- // We only found the first part of the symbol. Now look for
- // the whole thing. If this fails, we *don't* want to keep
- // searching parent scopes.
- scopeToTry.Length = dotpos + 1;
- scopeToTry.Append(name);
- result = FindSymbol<IDescriptor>(scopeToTry.ToString());
- }
- break;
- }
-
- // Not found. Remove the name so we can try again.
- scopeToTry.Length = dotpos;
- }
- }
- }
-
- if (result == null)
- {
- throw new DescriptorValidationException(relativeTo, "\"" + name + "\" is not defined.");
- }
- else
- {
- return result;
- }
- }
-
- /// <summary>
- /// Struct used to hold the keys for the fieldByNumber table.
- /// </summary>
- private struct DescriptorIntPair : IEquatable<DescriptorIntPair>
- {
- private readonly int number;
- private readonly IDescriptor descriptor;
-
- internal DescriptorIntPair(IDescriptor descriptor, int number)
- {
- this.number = number;
- this.descriptor = descriptor;
- }
-
- public bool Equals(DescriptorIntPair other)
- {
- return descriptor == other.descriptor
- && number == other.number;
- }
-
- public override bool Equals(object obj)
- {
- if (obj is DescriptorIntPair)
- {
- return Equals((DescriptorIntPair) obj);
- }
- return false;
- }
-
- public override int GetHashCode()
- {
- return descriptor.GetHashCode()*((1 << 16) - 1) + number;
- }
- }
- }
-} \ No newline at end of file
diff --git a/csharp/src/ProtocolBuffers/Reflection/DescriptorProtoFile.cs b/csharp/src/ProtocolBuffers/Reflection/DescriptorProtoFile.cs
deleted file mode 100644
index c87969b9..00000000
--- a/csharp/src/ProtocolBuffers/Reflection/DescriptorProtoFile.cs
+++ /dev/null
@@ -1,4943 +0,0 @@
-// Generated by the protocol buffer compiler. DO NOT EDIT!
-// source: google/protobuf/descriptor_proto_file.proto
-#pragma warning disable 1591, 0612, 3021
-#region Designer generated code
-
-using pb = global::Google.Protobuf;
-using pbc = global::Google.Protobuf.Collections;
-using pbr = global::Google.Protobuf.Reflection;
-using scg = global::System.Collections.Generic;
-namespace Google.Protobuf.Reflection {
-
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- internal static partial class DescriptorProtoFile {
-
- #region Static variables
- internal static pbr::FieldAccessorTable internal__static_google_protobuf_FileDescriptorSet__FieldAccessorTable;
- internal static pbr::FieldAccessorTable internal__static_google_protobuf_FileDescriptorProto__FieldAccessorTable;
- internal static pbr::FieldAccessorTable internal__static_google_protobuf_DescriptorProto__FieldAccessorTable;
- internal static pbr::FieldAccessorTable internal__static_google_protobuf_DescriptorProto_ExtensionRange__FieldAccessorTable;
- internal static pbr::FieldAccessorTable internal__static_google_protobuf_DescriptorProto_ReservedRange__FieldAccessorTable;
- internal static pbr::FieldAccessorTable internal__static_google_protobuf_FieldDescriptorProto__FieldAccessorTable;
- internal static pbr::FieldAccessorTable internal__static_google_protobuf_OneofDescriptorProto__FieldAccessorTable;
- internal static pbr::FieldAccessorTable internal__static_google_protobuf_EnumDescriptorProto__FieldAccessorTable;
- internal static pbr::FieldAccessorTable internal__static_google_protobuf_EnumValueDescriptorProto__FieldAccessorTable;
- internal static pbr::FieldAccessorTable internal__static_google_protobuf_ServiceDescriptorProto__FieldAccessorTable;
- internal static pbr::FieldAccessorTable internal__static_google_protobuf_MethodDescriptorProto__FieldAccessorTable;
- internal static pbr::FieldAccessorTable internal__static_google_protobuf_FileOptions__FieldAccessorTable;
- internal static pbr::FieldAccessorTable internal__static_google_protobuf_MessageOptions__FieldAccessorTable;
- internal static pbr::FieldAccessorTable internal__static_google_protobuf_FieldOptions__FieldAccessorTable;
- internal static pbr::FieldAccessorTable internal__static_google_protobuf_EnumOptions__FieldAccessorTable;
- internal static pbr::FieldAccessorTable internal__static_google_protobuf_EnumValueOptions__FieldAccessorTable;
- internal static pbr::FieldAccessorTable internal__static_google_protobuf_ServiceOptions__FieldAccessorTable;
- internal static pbr::FieldAccessorTable internal__static_google_protobuf_MethodOptions__FieldAccessorTable;
- internal static pbr::FieldAccessorTable internal__static_google_protobuf_UninterpretedOption__FieldAccessorTable;
- internal static pbr::FieldAccessorTable internal__static_google_protobuf_UninterpretedOption_NamePart__FieldAccessorTable;
- internal static pbr::FieldAccessorTable internal__static_google_protobuf_SourceCodeInfo__FieldAccessorTable;
- internal static pbr::FieldAccessorTable internal__static_google_protobuf_SourceCodeInfo_Location__FieldAccessorTable;
- #endregion
- #region Descriptor
- public static pbr::FileDescriptor Descriptor {
- get { return descriptor; }
- }
- private static pbr::FileDescriptor descriptor;
-
- static DescriptorProtoFile() {
- byte[] descriptorData = global::System.Convert.FromBase64String(
- string.Concat(
- "Citnb29nbGUvcHJvdG9idWYvZGVzY3JpcHRvcl9wcm90b19maWxlLnByb3Rv",
- "Eg9nb29nbGUucHJvdG9idWYiRwoRRmlsZURlc2NyaXB0b3JTZXQSMgoEZmls",
- "ZRgBIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5GaWxlRGVzY3JpcHRvclByb3Rv",
- "ItsDChNGaWxlRGVzY3JpcHRvclByb3RvEgwKBG5hbWUYASABKAkSDwoHcGFj",
- "a2FnZRgCIAEoCRISCgpkZXBlbmRlbmN5GAMgAygJEhkKEXB1YmxpY19kZXBl",
- "bmRlbmN5GAogAygFEhcKD3dlYWtfZGVwZW5kZW5jeRgLIAMoBRI2CgxtZXNz",
- "YWdlX3R5cGUYBCADKAsyIC5nb29nbGUucHJvdG9idWYuRGVzY3JpcHRvclBy",
- "b3RvEjcKCWVudW1fdHlwZRgFIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5FbnVt",
- "RGVzY3JpcHRvclByb3RvEjgKB3NlcnZpY2UYBiADKAsyJy5nb29nbGUucHJv",
- "dG9idWYuU2VydmljZURlc2NyaXB0b3JQcm90bxI4CglleHRlbnNpb24YByAD",
- "KAsyJS5nb29nbGUucHJvdG9idWYuRmllbGREZXNjcmlwdG9yUHJvdG8SLQoH",
- "b3B0aW9ucxgIIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5GaWxlT3B0aW9ucxI5",
- "ChBzb3VyY2VfY29kZV9pbmZvGAkgASgLMh8uZ29vZ2xlLnByb3RvYnVmLlNv",
- "dXJjZUNvZGVJbmZvEg4KBnN5bnRheBgMIAEoCSLwBAoPRGVzY3JpcHRvclBy",
- "b3RvEgwKBG5hbWUYASABKAkSNAoFZmllbGQYAiADKAsyJS5nb29nbGUucHJv",
- "dG9idWYuRmllbGREZXNjcmlwdG9yUHJvdG8SOAoJZXh0ZW5zaW9uGAYgAygL",
- "MiUuZ29vZ2xlLnByb3RvYnVmLkZpZWxkRGVzY3JpcHRvclByb3RvEjUKC25l",
- "c3RlZF90eXBlGAMgAygLMiAuZ29vZ2xlLnByb3RvYnVmLkRlc2NyaXB0b3JQ",
- "cm90bxI3CgllbnVtX3R5cGUYBCADKAsyJC5nb29nbGUucHJvdG9idWYuRW51",
- "bURlc2NyaXB0b3JQcm90bxJICg9leHRlbnNpb25fcmFuZ2UYBSADKAsyLy5n",
- "b29nbGUucHJvdG9idWYuRGVzY3JpcHRvclByb3RvLkV4dGVuc2lvblJhbmdl",
- "EjkKCm9uZW9mX2RlY2wYCCADKAsyJS5nb29nbGUucHJvdG9idWYuT25lb2ZE",
- "ZXNjcmlwdG9yUHJvdG8SMAoHb3B0aW9ucxgHIAEoCzIfLmdvb2dsZS5wcm90",
- "b2J1Zi5NZXNzYWdlT3B0aW9ucxJGCg5yZXNlcnZlZF9yYW5nZRgJIAMoCzIu",
- "Lmdvb2dsZS5wcm90b2J1Zi5EZXNjcmlwdG9yUHJvdG8uUmVzZXJ2ZWRSYW5n",
- "ZRIVCg1yZXNlcnZlZF9uYW1lGAogAygJGiwKDkV4dGVuc2lvblJhbmdlEg0K",
- "BXN0YXJ0GAEgASgFEgsKA2VuZBgCIAEoBRorCg1SZXNlcnZlZFJhbmdlEg0K",
- "BXN0YXJ0GAEgASgFEgsKA2VuZBgCIAEoBSKpBQoURmllbGREZXNjcmlwdG9y",
- "UHJvdG8SDAoEbmFtZRgBIAEoCRIOCgZudW1iZXIYAyABKAUSOgoFbGFiZWwY",
- "BCABKA4yKy5nb29nbGUucHJvdG9idWYuRmllbGREZXNjcmlwdG9yUHJvdG8u",
- "TGFiZWwSOAoEdHlwZRgFIAEoDjIqLmdvb2dsZS5wcm90b2J1Zi5GaWVsZERl",
- "c2NyaXB0b3JQcm90by5UeXBlEhEKCXR5cGVfbmFtZRgGIAEoCRIQCghleHRl",
- "bmRlZRgCIAEoCRIVCg1kZWZhdWx0X3ZhbHVlGAcgASgJEhMKC29uZW9mX2lu",
- "ZGV4GAkgASgFEi4KB29wdGlvbnMYCCABKAsyHS5nb29nbGUucHJvdG9idWYu",
- "RmllbGRPcHRpb25zIrYCCgRUeXBlEg8KC1RZUEVfRE9VQkxFEAESDgoKVFlQ",
- "RV9GTE9BVBACEg4KClRZUEVfSU5UNjQQAxIPCgtUWVBFX1VJTlQ2NBAEEg4K",
- "ClRZUEVfSU5UMzIQBRIQCgxUWVBFX0ZJWEVENjQQBhIQCgxUWVBFX0ZJWEVE",
- "MzIQBxINCglUWVBFX0JPT0wQCBIPCgtUWVBFX1NUUklORxAJEg4KClRZUEVf",
- "R1JPVVAQChIQCgxUWVBFX01FU1NBR0UQCxIOCgpUWVBFX0JZVEVTEAwSDwoL",
- "VFlQRV9VSU5UMzIQDRINCglUWVBFX0VOVU0QDhIRCg1UWVBFX1NGSVhFRDMy",
- "EA8SEQoNVFlQRV9TRklYRUQ2NBAQEg8KC1RZUEVfU0lOVDMyEBESDwoLVFlQ",
- "RV9TSU5UNjQQEiJDCgVMYWJlbBISCg5MQUJFTF9PUFRJT05BTBABEhIKDkxB",
- "QkVMX1JFUVVJUkVEEAISEgoOTEFCRUxfUkVQRUFURUQQAyIkChRPbmVvZkRl",
- "c2NyaXB0b3JQcm90bxIMCgRuYW1lGAEgASgJIowBChNFbnVtRGVzY3JpcHRv",
- "clByb3RvEgwKBG5hbWUYASABKAkSOAoFdmFsdWUYAiADKAsyKS5nb29nbGUu",
- "cHJvdG9idWYuRW51bVZhbHVlRGVzY3JpcHRvclByb3RvEi0KB29wdGlvbnMY",
- "AyABKAsyHC5nb29nbGUucHJvdG9idWYuRW51bU9wdGlvbnMibAoYRW51bVZh",
- "bHVlRGVzY3JpcHRvclByb3RvEgwKBG5hbWUYASABKAkSDgoGbnVtYmVyGAIg",
- "ASgFEjIKB29wdGlvbnMYAyABKAsyIS5nb29nbGUucHJvdG9idWYuRW51bVZh",
- "bHVlT3B0aW9ucyKQAQoWU2VydmljZURlc2NyaXB0b3JQcm90bxIMCgRuYW1l",
- "GAEgASgJEjYKBm1ldGhvZBgCIAMoCzImLmdvb2dsZS5wcm90b2J1Zi5NZXRo",
- "b2REZXNjcmlwdG9yUHJvdG8SMAoHb3B0aW9ucxgDIAEoCzIfLmdvb2dsZS5w",
- "cm90b2J1Zi5TZXJ2aWNlT3B0aW9ucyLBAQoVTWV0aG9kRGVzY3JpcHRvclBy",
- "b3RvEgwKBG5hbWUYASABKAkSEgoKaW5wdXRfdHlwZRgCIAEoCRITCgtvdXRw",
- "dXRfdHlwZRgDIAEoCRIvCgdvcHRpb25zGAQgASgLMh4uZ29vZ2xlLnByb3Rv",
- "YnVmLk1ldGhvZE9wdGlvbnMSHwoQY2xpZW50X3N0cmVhbWluZxgFIAEoCDoF",
- "ZmFsc2USHwoQc2VydmVyX3N0cmVhbWluZxgGIAEoCDoFZmFsc2UigQUKC0Zp",
- "bGVPcHRpb25zEhQKDGphdmFfcGFja2FnZRgBIAEoCRIcChRqYXZhX291dGVy",
- "X2NsYXNzbmFtZRgIIAEoCRIiChNqYXZhX211bHRpcGxlX2ZpbGVzGAogASgI",
- "OgVmYWxzZRIsCh1qYXZhX2dlbmVyYXRlX2VxdWFsc19hbmRfaGFzaBgUIAEo",
- "CDoFZmFsc2USJQoWamF2YV9zdHJpbmdfY2hlY2tfdXRmOBgbIAEoCDoFZmFs",
- "c2USRgoMb3B0aW1pemVfZm9yGAkgASgOMikuZ29vZ2xlLnByb3RvYnVmLkZp",
- "bGVPcHRpb25zLk9wdGltaXplTW9kZToFU1BFRUQSEgoKZ29fcGFja2FnZRgL",
- "IAEoCRIiChNjY19nZW5lcmljX3NlcnZpY2VzGBAgASgIOgVmYWxzZRIkChVq",
- "YXZhX2dlbmVyaWNfc2VydmljZXMYESABKAg6BWZhbHNlEiIKE3B5X2dlbmVy",
- "aWNfc2VydmljZXMYEiABKAg6BWZhbHNlEhkKCmRlcHJlY2F0ZWQYFyABKAg6",
- "BWZhbHNlEh8KEGNjX2VuYWJsZV9hcmVuYXMYHyABKAg6BWZhbHNlEhkKEW9i",
- "amNfY2xhc3NfcHJlZml4GCQgASgJEhgKEGNzaGFycF9uYW1lc3BhY2UYJSAB",
- "KAkSQwoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnBy",
- "b3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb24iOgoMT3B0aW1pemVNb2RlEgkK",
- "BVNQRUVEEAESDQoJQ09ERV9TSVpFEAISEAoMTElURV9SVU5USU1FEAMqCQjo",
- "BxCAgICAAiLmAQoOTWVzc2FnZU9wdGlvbnMSJgoXbWVzc2FnZV9zZXRfd2ly",
- "ZV9mb3JtYXQYASABKAg6BWZhbHNlEi4KH25vX3N0YW5kYXJkX2Rlc2NyaXB0",
- "b3JfYWNjZXNzb3IYAiABKAg6BWZhbHNlEhkKCmRlcHJlY2F0ZWQYAyABKAg6",
- "BWZhbHNlEhEKCW1hcF9lbnRyeRgHIAEoCBJDChR1bmludGVycHJldGVkX29w",
- "dGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9w",
- "dGlvbioJCOgHEICAgIACIpgDCgxGaWVsZE9wdGlvbnMSOgoFY3R5cGUYASAB",
- "KA4yIy5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zLkNUeXBlOgZTVFJJ",
- "TkcSDgoGcGFja2VkGAIgASgIEj8KBmpzdHlwZRgGIAEoDjIkLmdvb2dsZS5w",
- "cm90b2J1Zi5GaWVsZE9wdGlvbnMuSlNUeXBlOglKU19OT1JNQUwSEwoEbGF6",
- "eRgFIAEoCDoFZmFsc2USGQoKZGVwcmVjYXRlZBgDIAEoCDoFZmFsc2USEwoE",
- "d2VhaxgKIAEoCDoFZmFsc2USQwoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcg",
- "AygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb24iLwoF",
- "Q1R5cGUSCgoGU1RSSU5HEAASCAoEQ09SRBABEhAKDFNUUklOR19QSUVDRRAC",
- "IjUKBkpTVHlwZRINCglKU19OT1JNQUwQABINCglKU19TVFJJTkcQARINCglK",
- "U19OVU1CRVIQAioJCOgHEICAgIACIo0BCgtFbnVtT3B0aW9ucxITCgthbGxv",
- "d19hbGlhcxgCIAEoCBIZCgpkZXByZWNhdGVkGAMgASgIOgVmYWxzZRJDChR1",
- "bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYu",
- "VW5pbnRlcnByZXRlZE9wdGlvbioJCOgHEICAgIACIn0KEEVudW1WYWx1ZU9w",
- "dGlvbnMSGQoKZGVwcmVjYXRlZBgBIAEoCDoFZmFsc2USQwoUdW5pbnRlcnBy",
- "ZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJw",
- "cmV0ZWRPcHRpb24qCQjoBxCAgICAAiJ7Cg5TZXJ2aWNlT3B0aW9ucxIZCgpk",
- "ZXByZWNhdGVkGCEgASgIOgVmYWxzZRJDChR1bmludGVycHJldGVkX29wdGlv",
- "bhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlv",
- "bioJCOgHEICAgIACInoKDU1ldGhvZE9wdGlvbnMSGQoKZGVwcmVjYXRlZBgh",
- "IAEoCDoFZmFsc2USQwoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQu",
- "Z29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb24qCQjoBxCAgICA",
- "AiKeAgoTVW5pbnRlcnByZXRlZE9wdGlvbhI7CgRuYW1lGAIgAygLMi0uZ29v",
- "Z2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb24uTmFtZVBhcnQSGAoQ",
- "aWRlbnRpZmllcl92YWx1ZRgDIAEoCRIaChJwb3NpdGl2ZV9pbnRfdmFsdWUY",
- "BCABKAQSGgoSbmVnYXRpdmVfaW50X3ZhbHVlGAUgASgDEhQKDGRvdWJsZV92",
- "YWx1ZRgGIAEoARIUCgxzdHJpbmdfdmFsdWUYByABKAwSFwoPYWdncmVnYXRl",
- "X3ZhbHVlGAggASgJGjMKCE5hbWVQYXJ0EhEKCW5hbWVfcGFydBgBIAIoCRIU",
- "Cgxpc19leHRlbnNpb24YAiACKAgi1QEKDlNvdXJjZUNvZGVJbmZvEjoKCGxv",
- "Y2F0aW9uGAEgAygLMiguZ29vZ2xlLnByb3RvYnVmLlNvdXJjZUNvZGVJbmZv",
- "LkxvY2F0aW9uGoYBCghMb2NhdGlvbhIQCgRwYXRoGAEgAygFQgIQARIQCgRz",
- "cGFuGAIgAygFQgIQARIYChBsZWFkaW5nX2NvbW1lbnRzGAMgASgJEhkKEXRy",
- "YWlsaW5nX2NvbW1lbnRzGAQgASgJEiEKGWxlYWRpbmdfZGV0YWNoZWRfY29t",
- "bWVudHMYBiADKAlCWAoTY29tLmdvb2dsZS5wcm90b2J1ZkIQRGVzY3JpcHRv",
- "clByb3Rvc0gBWgpkZXNjcmlwdG9yogIDR1BCqgIaR29vZ2xlLlByb3RvYnVm",
- "LlJlZmxlY3Rpb24="));
- descriptor = pbr::FileDescriptor.InternalBuildGeneratedFileFrom(descriptorData,
- new pbr::FileDescriptor[] {
- });
- internal__static_google_protobuf_FileDescriptorSet__FieldAccessorTable =
- new pbr::FieldAccessorTable(typeof(global::Google.Protobuf.Reflection.FileDescriptorSet), descriptor.MessageTypes[0],
- new string[] { "File", }, new string[] { });
- internal__static_google_protobuf_FileDescriptorProto__FieldAccessorTable =
- new pbr::FieldAccessorTable(typeof(global::Google.Protobuf.Reflection.FileDescriptorProto), descriptor.MessageTypes[1],
- new string[] { "Name", "Package", "Dependency", "PublicDependency", "WeakDependency", "MessageType", "EnumType", "Service", "Extension", "Options", "SourceCodeInfo", "Syntax", }, new string[] { });
- internal__static_google_protobuf_DescriptorProto__FieldAccessorTable =
- new pbr::FieldAccessorTable(typeof(global::Google.Protobuf.Reflection.DescriptorProto), descriptor.MessageTypes[2],
- new string[] { "Name", "Field", "Extension", "NestedType", "EnumType", "ExtensionRange", "OneofDecl", "Options", "ReservedRange", "ReservedName", }, new string[] { });
- internal__static_google_protobuf_DescriptorProto_ExtensionRange__FieldAccessorTable =
- new pbr::FieldAccessorTable(typeof(global::Google.Protobuf.Reflection.DescriptorProto.Types.ExtensionRange), descriptor.MessageTypes[2].NestedTypes[0],
- new string[] { "Start", "End", }, new string[] { });
- internal__static_google_protobuf_DescriptorProto_ReservedRange__FieldAccessorTable =
- new pbr::FieldAccessorTable(typeof(global::Google.Protobuf.Reflection.DescriptorProto.Types.ReservedRange), descriptor.MessageTypes[2].NestedTypes[1],
- new string[] { "Start", "End", }, new string[] { });
- internal__static_google_protobuf_FieldDescriptorProto__FieldAccessorTable =
- new pbr::FieldAccessorTable(typeof(global::Google.Protobuf.Reflection.FieldDescriptorProto), descriptor.MessageTypes[3],
- new string[] { "Name", "Number", "Label", "Type", "TypeName", "Extendee", "DefaultValue", "OneofIndex", "Options", }, new string[] { });
- internal__static_google_protobuf_OneofDescriptorProto__FieldAccessorTable =
- new pbr::FieldAccessorTable(typeof(global::Google.Protobuf.Reflection.OneofDescriptorProto), descriptor.MessageTypes[4],
- new string[] { "Name", }, new string[] { });
- internal__static_google_protobuf_EnumDescriptorProto__FieldAccessorTable =
- new pbr::FieldAccessorTable(typeof(global::Google.Protobuf.Reflection.EnumDescriptorProto), descriptor.MessageTypes[5],
- new string[] { "Name", "Value", "Options", }, new string[] { });
- internal__static_google_protobuf_EnumValueDescriptorProto__FieldAccessorTable =
- new pbr::FieldAccessorTable(typeof(global::Google.Protobuf.Reflection.EnumValueDescriptorProto), descriptor.MessageTypes[6],
- new string[] { "Name", "Number", "Options", }, new string[] { });
- internal__static_google_protobuf_ServiceDescriptorProto__FieldAccessorTable =
- new pbr::FieldAccessorTable(typeof(global::Google.Protobuf.Reflection.ServiceDescriptorProto), descriptor.MessageTypes[7],
- new string[] { "Name", "Method", "Options", }, new string[] { });
- internal__static_google_protobuf_MethodDescriptorProto__FieldAccessorTable =
- new pbr::FieldAccessorTable(typeof(global::Google.Protobuf.Reflection.MethodDescriptorProto), descriptor.MessageTypes[8],
- new string[] { "Name", "InputType", "OutputType", "Options", "ClientStreaming", "ServerStreaming", }, new string[] { });
- internal__static_google_protobuf_FileOptions__FieldAccessorTable =
- new pbr::FieldAccessorTable(typeof(global::Google.Protobuf.Reflection.FileOptions), descriptor.MessageTypes[9],
- new string[] { "JavaPackage", "JavaOuterClassname", "JavaMultipleFiles", "JavaGenerateEqualsAndHash", "JavaStringCheckUtf8", "OptimizeFor", "GoPackage", "CcGenericServices", "JavaGenericServices", "PyGenericServices", "Deprecated", "CcEnableArenas", "ObjcClassPrefix", "CsharpNamespace", "UninterpretedOption", }, new string[] { });
- internal__static_google_protobuf_MessageOptions__FieldAccessorTable =
- new pbr::FieldAccessorTable(typeof(global::Google.Protobuf.Reflection.MessageOptions), descriptor.MessageTypes[10],
- new string[] { "MessageSetWireFormat", "NoStandardDescriptorAccessor", "Deprecated", "MapEntry", "UninterpretedOption", }, new string[] { });
- internal__static_google_protobuf_FieldOptions__FieldAccessorTable =
- new pbr::FieldAccessorTable(typeof(global::Google.Protobuf.Reflection.FieldOptions), descriptor.MessageTypes[11],
- new string[] { "Ctype", "Packed", "Jstype", "Lazy", "Deprecated", "Weak", "UninterpretedOption", }, new string[] { });
- internal__static_google_protobuf_EnumOptions__FieldAccessorTable =
- new pbr::FieldAccessorTable(typeof(global::Google.Protobuf.Reflection.EnumOptions), descriptor.MessageTypes[12],
- new string[] { "AllowAlias", "Deprecated", "UninterpretedOption", }, new string[] { });
- internal__static_google_protobuf_EnumValueOptions__FieldAccessorTable =
- new pbr::FieldAccessorTable(typeof(global::Google.Protobuf.Reflection.EnumValueOptions), descriptor.MessageTypes[13],
- new string[] { "Deprecated", "UninterpretedOption", }, new string[] { });
- internal__static_google_protobuf_ServiceOptions__FieldAccessorTable =
- new pbr::FieldAccessorTable(typeof(global::Google.Protobuf.Reflection.ServiceOptions), descriptor.MessageTypes[14],
- new string[] { "Deprecated", "UninterpretedOption", }, new string[] { });
- internal__static_google_protobuf_MethodOptions__FieldAccessorTable =
- new pbr::FieldAccessorTable(typeof(global::Google.Protobuf.Reflection.MethodOptions), descriptor.MessageTypes[15],
- new string[] { "Deprecated", "UninterpretedOption", }, new string[] { });
- internal__static_google_protobuf_UninterpretedOption__FieldAccessorTable =
- new pbr::FieldAccessorTable(typeof(global::Google.Protobuf.Reflection.UninterpretedOption), descriptor.MessageTypes[16],
- new string[] { "Name", "IdentifierValue", "PositiveIntValue", "NegativeIntValue", "DoubleValue", "StringValue", "AggregateValue", }, new string[] { });
- internal__static_google_protobuf_UninterpretedOption_NamePart__FieldAccessorTable =
- new pbr::FieldAccessorTable(typeof(global::Google.Protobuf.Reflection.UninterpretedOption.Types.NamePart), descriptor.MessageTypes[16].NestedTypes[0],
- new string[] { "NamePart_", "IsExtension", }, new string[] { });
- internal__static_google_protobuf_SourceCodeInfo__FieldAccessorTable =
- new pbr::FieldAccessorTable(typeof(global::Google.Protobuf.Reflection.SourceCodeInfo), descriptor.MessageTypes[17],
- new string[] { "Location", }, new string[] { });
- internal__static_google_protobuf_SourceCodeInfo_Location__FieldAccessorTable =
- new pbr::FieldAccessorTable(typeof(global::Google.Protobuf.Reflection.SourceCodeInfo.Types.Location), descriptor.MessageTypes[17].NestedTypes[0],
- new string[] { "Path", "Span", "LeadingComments", "TrailingComments", "LeadingDetachedComments", }, new string[] { });
- }
- #endregion
-
- }
- #region Messages
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- internal sealed partial class FileDescriptorSet : pb::IMessage<FileDescriptorSet> {
- private static readonly pb::MessageParser<FileDescriptorSet> _parser = new pb::MessageParser<FileDescriptorSet>(() => new FileDescriptorSet());
- public static pb::MessageParser<FileDescriptorSet> Parser { get { return _parser; } }
-
- private static readonly string[] _fieldNames = new string[] { "file" };
- private static readonly uint[] _fieldTags = new uint[] { 10 };
- public static pbr::MessageDescriptor Descriptor {
- get { return global::Google.Protobuf.Reflection.DescriptorProtoFile.Descriptor.MessageTypes[0]; }
- }
-
- pbr::FieldAccessorTable pb::IReflectedMessage.Fields {
- get { return global::Google.Protobuf.Reflection.DescriptorProtoFile.internal__static_google_protobuf_FileDescriptorSet__FieldAccessorTable; }
- }
-
- private bool _frozen = false;
- public bool IsFrozen { get { return _frozen; } }
-
- public FileDescriptorSet() {
- OnConstruction();
- }
-
- partial void OnConstruction();
-
- public FileDescriptorSet(FileDescriptorSet other) : this() {
- file_ = other.file_.Clone();
- }
-
- public FileDescriptorSet Clone() {
- return new FileDescriptorSet(this);
- }
-
- public void Freeze() {
- if (IsFrozen) {
- return;
- }
- _frozen = true;
- file_.Freeze();
- }
-
- public const int FileFieldNumber = 1;
- private static readonly pb::FieldCodec<global::Google.Protobuf.Reflection.FileDescriptorProto> _repeated_file_codec
- = pb::FieldCodec.ForMessage(10, global::Google.Protobuf.Reflection.FileDescriptorProto.Parser);
- private readonly pbc::RepeatedField<global::Google.Protobuf.Reflection.FileDescriptorProto> file_ = new pbc::RepeatedField<global::Google.Protobuf.Reflection.FileDescriptorProto>();
- internal pbc::RepeatedField<global::Google.Protobuf.Reflection.FileDescriptorProto> File {
- get { return file_; }
- }
-
- public override bool Equals(object other) {
- return Equals(other as FileDescriptorSet);
- }
-
- public bool Equals(FileDescriptorSet other) {
- if (ReferenceEquals(other, null)) {
- return false;
- }
- if (ReferenceEquals(other, this)) {
- return true;
- }
- if(!file_.Equals(other.file_)) return false;
- return true;
- }
-
- public override int GetHashCode() {
- int hash = 1;
- hash ^= file_.GetHashCode();
- return hash;
- }
-
- public override string ToString() {
- return pb::JsonFormatter.Default.Format(this);
- }
-
- public void WriteTo(pb::CodedOutputStream output) {
- file_.WriteTo(output, _repeated_file_codec);
- }
-
- public int CalculateSize() {
- int size = 0;
- size += file_.CalculateSize(_repeated_file_codec);
- return size;
- }
-
- public void MergeFrom(FileDescriptorSet other) {
- if (other == null) {
- return;
- }
- file_.Add(other.file_);
- }
-
- public void MergeFrom(pb::CodedInputStream input) {
- uint tag;
- while (input.ReadTag(out tag)) {
- switch(tag) {
- case 0:
- throw pb::InvalidProtocolBufferException.InvalidTag();
- default:
- if (pb::WireFormat.IsEndGroupTag(tag)) {
- return;
- }
- break;
- case 10: {
- file_.AddEntriesFrom(input, _repeated_file_codec);
- break;
- }
- }
- }
- }
-
- }
-
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- internal sealed partial class FileDescriptorProto : pb::IMessage<FileDescriptorProto> {
- private static readonly pb::MessageParser<FileDescriptorProto> _parser = new pb::MessageParser<FileDescriptorProto>(() => new FileDescriptorProto());
- public static pb::MessageParser<FileDescriptorProto> Parser { get { return _parser; } }
-
- private static readonly string[] _fieldNames = new string[] { "dependency", "enum_type", "extension", "message_type", "name", "options", "package", "public_dependency", "service", "source_code_info", "syntax", "weak_dependency" };
- private static readonly uint[] _fieldTags = new uint[] { 26, 42, 58, 34, 10, 66, 18, 80, 50, 74, 98, 88 };
- public static pbr::MessageDescriptor Descriptor {
- get { return global::Google.Protobuf.Reflection.DescriptorProtoFile.Descriptor.MessageTypes[1]; }
- }
-
- pbr::FieldAccessorTable pb::IReflectedMessage.Fields {
- get { return global::Google.Protobuf.Reflection.DescriptorProtoFile.internal__static_google_protobuf_FileDescriptorProto__FieldAccessorTable; }
- }
-
- private bool _frozen = false;
- public bool IsFrozen { get { return _frozen; } }
-
- public FileDescriptorProto() {
- OnConstruction();
- }
-
- partial void OnConstruction();
-
- public FileDescriptorProto(FileDescriptorProto other) : this() {
- name_ = other.name_;
- package_ = other.package_;
- dependency_ = other.dependency_.Clone();
- publicDependency_ = other.publicDependency_.Clone();
- weakDependency_ = other.weakDependency_.Clone();
- messageType_ = other.messageType_.Clone();
- enumType_ = other.enumType_.Clone();
- service_ = other.service_.Clone();
- extension_ = other.extension_.Clone();
- Options = other.options_ != null ? other.Options.Clone() : null;
- SourceCodeInfo = other.sourceCodeInfo_ != null ? other.SourceCodeInfo.Clone() : null;
- syntax_ = other.syntax_;
- }
-
- public FileDescriptorProto Clone() {
- return new FileDescriptorProto(this);
- }
-
- public void Freeze() {
- if (IsFrozen) {
- return;
- }
- _frozen = true;
- dependency_.Freeze();
- publicDependency_.Freeze();
- weakDependency_.Freeze();
- messageType_.Freeze();
- enumType_.Freeze();
- service_.Freeze();
- extension_.Freeze();
- if (options_ != null) Options.Freeze();
- if (sourceCodeInfo_ != null) SourceCodeInfo.Freeze();
- }
-
- public const int NameFieldNumber = 1;
- private string name_ = "";
- internal string Name {
- get { return name_; }
- set {
- pb::Freezable.CheckMutable(this);
- name_ = value ?? "";
- }
- }
-
- public const int PackageFieldNumber = 2;
- private string package_ = "";
- internal string Package {
- get { return package_; }
- set {
- pb::Freezable.CheckMutable(this);
- package_ = value ?? "";
- }
- }
-
- public const int DependencyFieldNumber = 3;
- private static readonly pb::FieldCodec<string> _repeated_dependency_codec
- = pb::FieldCodec.ForString(26);
- private readonly pbc::RepeatedField<string> dependency_ = new pbc::RepeatedField<string>();
- internal pbc::RepeatedField<string> Dependency {
- get { return dependency_; }
- }
-
- public const int PublicDependencyFieldNumber = 10;
- private static readonly pb::FieldCodec<int> _repeated_publicDependency_codec
- = pb::FieldCodec.ForInt32(80);
- private readonly pbc::RepeatedField<int> publicDependency_ = new pbc::RepeatedField<int>();
- internal pbc::RepeatedField<int> PublicDependency {
- get { return publicDependency_; }
- }
-
- public const int WeakDependencyFieldNumber = 11;
- private static readonly pb::FieldCodec<int> _repeated_weakDependency_codec
- = pb::FieldCodec.ForInt32(88);
- private readonly pbc::RepeatedField<int> weakDependency_ = new pbc::RepeatedField<int>();
- internal pbc::RepeatedField<int> WeakDependency {
- get { return weakDependency_; }
- }
-
- public const int MessageTypeFieldNumber = 4;
- private static readonly pb::FieldCodec<global::Google.Protobuf.Reflection.DescriptorProto> _repeated_messageType_codec
- = pb::FieldCodec.ForMessage(34, global::Google.Protobuf.Reflection.DescriptorProto.Parser);
- private readonly pbc::RepeatedField<global::Google.Protobuf.Reflection.DescriptorProto> messageType_ = new pbc::RepeatedField<global::Google.Protobuf.Reflection.DescriptorProto>();
- internal pbc::RepeatedField<global::Google.Protobuf.Reflection.DescriptorProto> MessageType {
- get { return messageType_; }
- }
-
- public const int EnumTypeFieldNumber = 5;
- private static readonly pb::FieldCodec<global::Google.Protobuf.Reflection.EnumDescriptorProto> _repeated_enumType_codec
- = pb::FieldCodec.ForMessage(42, global::Google.Protobuf.Reflection.EnumDescriptorProto.Parser);
- private readonly pbc::RepeatedField<global::Google.Protobuf.Reflection.EnumDescriptorProto> enumType_ = new pbc::RepeatedField<global::Google.Protobuf.Reflection.EnumDescriptorProto>();
- internal pbc::RepeatedField<global::Google.Protobuf.Reflection.EnumDescriptorProto> EnumType {
- get { return enumType_; }
- }
-
- public const int ServiceFieldNumber = 6;
- private static readonly pb::FieldCodec<global::Google.Protobuf.Reflection.ServiceDescriptorProto> _repeated_service_codec
- = pb::FieldCodec.ForMessage(50, global::Google.Protobuf.Reflection.ServiceDescriptorProto.Parser);
- private readonly pbc::RepeatedField<global::Google.Protobuf.Reflection.ServiceDescriptorProto> service_ = new pbc::RepeatedField<global::Google.Protobuf.Reflection.ServiceDescriptorProto>();
- internal pbc::RepeatedField<global::Google.Protobuf.Reflection.ServiceDescriptorProto> Service {
- get { return service_; }
- }
-
- public const int ExtensionFieldNumber = 7;
- private static readonly pb::FieldCodec<global::Google.Protobuf.Reflection.FieldDescriptorProto> _repeated_extension_codec
- = pb::FieldCodec.ForMessage(58, global::Google.Protobuf.Reflection.FieldDescriptorProto.Parser);
- private readonly pbc::RepeatedField<global::Google.Protobuf.Reflection.FieldDescriptorProto> extension_ = new pbc::RepeatedField<global::Google.Protobuf.Reflection.FieldDescriptorProto>();
- internal pbc::RepeatedField<global::Google.Protobuf.Reflection.FieldDescriptorProto> Extension {
- get { return extension_; }
- }
-
- public const int OptionsFieldNumber = 8;
- private global::Google.Protobuf.Reflection.FileOptions options_;
- internal global::Google.Protobuf.Reflection.FileOptions Options {
- get { return options_; }
- set {
- pb::Freezable.CheckMutable(this);
- options_ = value;
- }
- }
-
- public const int SourceCodeInfoFieldNumber = 9;
- private global::Google.Protobuf.Reflection.SourceCodeInfo sourceCodeInfo_;
- internal global::Google.Protobuf.Reflection.SourceCodeInfo SourceCodeInfo {
- get { return sourceCodeInfo_; }
- set {
- pb::Freezable.CheckMutable(this);
- sourceCodeInfo_ = value;
- }
- }
-
- public const int SyntaxFieldNumber = 12;
- private string syntax_ = "";
- internal string Syntax {
- get { return syntax_; }
- set {
- pb::Freezable.CheckMutable(this);
- syntax_ = value ?? "";
- }
- }
-
- public override bool Equals(object other) {
- return Equals(other as FileDescriptorProto);
- }
-
- public bool Equals(FileDescriptorProto other) {
- if (ReferenceEquals(other, null)) {
- return false;
- }
- if (ReferenceEquals(other, this)) {
- return true;
- }
- if (Name != other.Name) return false;
- if (Package != other.Package) return false;
- if(!dependency_.Equals(other.dependency_)) return false;
- if(!publicDependency_.Equals(other.publicDependency_)) return false;
- if(!weakDependency_.Equals(other.weakDependency_)) return false;
- if(!messageType_.Equals(other.messageType_)) return false;
- if(!enumType_.Equals(other.enumType_)) return false;
- if(!service_.Equals(other.service_)) return false;
- if(!extension_.Equals(other.extension_)) return false;
- if (!object.Equals(Options, other.Options)) return false;
- if (!object.Equals(SourceCodeInfo, other.SourceCodeInfo)) return false;
- if (Syntax != other.Syntax) return false;
- return true;
- }
-
- public override int GetHashCode() {
- int hash = 1;
- if (Name.Length != 0) hash ^= Name.GetHashCode();
- if (Package.Length != 0) hash ^= Package.GetHashCode();
- hash ^= dependency_.GetHashCode();
- hash ^= publicDependency_.GetHashCode();
- hash ^= weakDependency_.GetHashCode();
- hash ^= messageType_.GetHashCode();
- hash ^= enumType_.GetHashCode();
- hash ^= service_.GetHashCode();
- hash ^= extension_.GetHashCode();
- if (options_ != null) hash ^= Options.GetHashCode();
- if (sourceCodeInfo_ != null) hash ^= SourceCodeInfo.GetHashCode();
- if (Syntax.Length != 0) hash ^= Syntax.GetHashCode();
- return hash;
- }
-
- public override string ToString() {
- return pb::JsonFormatter.Default.Format(this);
- }
-
- public void WriteTo(pb::CodedOutputStream output) {
- if (Name.Length != 0) {
- output.WriteRawTag(10);
- output.WriteString(Name);
- }
- if (Package.Length != 0) {
- output.WriteRawTag(18);
- output.WriteString(Package);
- }
- dependency_.WriteTo(output, _repeated_dependency_codec);
- messageType_.WriteTo(output, _repeated_messageType_codec);
- enumType_.WriteTo(output, _repeated_enumType_codec);
- service_.WriteTo(output, _repeated_service_codec);
- extension_.WriteTo(output, _repeated_extension_codec);
- if (options_ != null) {
- output.WriteRawTag(66);
- output.WriteMessage(Options);
- }
- if (sourceCodeInfo_ != null) {
- output.WriteRawTag(74);
- output.WriteMessage(SourceCodeInfo);
- }
- publicDependency_.WriteTo(output, _repeated_publicDependency_codec);
- weakDependency_.WriteTo(output, _repeated_weakDependency_codec);
- if (Syntax.Length != 0) {
- output.WriteRawTag(98);
- output.WriteString(Syntax);
- }
- }
-
- public int CalculateSize() {
- int size = 0;
- if (Name.Length != 0) {
- size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
- }
- if (Package.Length != 0) {
- size += 1 + pb::CodedOutputStream.ComputeStringSize(Package);
- }
- size += dependency_.CalculateSize(_repeated_dependency_codec);
- size += publicDependency_.CalculateSize(_repeated_publicDependency_codec);
- size += weakDependency_.CalculateSize(_repeated_weakDependency_codec);
- size += messageType_.CalculateSize(_repeated_messageType_codec);
- size += enumType_.CalculateSize(_repeated_enumType_codec);
- size += service_.CalculateSize(_repeated_service_codec);
- size += extension_.CalculateSize(_repeated_extension_codec);
- if (options_ != null) {
- size += 1 + pb::CodedOutputStream.ComputeMessageSize(Options);
- }
- if (sourceCodeInfo_ != null) {
- size += 1 + pb::CodedOutputStream.ComputeMessageSize(SourceCodeInfo);
- }
- if (Syntax.Length != 0) {
- size += 1 + pb::CodedOutputStream.ComputeStringSize(Syntax);
- }
- return size;
- }
-
- public void MergeFrom(FileDescriptorProto other) {
- if (other == null) {
- return;
- }
- if (other.Name.Length != 0) {
- Name = other.Name;
- }
- if (other.Package.Length != 0) {
- Package = other.Package;
- }
- dependency_.Add(other.dependency_);
- publicDependency_.Add(other.publicDependency_);
- weakDependency_.Add(other.weakDependency_);
- messageType_.Add(other.messageType_);
- enumType_.Add(other.enumType_);
- service_.Add(other.service_);
- extension_.Add(other.extension_);
- if (other.options_ != null) {
- if (options_ == null) {
- options_ = new global::Google.Protobuf.Reflection.FileOptions();
- }
- Options.MergeFrom(other.Options);
- }
- if (other.sourceCodeInfo_ != null) {
- if (sourceCodeInfo_ == null) {
- sourceCodeInfo_ = new global::Google.Protobuf.Reflection.SourceCodeInfo();
- }
- SourceCodeInfo.MergeFrom(other.SourceCodeInfo);
- }
- if (other.Syntax.Length != 0) {
- Syntax = other.Syntax;
- }
- }
-
- public void MergeFrom(pb::CodedInputStream input) {
- uint tag;
- while (input.ReadTag(out tag)) {
- switch(tag) {
- case 0:
- throw pb::InvalidProtocolBufferException.InvalidTag();
- default:
- if (pb::WireFormat.IsEndGroupTag(tag)) {
- return;
- }
- break;
- case 10: {
- Name = input.ReadString();
- break;
- }
- case 18: {
- Package = input.ReadString();
- break;
- }
- case 26: {
- dependency_.AddEntriesFrom(input, _repeated_dependency_codec);
- break;
- }
- case 34: {
- messageType_.AddEntriesFrom(input, _repeated_messageType_codec);
- break;
- }
- case 42: {
- enumType_.AddEntriesFrom(input, _repeated_enumType_codec);
- break;
- }
- case 50: {
- service_.AddEntriesFrom(input, _repeated_service_codec);
- break;
- }
- case 58: {
- extension_.AddEntriesFrom(input, _repeated_extension_codec);
- break;
- }
- case 66: {
- if (options_ == null) {
- options_ = new global::Google.Protobuf.Reflection.FileOptions();
- }
- input.ReadMessage(options_);
- break;
- }
- case 74: {
- if (sourceCodeInfo_ == null) {
- sourceCodeInfo_ = new global::Google.Protobuf.Reflection.SourceCodeInfo();
- }
- input.ReadMessage(sourceCodeInfo_);
- break;
- }
- case 82:
- case 80: {
- publicDependency_.AddEntriesFrom(input, _repeated_publicDependency_codec);
- break;
- }
- case 90:
- case 88: {
- weakDependency_.AddEntriesFrom(input, _repeated_weakDependency_codec);
- break;
- }
- case 98: {
- Syntax = input.ReadString();
- break;
- }
- }
- }
- }
-
- }
-
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- internal sealed partial class DescriptorProto : pb::IMessage<DescriptorProto> {
- private static readonly pb::MessageParser<DescriptorProto> _parser = new pb::MessageParser<DescriptorProto>(() => new DescriptorProto());
- public static pb::MessageParser<DescriptorProto> Parser { get { return _parser; } }
-
- private static readonly string[] _fieldNames = new string[] { "enum_type", "extension", "extension_range", "field", "name", "nested_type", "oneof_decl", "options", "reserved_name", "reserved_range" };
- private static readonly uint[] _fieldTags = new uint[] { 34, 50, 42, 18, 10, 26, 66, 58, 82, 74 };
- public static pbr::MessageDescriptor Descriptor {
- get { return global::Google.Protobuf.Reflection.DescriptorProtoFile.Descriptor.MessageTypes[2]; }
- }
-
- pbr::FieldAccessorTable pb::IReflectedMessage.Fields {
- get { return global::Google.Protobuf.Reflection.DescriptorProtoFile.internal__static_google_protobuf_DescriptorProto__FieldAccessorTable; }
- }
-
- private bool _frozen = false;
- public bool IsFrozen { get { return _frozen; } }
-
- public DescriptorProto() {
- OnConstruction();
- }
-
- partial void OnConstruction();
-
- public DescriptorProto(DescriptorProto other) : this() {
- name_ = other.name_;
- field_ = other.field_.Clone();
- extension_ = other.extension_.Clone();
- nestedType_ = other.nestedType_.Clone();
- enumType_ = other.enumType_.Clone();
- extensionRange_ = other.extensionRange_.Clone();
- oneofDecl_ = other.oneofDecl_.Clone();
- Options = other.options_ != null ? other.Options.Clone() : null;
- reservedRange_ = other.reservedRange_.Clone();
- reservedName_ = other.reservedName_.Clone();
- }
-
- public DescriptorProto Clone() {
- return new DescriptorProto(this);
- }
-
- public void Freeze() {
- if (IsFrozen) {
- return;
- }
- _frozen = true;
- field_.Freeze();
- extension_.Freeze();
- nestedType_.Freeze();
- enumType_.Freeze();
- extensionRange_.Freeze();
- oneofDecl_.Freeze();
- if (options_ != null) Options.Freeze();
- reservedRange_.Freeze();
- reservedName_.Freeze();
- }
-
- public const int NameFieldNumber = 1;
- private string name_ = "";
- internal string Name {
- get { return name_; }
- set {
- pb::Freezable.CheckMutable(this);
- name_ = value ?? "";
- }
- }
-
- public const int FieldFieldNumber = 2;
- private static readonly pb::FieldCodec<global::Google.Protobuf.Reflection.FieldDescriptorProto> _repeated_field_codec
- = pb::FieldCodec.ForMessage(18, global::Google.Protobuf.Reflection.FieldDescriptorProto.Parser);
- private readonly pbc::RepeatedField<global::Google.Protobuf.Reflection.FieldDescriptorProto> field_ = new pbc::RepeatedField<global::Google.Protobuf.Reflection.FieldDescriptorProto>();
- internal pbc::RepeatedField<global::Google.Protobuf.Reflection.FieldDescriptorProto> Field {
- get { return field_; }
- }
-
- public const int ExtensionFieldNumber = 6;
- private static readonly pb::FieldCodec<global::Google.Protobuf.Reflection.FieldDescriptorProto> _repeated_extension_codec
- = pb::FieldCodec.ForMessage(50, global::Google.Protobuf.Reflection.FieldDescriptorProto.Parser);
- private readonly pbc::RepeatedField<global::Google.Protobuf.Reflection.FieldDescriptorProto> extension_ = new pbc::RepeatedField<global::Google.Protobuf.Reflection.FieldDescriptorProto>();
- internal pbc::RepeatedField<global::Google.Protobuf.Reflection.FieldDescriptorProto> Extension {
- get { return extension_; }
- }
-
- public const int NestedTypeFieldNumber = 3;
- private static readonly pb::FieldCodec<global::Google.Protobuf.Reflection.DescriptorProto> _repeated_nestedType_codec
- = pb::FieldCodec.ForMessage(26, global::Google.Protobuf.Reflection.DescriptorProto.Parser);
- private readonly pbc::RepeatedField<global::Google.Protobuf.Reflection.DescriptorProto> nestedType_ = new pbc::RepeatedField<global::Google.Protobuf.Reflection.DescriptorProto>();
- internal pbc::RepeatedField<global::Google.Protobuf.Reflection.DescriptorProto> NestedType {
- get { return nestedType_; }
- }
-
- public const int EnumTypeFieldNumber = 4;
- private static readonly pb::FieldCodec<global::Google.Protobuf.Reflection.EnumDescriptorProto> _repeated_enumType_codec
- = pb::FieldCodec.ForMessage(34, global::Google.Protobuf.Reflection.EnumDescriptorProto.Parser);
- private readonly pbc::RepeatedField<global::Google.Protobuf.Reflection.EnumDescriptorProto> enumType_ = new pbc::RepeatedField<global::Google.Protobuf.Reflection.EnumDescriptorProto>();
- internal pbc::RepeatedField<global::Google.Protobuf.Reflection.EnumDescriptorProto> EnumType {
- get { return enumType_; }
- }
-
- public const int ExtensionRangeFieldNumber = 5;
- private static readonly pb::FieldCodec<global::Google.Protobuf.Reflection.DescriptorProto.Types.ExtensionRange> _repeated_extensionRange_codec
- = pb::FieldCodec.ForMessage(42, global::Google.Protobuf.Reflection.DescriptorProto.Types.ExtensionRange.Parser);
- private readonly pbc::RepeatedField<global::Google.Protobuf.Reflection.DescriptorProto.Types.ExtensionRange> extensionRange_ = new pbc::RepeatedField<global::Google.Protobuf.Reflection.DescriptorProto.Types.ExtensionRange>();
- internal pbc::RepeatedField<global::Google.Protobuf.Reflection.DescriptorProto.Types.ExtensionRange> ExtensionRange {
- get { return extensionRange_; }
- }
-
- public const int OneofDeclFieldNumber = 8;
- private static readonly pb::FieldCodec<global::Google.Protobuf.Reflection.OneofDescriptorProto> _repeated_oneofDecl_codec
- = pb::FieldCodec.ForMessage(66, global::Google.Protobuf.Reflection.OneofDescriptorProto.Parser);
- private readonly pbc::RepeatedField<global::Google.Protobuf.Reflection.OneofDescriptorProto> oneofDecl_ = new pbc::RepeatedField<global::Google.Protobuf.Reflection.OneofDescriptorProto>();
- internal pbc::RepeatedField<global::Google.Protobuf.Reflection.OneofDescriptorProto> OneofDecl {
- get { return oneofDecl_; }
- }
-
- public const int OptionsFieldNumber = 7;
- private global::Google.Protobuf.Reflection.MessageOptions options_;
- internal global::Google.Protobuf.Reflection.MessageOptions Options {
- get { return options_; }
- set {
- pb::Freezable.CheckMutable(this);
- options_ = value;
- }
- }
-
- public const int ReservedRangeFieldNumber = 9;
- private static readonly pb::FieldCodec<global::Google.Protobuf.Reflection.DescriptorProto.Types.ReservedRange> _repeated_reservedRange_codec
- = pb::FieldCodec.ForMessage(74, global::Google.Protobuf.Reflection.DescriptorProto.Types.ReservedRange.Parser);
- private readonly pbc::RepeatedField<global::Google.Protobuf.Reflection.DescriptorProto.Types.ReservedRange> reservedRange_ = new pbc::RepeatedField<global::Google.Protobuf.Reflection.DescriptorProto.Types.ReservedRange>();
- internal pbc::RepeatedField<global::Google.Protobuf.Reflection.DescriptorProto.Types.ReservedRange> ReservedRange {
- get { return reservedRange_; }
- }
-
- public const int ReservedNameFieldNumber = 10;
- private static readonly pb::FieldCodec<string> _repeated_reservedName_codec
- = pb::FieldCodec.ForString(82);
- private readonly pbc::RepeatedField<string> reservedName_ = new pbc::RepeatedField<string>();
- internal pbc::RepeatedField<string> ReservedName {
- get { return reservedName_; }
- }
-
- public override bool Equals(object other) {
- return Equals(other as DescriptorProto);
- }
-
- public bool Equals(DescriptorProto other) {
- if (ReferenceEquals(other, null)) {
- return false;
- }
- if (ReferenceEquals(other, this)) {
- return true;
- }
- if (Name != other.Name) return false;
- if(!field_.Equals(other.field_)) return false;
- if(!extension_.Equals(other.extension_)) return false;
- if(!nestedType_.Equals(other.nestedType_)) return false;
- if(!enumType_.Equals(other.enumType_)) return false;
- if(!extensionRange_.Equals(other.extensionRange_)) return false;
- if(!oneofDecl_.Equals(other.oneofDecl_)) return false;
- if (!object.Equals(Options, other.Options)) return false;
- if(!reservedRange_.Equals(other.reservedRange_)) return false;
- if(!reservedName_.Equals(other.reservedName_)) return false;
- return true;
- }
-
- public override int GetHashCode() {
- int hash = 1;
- if (Name.Length != 0) hash ^= Name.GetHashCode();
- hash ^= field_.GetHashCode();
- hash ^= extension_.GetHashCode();
- hash ^= nestedType_.GetHashCode();
- hash ^= enumType_.GetHashCode();
- hash ^= extensionRange_.GetHashCode();
- hash ^= oneofDecl_.GetHashCode();
- if (options_ != null) hash ^= Options.GetHashCode();
- hash ^= reservedRange_.GetHashCode();
- hash ^= reservedName_.GetHashCode();
- return hash;
- }
-
- public override string ToString() {
- return pb::JsonFormatter.Default.Format(this);
- }
-
- public void WriteTo(pb::CodedOutputStream output) {
- if (Name.Length != 0) {
- output.WriteRawTag(10);
- output.WriteString(Name);
- }
- field_.WriteTo(output, _repeated_field_codec);
- nestedType_.WriteTo(output, _repeated_nestedType_codec);
- enumType_.WriteTo(output, _repeated_enumType_codec);
- extensionRange_.WriteTo(output, _repeated_extensionRange_codec);
- extension_.WriteTo(output, _repeated_extension_codec);
- if (options_ != null) {
- output.WriteRawTag(58);
- output.WriteMessage(Options);
- }
- oneofDecl_.WriteTo(output, _repeated_oneofDecl_codec);
- reservedRange_.WriteTo(output, _repeated_reservedRange_codec);
- reservedName_.WriteTo(output, _repeated_reservedName_codec);
- }
-
- public int CalculateSize() {
- int size = 0;
- if (Name.Length != 0) {
- size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
- }
- size += field_.CalculateSize(_repeated_field_codec);
- size += extension_.CalculateSize(_repeated_extension_codec);
- size += nestedType_.CalculateSize(_repeated_nestedType_codec);
- size += enumType_.CalculateSize(_repeated_enumType_codec);
- size += extensionRange_.CalculateSize(_repeated_extensionRange_codec);
- size += oneofDecl_.CalculateSize(_repeated_oneofDecl_codec);
- if (options_ != null) {
- size += 1 + pb::CodedOutputStream.ComputeMessageSize(Options);
- }
- size += reservedRange_.CalculateSize(_repeated_reservedRange_codec);
- size += reservedName_.CalculateSize(_repeated_reservedName_codec);
- return size;
- }
-
- public void MergeFrom(DescriptorProto other) {
- if (other == null) {
- return;
- }
- if (other.Name.Length != 0) {
- Name = other.Name;
- }
- field_.Add(other.field_);
- extension_.Add(other.extension_);
- nestedType_.Add(other.nestedType_);
- enumType_.Add(other.enumType_);
- extensionRange_.Add(other.extensionRange_);
- oneofDecl_.Add(other.oneofDecl_);
- if (other.options_ != null) {
- if (options_ == null) {
- options_ = new global::Google.Protobuf.Reflection.MessageOptions();
- }
- Options.MergeFrom(other.Options);
- }
- reservedRange_.Add(other.reservedRange_);
- reservedName_.Add(other.reservedName_);
- }
-
- public void MergeFrom(pb::CodedInputStream input) {
- uint tag;
- while (input.ReadTag(out tag)) {
- switch(tag) {
- case 0:
- throw pb::InvalidProtocolBufferException.InvalidTag();
- default:
- if (pb::WireFormat.IsEndGroupTag(tag)) {
- return;
- }
- break;
- case 10: {
- Name = input.ReadString();
- break;
- }
- case 18: {
- field_.AddEntriesFrom(input, _repeated_field_codec);
- break;
- }
- case 26: {
- nestedType_.AddEntriesFrom(input, _repeated_nestedType_codec);
- break;
- }
- case 34: {
- enumType_.AddEntriesFrom(input, _repeated_enumType_codec);
- break;
- }
- case 42: {
- extensionRange_.AddEntriesFrom(input, _repeated_extensionRange_codec);
- break;
- }
- case 50: {
- extension_.AddEntriesFrom(input, _repeated_extension_codec);
- break;
- }
- case 58: {
- if (options_ == null) {
- options_ = new global::Google.Protobuf.Reflection.MessageOptions();
- }
- input.ReadMessage(options_);
- break;
- }
- case 66: {
- oneofDecl_.AddEntriesFrom(input, _repeated_oneofDecl_codec);
- break;
- }
- case 74: {
- reservedRange_.AddEntriesFrom(input, _repeated_reservedRange_codec);
- break;
- }
- case 82: {
- reservedName_.AddEntriesFrom(input, _repeated_reservedName_codec);
- break;
- }
- }
- }
- }
-
- #region Nested types
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- public static partial class Types {
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- internal sealed partial class ExtensionRange : pb::IMessage<ExtensionRange> {
- private static readonly pb::MessageParser<ExtensionRange> _parser = new pb::MessageParser<ExtensionRange>(() => new ExtensionRange());
- public static pb::MessageParser<ExtensionRange> Parser { get { return _parser; } }
-
- private static readonly string[] _fieldNames = new string[] { "end", "start" };
- private static readonly uint[] _fieldTags = new uint[] { 16, 8 };
- public static pbr::MessageDescriptor Descriptor {
- get { return global::Google.Protobuf.Reflection.DescriptorProto.Descriptor.NestedTypes[0]; }
- }
-
- pbr::FieldAccessorTable pb::IReflectedMessage.Fields {
- get { return global::Google.Protobuf.Reflection.DescriptorProtoFile.internal__static_google_protobuf_DescriptorProto_ExtensionRange__FieldAccessorTable; }
- }
-
- private bool _frozen = false;
- public bool IsFrozen { get { return _frozen; } }
-
- public ExtensionRange() {
- OnConstruction();
- }
-
- partial void OnConstruction();
-
- public ExtensionRange(ExtensionRange other) : this() {
- start_ = other.start_;
- end_ = other.end_;
- }
-
- public ExtensionRange Clone() {
- return new ExtensionRange(this);
- }
-
- public void Freeze() {
- if (IsFrozen) {
- return;
- }
- _frozen = true;
- }
-
- public const int StartFieldNumber = 1;
- private int start_;
- internal int Start {
- get { return start_; }
- set {
- pb::Freezable.CheckMutable(this);
- start_ = value;
- }
- }
-
- public const int EndFieldNumber = 2;
- private int end_;
- internal int End {
- get { return end_; }
- set {
- pb::Freezable.CheckMutable(this);
- end_ = value;
- }
- }
-
- public override bool Equals(object other) {
- return Equals(other as ExtensionRange);
- }
-
- public bool Equals(ExtensionRange other) {
- if (ReferenceEquals(other, null)) {
- return false;
- }
- if (ReferenceEquals(other, this)) {
- return true;
- }
- if (Start != other.Start) return false;
- if (End != other.End) return false;
- return true;
- }
-
- public override int GetHashCode() {
- int hash = 1;
- if (Start != 0) hash ^= Start.GetHashCode();
- if (End != 0) hash ^= End.GetHashCode();
- return hash;
- }
-
- public override string ToString() {
- return pb::JsonFormatter.Default.Format(this);
- }
-
- public void WriteTo(pb::CodedOutputStream output) {
- if (Start != 0) {
- output.WriteRawTag(8);
- output.WriteInt32(Start);
- }
- if (End != 0) {
- output.WriteRawTag(16);
- output.WriteInt32(End);
- }
- }
-
- public int CalculateSize() {
- int size = 0;
- if (Start != 0) {
- size += 1 + pb::CodedOutputStream.ComputeInt32Size(Start);
- }
- if (End != 0) {
- size += 1 + pb::CodedOutputStream.ComputeInt32Size(End);
- }
- return size;
- }
-
- public void MergeFrom(ExtensionRange other) {
- if (other == null) {
- return;
- }
- if (other.Start != 0) {
- Start = other.Start;
- }
- if (other.End != 0) {
- End = other.End;
- }
- }
-
- public void MergeFrom(pb::CodedInputStream input) {
- uint tag;
- while (input.ReadTag(out tag)) {
- switch(tag) {
- case 0:
- throw pb::InvalidProtocolBufferException.InvalidTag();
- default:
- if (pb::WireFormat.IsEndGroupTag(tag)) {
- return;
- }
- break;
- case 8: {
- Start = input.ReadInt32();
- break;
- }
- case 16: {
- End = input.ReadInt32();
- break;
- }
- }
- }
- }
-
- }
-
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- internal sealed partial class ReservedRange : pb::IMessage<ReservedRange> {
- private static readonly pb::MessageParser<ReservedRange> _parser = new pb::MessageParser<ReservedRange>(() => new ReservedRange());
- public static pb::MessageParser<ReservedRange> Parser { get { return _parser; } }
-
- private static readonly string[] _fieldNames = new string[] { "end", "start" };
- private static readonly uint[] _fieldTags = new uint[] { 16, 8 };
- public static pbr::MessageDescriptor Descriptor {
- get { return global::Google.Protobuf.Reflection.DescriptorProto.Descriptor.NestedTypes[1]; }
- }
-
- pbr::FieldAccessorTable pb::IReflectedMessage.Fields {
- get { return global::Google.Protobuf.Reflection.DescriptorProtoFile.internal__static_google_protobuf_DescriptorProto_ReservedRange__FieldAccessorTable; }
- }
-
- private bool _frozen = false;
- public bool IsFrozen { get { return _frozen; } }
-
- public ReservedRange() {
- OnConstruction();
- }
-
- partial void OnConstruction();
-
- public ReservedRange(ReservedRange other) : this() {
- start_ = other.start_;
- end_ = other.end_;
- }
-
- public ReservedRange Clone() {
- return new ReservedRange(this);
- }
-
- public void Freeze() {
- if (IsFrozen) {
- return;
- }
- _frozen = true;
- }
-
- public const int StartFieldNumber = 1;
- private int start_;
- internal int Start {
- get { return start_; }
- set {
- pb::Freezable.CheckMutable(this);
- start_ = value;
- }
- }
-
- public const int EndFieldNumber = 2;
- private int end_;
- internal int End {
- get { return end_; }
- set {
- pb::Freezable.CheckMutable(this);
- end_ = value;
- }
- }
-
- public override bool Equals(object other) {
- return Equals(other as ReservedRange);
- }
-
- public bool Equals(ReservedRange other) {
- if (ReferenceEquals(other, null)) {
- return false;
- }
- if (ReferenceEquals(other, this)) {
- return true;
- }
- if (Start != other.Start) return false;
- if (End != other.End) return false;
- return true;
- }
-
- public override int GetHashCode() {
- int hash = 1;
- if (Start != 0) hash ^= Start.GetHashCode();
- if (End != 0) hash ^= End.GetHashCode();
- return hash;
- }
-
- public override string ToString() {
- return pb::JsonFormatter.Default.Format(this);
- }
-
- public void WriteTo(pb::CodedOutputStream output) {
- if (Start != 0) {
- output.WriteRawTag(8);
- output.WriteInt32(Start);
- }
- if (End != 0) {
- output.WriteRawTag(16);
- output.WriteInt32(End);
- }
- }
-
- public int CalculateSize() {
- int size = 0;
- if (Start != 0) {
- size += 1 + pb::CodedOutputStream.ComputeInt32Size(Start);
- }
- if (End != 0) {
- size += 1 + pb::CodedOutputStream.ComputeInt32Size(End);
- }
- return size;
- }
-
- public void MergeFrom(ReservedRange other) {
- if (other == null) {
- return;
- }
- if (other.Start != 0) {
- Start = other.Start;
- }
- if (other.End != 0) {
- End = other.End;
- }
- }
-
- public void MergeFrom(pb::CodedInputStream input) {
- uint tag;
- while (input.ReadTag(out tag)) {
- switch(tag) {
- case 0:
- throw pb::InvalidProtocolBufferException.InvalidTag();
- default:
- if (pb::WireFormat.IsEndGroupTag(tag)) {
- return;
- }
- break;
- case 8: {
- Start = input.ReadInt32();
- break;
- }
- case 16: {
- End = input.ReadInt32();
- break;
- }
- }
- }
- }
-
- }
-
- }
- #endregion
-
- }
-
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- internal sealed partial class FieldDescriptorProto : pb::IMessage<FieldDescriptorProto> {
- private static readonly pb::MessageParser<FieldDescriptorProto> _parser = new pb::MessageParser<FieldDescriptorProto>(() => new FieldDescriptorProto());
- public static pb::MessageParser<FieldDescriptorProto> Parser { get { return _parser; } }
-
- private static readonly string[] _fieldNames = new string[] { "default_value", "extendee", "label", "name", "number", "oneof_index", "options", "type", "type_name" };
- private static readonly uint[] _fieldTags = new uint[] { 58, 18, 32, 10, 24, 72, 66, 40, 50 };
- public static pbr::MessageDescriptor Descriptor {
- get { return global::Google.Protobuf.Reflection.DescriptorProtoFile.Descriptor.MessageTypes[3]; }
- }
-
- pbr::FieldAccessorTable pb::IReflectedMessage.Fields {
- get { return global::Google.Protobuf.Reflection.DescriptorProtoFile.internal__static_google_protobuf_FieldDescriptorProto__FieldAccessorTable; }
- }
-
- private bool _frozen = false;
- public bool IsFrozen { get { return _frozen; } }
-
- public FieldDescriptorProto() {
- OnConstruction();
- }
-
- partial void OnConstruction();
-
- public FieldDescriptorProto(FieldDescriptorProto other) : this() {
- name_ = other.name_;
- number_ = other.number_;
- label_ = other.label_;
- type_ = other.type_;
- typeName_ = other.typeName_;
- extendee_ = other.extendee_;
- defaultValue_ = other.defaultValue_;
- oneofIndex_ = other.oneofIndex_;
- Options = other.options_ != null ? other.Options.Clone() : null;
- }
-
- public FieldDescriptorProto Clone() {
- return new FieldDescriptorProto(this);
- }
-
- public void Freeze() {
- if (IsFrozen) {
- return;
- }
- _frozen = true;
- if (options_ != null) Options.Freeze();
- }
-
- public const int NameFieldNumber = 1;
- private string name_ = "";
- internal string Name {
- get { return name_; }
- set {
- pb::Freezable.CheckMutable(this);
- name_ = value ?? "";
- }
- }
-
- public const int NumberFieldNumber = 3;
- private int number_;
- internal int Number {
- get { return number_; }
- set {
- pb::Freezable.CheckMutable(this);
- number_ = value;
- }
- }
-
- public const int LabelFieldNumber = 4;
- private global::Google.Protobuf.Reflection.FieldDescriptorProto.Types.Label label_ = global::Google.Protobuf.Reflection.FieldDescriptorProto.Types.Label.LABEL_OPTIONAL;
- internal global::Google.Protobuf.Reflection.FieldDescriptorProto.Types.Label Label {
- get { return label_; }
- set {
- pb::Freezable.CheckMutable(this);
- label_ = value;
- }
- }
-
- public const int TypeFieldNumber = 5;
- private global::Google.Protobuf.Reflection.FieldDescriptorProto.Types.Type type_ = global::Google.Protobuf.Reflection.FieldDescriptorProto.Types.Type.TYPE_DOUBLE;
- internal global::Google.Protobuf.Reflection.FieldDescriptorProto.Types.Type Type {
- get { return type_; }
- set {
- pb::Freezable.CheckMutable(this);
- type_ = value;
- }
- }
-
- public const int TypeNameFieldNumber = 6;
- private string typeName_ = "";
- internal string TypeName {
- get { return typeName_; }
- set {
- pb::Freezable.CheckMutable(this);
- typeName_ = value ?? "";
- }
- }
-
- public const int ExtendeeFieldNumber = 2;
- private string extendee_ = "";
- internal string Extendee {
- get { return extendee_; }
- set {
- pb::Freezable.CheckMutable(this);
- extendee_ = value ?? "";
- }
- }
-
- public const int DefaultValueFieldNumber = 7;
- private string defaultValue_ = "";
- internal string DefaultValue {
- get { return defaultValue_; }
- set {
- pb::Freezable.CheckMutable(this);
- defaultValue_ = value ?? "";
- }
- }
-
- public const int OneofIndexFieldNumber = 9;
- private int oneofIndex_;
- internal int OneofIndex {
- get { return oneofIndex_; }
- set {
- pb::Freezable.CheckMutable(this);
- oneofIndex_ = value;
- }
- }
-
- public const int OptionsFieldNumber = 8;
- private global::Google.Protobuf.Reflection.FieldOptions options_;
- internal global::Google.Protobuf.Reflection.FieldOptions Options {
- get { return options_; }
- set {
- pb::Freezable.CheckMutable(this);
- options_ = value;
- }
- }
-
- public override bool Equals(object other) {
- return Equals(other as FieldDescriptorProto);
- }
-
- public bool Equals(FieldDescriptorProto other) {
- if (ReferenceEquals(other, null)) {
- return false;
- }
- if (ReferenceEquals(other, this)) {
- return true;
- }
- if (Name != other.Name) return false;
- if (Number != other.Number) return false;
- if (Label != other.Label) return false;
- if (Type != other.Type) return false;
- if (TypeName != other.TypeName) return false;
- if (Extendee != other.Extendee) return false;
- if (DefaultValue != other.DefaultValue) return false;
- if (OneofIndex != other.OneofIndex) return false;
- if (!object.Equals(Options, other.Options)) return false;
- return true;
- }
-
- public override int GetHashCode() {
- int hash = 1;
- if (Name.Length != 0) hash ^= Name.GetHashCode();
- if (Number != 0) hash ^= Number.GetHashCode();
- if (Label != global::Google.Protobuf.Reflection.FieldDescriptorProto.Types.Label.LABEL_OPTIONAL) hash ^= Label.GetHashCode();
- if (Type != global::Google.Protobuf.Reflection.FieldDescriptorProto.Types.Type.TYPE_DOUBLE) hash ^= Type.GetHashCode();
- if (TypeName.Length != 0) hash ^= TypeName.GetHashCode();
- if (Extendee.Length != 0) hash ^= Extendee.GetHashCode();
- if (DefaultValue.Length != 0) hash ^= DefaultValue.GetHashCode();
- if (OneofIndex != 0) hash ^= OneofIndex.GetHashCode();
- if (options_ != null) hash ^= Options.GetHashCode();
- return hash;
- }
-
- public override string ToString() {
- return pb::JsonFormatter.Default.Format(this);
- }
-
- public void WriteTo(pb::CodedOutputStream output) {
- if (Name.Length != 0) {
- output.WriteRawTag(10);
- output.WriteString(Name);
- }
- if (Extendee.Length != 0) {
- output.WriteRawTag(18);
- output.WriteString(Extendee);
- }
- if (Number != 0) {
- output.WriteRawTag(24);
- output.WriteInt32(Number);
- }
- if (Label != global::Google.Protobuf.Reflection.FieldDescriptorProto.Types.Label.LABEL_OPTIONAL) {
- output.WriteRawTag(32);
- output.WriteEnum((int) Label);
- }
- if (Type != global::Google.Protobuf.Reflection.FieldDescriptorProto.Types.Type.TYPE_DOUBLE) {
- output.WriteRawTag(40);
- output.WriteEnum((int) Type);
- }
- if (TypeName.Length != 0) {
- output.WriteRawTag(50);
- output.WriteString(TypeName);
- }
- if (DefaultValue.Length != 0) {
- output.WriteRawTag(58);
- output.WriteString(DefaultValue);
- }
- if (options_ != null) {
- output.WriteRawTag(66);
- output.WriteMessage(Options);
- }
- if (OneofIndex != 0) {
- output.WriteRawTag(72);
- output.WriteInt32(OneofIndex);
- }
- }
-
- public int CalculateSize() {
- int size = 0;
- if (Name.Length != 0) {
- size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
- }
- if (Number != 0) {
- size += 1 + pb::CodedOutputStream.ComputeInt32Size(Number);
- }
- if (Label != global::Google.Protobuf.Reflection.FieldDescriptorProto.Types.Label.LABEL_OPTIONAL) {
- size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Label);
- }
- if (Type != global::Google.Protobuf.Reflection.FieldDescriptorProto.Types.Type.TYPE_DOUBLE) {
- size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Type);
- }
- if (TypeName.Length != 0) {
- size += 1 + pb::CodedOutputStream.ComputeStringSize(TypeName);
- }
- if (Extendee.Length != 0) {
- size += 1 + pb::CodedOutputStream.ComputeStringSize(Extendee);
- }
- if (DefaultValue.Length != 0) {
- size += 1 + pb::CodedOutputStream.ComputeStringSize(DefaultValue);
- }
- if (OneofIndex != 0) {
- size += 1 + pb::CodedOutputStream.ComputeInt32Size(OneofIndex);
- }
- if (options_ != null) {
- size += 1 + pb::CodedOutputStream.ComputeMessageSize(Options);
- }
- return size;
- }
-
- public void MergeFrom(FieldDescriptorProto other) {
- if (other == null) {
- return;
- }
- if (other.Name.Length != 0) {
- Name = other.Name;
- }
- if (other.Number != 0) {
- Number = other.Number;
- }
- if (other.Label != global::Google.Protobuf.Reflection.FieldDescriptorProto.Types.Label.LABEL_OPTIONAL) {
- Label = other.Label;
- }
- if (other.Type != global::Google.Protobuf.Reflection.FieldDescriptorProto.Types.Type.TYPE_DOUBLE) {
- Type = other.Type;
- }
- if (other.TypeName.Length != 0) {
- TypeName = other.TypeName;
- }
- if (other.Extendee.Length != 0) {
- Extendee = other.Extendee;
- }
- if (other.DefaultValue.Length != 0) {
- DefaultValue = other.DefaultValue;
- }
- if (other.OneofIndex != 0) {
- OneofIndex = other.OneofIndex;
- }
- if (other.options_ != null) {
- if (options_ == null) {
- options_ = new global::Google.Protobuf.Reflection.FieldOptions();
- }
- Options.MergeFrom(other.Options);
- }
- }
-
- public void MergeFrom(pb::CodedInputStream input) {
- uint tag;
- while (input.ReadTag(out tag)) {
- switch(tag) {
- case 0:
- throw pb::InvalidProtocolBufferException.InvalidTag();
- default:
- if (pb::WireFormat.IsEndGroupTag(tag)) {
- return;
- }
- break;
- case 10: {
- Name = input.ReadString();
- break;
- }
- case 18: {
- Extendee = input.ReadString();
- break;
- }
- case 24: {
- Number = input.ReadInt32();
- break;
- }
- case 32: {
- label_ = (global::Google.Protobuf.Reflection.FieldDescriptorProto.Types.Label) input.ReadEnum();
- break;
- }
- case 40: {
- type_ = (global::Google.Protobuf.Reflection.FieldDescriptorProto.Types.Type) input.ReadEnum();
- break;
- }
- case 50: {
- TypeName = input.ReadString();
- break;
- }
- case 58: {
- DefaultValue = input.ReadString();
- break;
- }
- case 66: {
- if (options_ == null) {
- options_ = new global::Google.Protobuf.Reflection.FieldOptions();
- }
- input.ReadMessage(options_);
- break;
- }
- case 72: {
- OneofIndex = input.ReadInt32();
- break;
- }
- }
- }
- }
-
- #region Nested types
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- public static partial class Types {
- internal enum Type {
- TYPE_DOUBLE = 1,
- TYPE_FLOAT = 2,
- TYPE_INT64 = 3,
- TYPE_UINT64 = 4,
- TYPE_INT32 = 5,
- TYPE_FIXED64 = 6,
- TYPE_FIXED32 = 7,
- TYPE_BOOL = 8,
- TYPE_STRING = 9,
- TYPE_GROUP = 10,
- TYPE_MESSAGE = 11,
- TYPE_BYTES = 12,
- TYPE_UINT32 = 13,
- TYPE_ENUM = 14,
- TYPE_SFIXED32 = 15,
- TYPE_SFIXED64 = 16,
- TYPE_SINT32 = 17,
- TYPE_SINT64 = 18,
- }
-
- internal enum Label {
- LABEL_OPTIONAL = 1,
- LABEL_REQUIRED = 2,
- LABEL_REPEATED = 3,
- }
-
- }
- #endregion
-
- }
-
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- internal sealed partial class OneofDescriptorProto : pb::IMessage<OneofDescriptorProto> {
- private static readonly pb::MessageParser<OneofDescriptorProto> _parser = new pb::MessageParser<OneofDescriptorProto>(() => new OneofDescriptorProto());
- public static pb::MessageParser<OneofDescriptorProto> Parser { get { return _parser; } }
-
- private static readonly string[] _fieldNames = new string[] { "name" };
- private static readonly uint[] _fieldTags = new uint[] { 10 };
- public static pbr::MessageDescriptor Descriptor {
- get { return global::Google.Protobuf.Reflection.DescriptorProtoFile.Descriptor.MessageTypes[4]; }
- }
-
- pbr::FieldAccessorTable pb::IReflectedMessage.Fields {
- get { return global::Google.Protobuf.Reflection.DescriptorProtoFile.internal__static_google_protobuf_OneofDescriptorProto__FieldAccessorTable; }
- }
-
- private bool _frozen = false;
- public bool IsFrozen { get { return _frozen; } }
-
- public OneofDescriptorProto() {
- OnConstruction();
- }
-
- partial void OnConstruction();
-
- public OneofDescriptorProto(OneofDescriptorProto other) : this() {
- name_ = other.name_;
- }
-
- public OneofDescriptorProto Clone() {
- return new OneofDescriptorProto(this);
- }
-
- public void Freeze() {
- if (IsFrozen) {
- return;
- }
- _frozen = true;
- }
-
- public const int NameFieldNumber = 1;
- private string name_ = "";
- internal string Name {
- get { return name_; }
- set {
- pb::Freezable.CheckMutable(this);
- name_ = value ?? "";
- }
- }
-
- public override bool Equals(object other) {
- return Equals(other as OneofDescriptorProto);
- }
-
- public bool Equals(OneofDescriptorProto other) {
- if (ReferenceEquals(other, null)) {
- return false;
- }
- if (ReferenceEquals(other, this)) {
- return true;
- }
- if (Name != other.Name) return false;
- return true;
- }
-
- public override int GetHashCode() {
- int hash = 1;
- if (Name.Length != 0) hash ^= Name.GetHashCode();
- return hash;
- }
-
- public override string ToString() {
- return pb::JsonFormatter.Default.Format(this);
- }
-
- public void WriteTo(pb::CodedOutputStream output) {
- if (Name.Length != 0) {
- output.WriteRawTag(10);
- output.WriteString(Name);
- }
- }
-
- public int CalculateSize() {
- int size = 0;
- if (Name.Length != 0) {
- size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
- }
- return size;
- }
-
- public void MergeFrom(OneofDescriptorProto other) {
- if (other == null) {
- return;
- }
- if (other.Name.Length != 0) {
- Name = other.Name;
- }
- }
-
- public void MergeFrom(pb::CodedInputStream input) {
- uint tag;
- while (input.ReadTag(out tag)) {
- switch(tag) {
- case 0:
- throw pb::InvalidProtocolBufferException.InvalidTag();
- default:
- if (pb::WireFormat.IsEndGroupTag(tag)) {
- return;
- }
- break;
- case 10: {
- Name = input.ReadString();
- break;
- }
- }
- }
- }
-
- }
-
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- internal sealed partial class EnumDescriptorProto : pb::IMessage<EnumDescriptorProto> {
- private static readonly pb::MessageParser<EnumDescriptorProto> _parser = new pb::MessageParser<EnumDescriptorProto>(() => new EnumDescriptorProto());
- public static pb::MessageParser<EnumDescriptorProto> Parser { get { return _parser; } }
-
- private static readonly string[] _fieldNames = new string[] { "name", "options", "value" };
- private static readonly uint[] _fieldTags = new uint[] { 10, 26, 18 };
- public static pbr::MessageDescriptor Descriptor {
- get { return global::Google.Protobuf.Reflection.DescriptorProtoFile.Descriptor.MessageTypes[5]; }
- }
-
- pbr::FieldAccessorTable pb::IReflectedMessage.Fields {
- get { return global::Google.Protobuf.Reflection.DescriptorProtoFile.internal__static_google_protobuf_EnumDescriptorProto__FieldAccessorTable; }
- }
-
- private bool _frozen = false;
- public bool IsFrozen { get { return _frozen; } }
-
- public EnumDescriptorProto() {
- OnConstruction();
- }
-
- partial void OnConstruction();
-
- public EnumDescriptorProto(EnumDescriptorProto other) : this() {
- name_ = other.name_;
- value_ = other.value_.Clone();
- Options = other.options_ != null ? other.Options.Clone() : null;
- }
-
- public EnumDescriptorProto Clone() {
- return new EnumDescriptorProto(this);
- }
-
- public void Freeze() {
- if (IsFrozen) {
- return;
- }
- _frozen = true;
- value_.Freeze();
- if (options_ != null) Options.Freeze();
- }
-
- public const int NameFieldNumber = 1;
- private string name_ = "";
- internal string Name {
- get { return name_; }
- set {
- pb::Freezable.CheckMutable(this);
- name_ = value ?? "";
- }
- }
-
- public const int ValueFieldNumber = 2;
- private static readonly pb::FieldCodec<global::Google.Protobuf.Reflection.EnumValueDescriptorProto> _repeated_value_codec
- = pb::FieldCodec.ForMessage(18, global::Google.Protobuf.Reflection.EnumValueDescriptorProto.Parser);
- private readonly pbc::RepeatedField<global::Google.Protobuf.Reflection.EnumValueDescriptorProto> value_ = new pbc::RepeatedField<global::Google.Protobuf.Reflection.EnumValueDescriptorProto>();
- internal pbc::RepeatedField<global::Google.Protobuf.Reflection.EnumValueDescriptorProto> Value {
- get { return value_; }
- }
-
- public const int OptionsFieldNumber = 3;
- private global::Google.Protobuf.Reflection.EnumOptions options_;
- internal global::Google.Protobuf.Reflection.EnumOptions Options {
- get { return options_; }
- set {
- pb::Freezable.CheckMutable(this);
- options_ = value;
- }
- }
-
- public override bool Equals(object other) {
- return Equals(other as EnumDescriptorProto);
- }
-
- public bool Equals(EnumDescriptorProto other) {
- if (ReferenceEquals(other, null)) {
- return false;
- }
- if (ReferenceEquals(other, this)) {
- return true;
- }
- if (Name != other.Name) return false;
- if(!value_.Equals(other.value_)) return false;
- if (!object.Equals(Options, other.Options)) return false;
- return true;
- }
-
- public override int GetHashCode() {
- int hash = 1;
- if (Name.Length != 0) hash ^= Name.GetHashCode();
- hash ^= value_.GetHashCode();
- if (options_ != null) hash ^= Options.GetHashCode();
- return hash;
- }
-
- public override string ToString() {
- return pb::JsonFormatter.Default.Format(this);
- }
-
- public void WriteTo(pb::CodedOutputStream output) {
- if (Name.Length != 0) {
- output.WriteRawTag(10);
- output.WriteString(Name);
- }
- value_.WriteTo(output, _repeated_value_codec);
- if (options_ != null) {
- output.WriteRawTag(26);
- output.WriteMessage(Options);
- }
- }
-
- public int CalculateSize() {
- int size = 0;
- if (Name.Length != 0) {
- size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
- }
- size += value_.CalculateSize(_repeated_value_codec);
- if (options_ != null) {
- size += 1 + pb::CodedOutputStream.ComputeMessageSize(Options);
- }
- return size;
- }
-
- public void MergeFrom(EnumDescriptorProto other) {
- if (other == null) {
- return;
- }
- if (other.Name.Length != 0) {
- Name = other.Name;
- }
- value_.Add(other.value_);
- if (other.options_ != null) {
- if (options_ == null) {
- options_ = new global::Google.Protobuf.Reflection.EnumOptions();
- }
- Options.MergeFrom(other.Options);
- }
- }
-
- public void MergeFrom(pb::CodedInputStream input) {
- uint tag;
- while (input.ReadTag(out tag)) {
- switch(tag) {
- case 0:
- throw pb::InvalidProtocolBufferException.InvalidTag();
- default:
- if (pb::WireFormat.IsEndGroupTag(tag)) {
- return;
- }
- break;
- case 10: {
- Name = input.ReadString();
- break;
- }
- case 18: {
- value_.AddEntriesFrom(input, _repeated_value_codec);
- break;
- }
- case 26: {
- if (options_ == null) {
- options_ = new global::Google.Protobuf.Reflection.EnumOptions();
- }
- input.ReadMessage(options_);
- break;
- }
- }
- }
- }
-
- }
-
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- internal sealed partial class EnumValueDescriptorProto : pb::IMessage<EnumValueDescriptorProto> {
- private static readonly pb::MessageParser<EnumValueDescriptorProto> _parser = new pb::MessageParser<EnumValueDescriptorProto>(() => new EnumValueDescriptorProto());
- public static pb::MessageParser<EnumValueDescriptorProto> Parser { get { return _parser; } }
-
- private static readonly string[] _fieldNames = new string[] { "name", "number", "options" };
- private static readonly uint[] _fieldTags = new uint[] { 10, 16, 26 };
- public static pbr::MessageDescriptor Descriptor {
- get { return global::Google.Protobuf.Reflection.DescriptorProtoFile.Descriptor.MessageTypes[6]; }
- }
-
- pbr::FieldAccessorTable pb::IReflectedMessage.Fields {
- get { return global::Google.Protobuf.Reflection.DescriptorProtoFile.internal__static_google_protobuf_EnumValueDescriptorProto__FieldAccessorTable; }
- }
-
- private bool _frozen = false;
- public bool IsFrozen { get { return _frozen; } }
-
- public EnumValueDescriptorProto() {
- OnConstruction();
- }
-
- partial void OnConstruction();
-
- public EnumValueDescriptorProto(EnumValueDescriptorProto other) : this() {
- name_ = other.name_;
- number_ = other.number_;
- Options = other.options_ != null ? other.Options.Clone() : null;
- }
-
- public EnumValueDescriptorProto Clone() {
- return new EnumValueDescriptorProto(this);
- }
-
- public void Freeze() {
- if (IsFrozen) {
- return;
- }
- _frozen = true;
- if (options_ != null) Options.Freeze();
- }
-
- public const int NameFieldNumber = 1;
- private string name_ = "";
- internal string Name {
- get { return name_; }
- set {
- pb::Freezable.CheckMutable(this);
- name_ = value ?? "";
- }
- }
-
- public const int NumberFieldNumber = 2;
- private int number_;
- internal int Number {
- get { return number_; }
- set {
- pb::Freezable.CheckMutable(this);
- number_ = value;
- }
- }
-
- public const int OptionsFieldNumber = 3;
- private global::Google.Protobuf.Reflection.EnumValueOptions options_;
- internal global::Google.Protobuf.Reflection.EnumValueOptions Options {
- get { return options_; }
- set {
- pb::Freezable.CheckMutable(this);
- options_ = value;
- }
- }
-
- public override bool Equals(object other) {
- return Equals(other as EnumValueDescriptorProto);
- }
-
- public bool Equals(EnumValueDescriptorProto other) {
- if (ReferenceEquals(other, null)) {
- return false;
- }
- if (ReferenceEquals(other, this)) {
- return true;
- }
- if (Name != other.Name) return false;
- if (Number != other.Number) return false;
- if (!object.Equals(Options, other.Options)) return false;
- return true;
- }
-
- public override int GetHashCode() {
- int hash = 1;
- if (Name.Length != 0) hash ^= Name.GetHashCode();
- if (Number != 0) hash ^= Number.GetHashCode();
- if (options_ != null) hash ^= Options.GetHashCode();
- return hash;
- }
-
- public override string ToString() {
- return pb::JsonFormatter.Default.Format(this);
- }
-
- public void WriteTo(pb::CodedOutputStream output) {
- if (Name.Length != 0) {
- output.WriteRawTag(10);
- output.WriteString(Name);
- }
- if (Number != 0) {
- output.WriteRawTag(16);
- output.WriteInt32(Number);
- }
- if (options_ != null) {
- output.WriteRawTag(26);
- output.WriteMessage(Options);
- }
- }
-
- public int CalculateSize() {
- int size = 0;
- if (Name.Length != 0) {
- size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
- }
- if (Number != 0) {
- size += 1 + pb::CodedOutputStream.ComputeInt32Size(Number);
- }
- if (options_ != null) {
- size += 1 + pb::CodedOutputStream.ComputeMessageSize(Options);
- }
- return size;
- }
-
- public void MergeFrom(EnumValueDescriptorProto other) {
- if (other == null) {
- return;
- }
- if (other.Name.Length != 0) {
- Name = other.Name;
- }
- if (other.Number != 0) {
- Number = other.Number;
- }
- if (other.options_ != null) {
- if (options_ == null) {
- options_ = new global::Google.Protobuf.Reflection.EnumValueOptions();
- }
- Options.MergeFrom(other.Options);
- }
- }
-
- public void MergeFrom(pb::CodedInputStream input) {
- uint tag;
- while (input.ReadTag(out tag)) {
- switch(tag) {
- case 0:
- throw pb::InvalidProtocolBufferException.InvalidTag();
- default:
- if (pb::WireFormat.IsEndGroupTag(tag)) {
- return;
- }
- break;
- case 10: {
- Name = input.ReadString();
- break;
- }
- case 16: {
- Number = input.ReadInt32();
- break;
- }
- case 26: {
- if (options_ == null) {
- options_ = new global::Google.Protobuf.Reflection.EnumValueOptions();
- }
- input.ReadMessage(options_);
- break;
- }
- }
- }
- }
-
- }
-
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- internal sealed partial class ServiceDescriptorProto : pb::IMessage<ServiceDescriptorProto> {
- private static readonly pb::MessageParser<ServiceDescriptorProto> _parser = new pb::MessageParser<ServiceDescriptorProto>(() => new ServiceDescriptorProto());
- public static pb::MessageParser<ServiceDescriptorProto> Parser { get { return _parser; } }
-
- private static readonly string[] _fieldNames = new string[] { "method", "name", "options" };
- private static readonly uint[] _fieldTags = new uint[] { 18, 10, 26 };
- public static pbr::MessageDescriptor Descriptor {
- get { return global::Google.Protobuf.Reflection.DescriptorProtoFile.Descriptor.MessageTypes[7]; }
- }
-
- pbr::FieldAccessorTable pb::IReflectedMessage.Fields {
- get { return global::Google.Protobuf.Reflection.DescriptorProtoFile.internal__static_google_protobuf_ServiceDescriptorProto__FieldAccessorTable; }
- }
-
- private bool _frozen = false;
- public bool IsFrozen { get { return _frozen; } }
-
- public ServiceDescriptorProto() {
- OnConstruction();
- }
-
- partial void OnConstruction();
-
- public ServiceDescriptorProto(ServiceDescriptorProto other) : this() {
- name_ = other.name_;
- method_ = other.method_.Clone();
- Options = other.options_ != null ? other.Options.Clone() : null;
- }
-
- public ServiceDescriptorProto Clone() {
- return new ServiceDescriptorProto(this);
- }
-
- public void Freeze() {
- if (IsFrozen) {
- return;
- }
- _frozen = true;
- method_.Freeze();
- if (options_ != null) Options.Freeze();
- }
-
- public const int NameFieldNumber = 1;
- private string name_ = "";
- internal string Name {
- get { return name_; }
- set {
- pb::Freezable.CheckMutable(this);
- name_ = value ?? "";
- }
- }
-
- public const int MethodFieldNumber = 2;
- private static readonly pb::FieldCodec<global::Google.Protobuf.Reflection.MethodDescriptorProto> _repeated_method_codec
- = pb::FieldCodec.ForMessage(18, global::Google.Protobuf.Reflection.MethodDescriptorProto.Parser);
- private readonly pbc::RepeatedField<global::Google.Protobuf.Reflection.MethodDescriptorProto> method_ = new pbc::RepeatedField<global::Google.Protobuf.Reflection.MethodDescriptorProto>();
- internal pbc::RepeatedField<global::Google.Protobuf.Reflection.MethodDescriptorProto> Method {
- get { return method_; }
- }
-
- public const int OptionsFieldNumber = 3;
- private global::Google.Protobuf.Reflection.ServiceOptions options_;
- internal global::Google.Protobuf.Reflection.ServiceOptions Options {
- get { return options_; }
- set {
- pb::Freezable.CheckMutable(this);
- options_ = value;
- }
- }
-
- public override bool Equals(object other) {
- return Equals(other as ServiceDescriptorProto);
- }
-
- public bool Equals(ServiceDescriptorProto other) {
- if (ReferenceEquals(other, null)) {
- return false;
- }
- if (ReferenceEquals(other, this)) {
- return true;
- }
- if (Name != other.Name) return false;
- if(!method_.Equals(other.method_)) return false;
- if (!object.Equals(Options, other.Options)) return false;
- return true;
- }
-
- public override int GetHashCode() {
- int hash = 1;
- if (Name.Length != 0) hash ^= Name.GetHashCode();
- hash ^= method_.GetHashCode();
- if (options_ != null) hash ^= Options.GetHashCode();
- return hash;
- }
-
- public override string ToString() {
- return pb::JsonFormatter.Default.Format(this);
- }
-
- public void WriteTo(pb::CodedOutputStream output) {
- if (Name.Length != 0) {
- output.WriteRawTag(10);
- output.WriteString(Name);
- }
- method_.WriteTo(output, _repeated_method_codec);
- if (options_ != null) {
- output.WriteRawTag(26);
- output.WriteMessage(Options);
- }
- }
-
- public int CalculateSize() {
- int size = 0;
- if (Name.Length != 0) {
- size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
- }
- size += method_.CalculateSize(_repeated_method_codec);
- if (options_ != null) {
- size += 1 + pb::CodedOutputStream.ComputeMessageSize(Options);
- }
- return size;
- }
-
- public void MergeFrom(ServiceDescriptorProto other) {
- if (other == null) {
- return;
- }
- if (other.Name.Length != 0) {
- Name = other.Name;
- }
- method_.Add(other.method_);
- if (other.options_ != null) {
- if (options_ == null) {
- options_ = new global::Google.Protobuf.Reflection.ServiceOptions();
- }
- Options.MergeFrom(other.Options);
- }
- }
-
- public void MergeFrom(pb::CodedInputStream input) {
- uint tag;
- while (input.ReadTag(out tag)) {
- switch(tag) {
- case 0:
- throw pb::InvalidProtocolBufferException.InvalidTag();
- default:
- if (pb::WireFormat.IsEndGroupTag(tag)) {
- return;
- }
- break;
- case 10: {
- Name = input.ReadString();
- break;
- }
- case 18: {
- method_.AddEntriesFrom(input, _repeated_method_codec);
- break;
- }
- case 26: {
- if (options_ == null) {
- options_ = new global::Google.Protobuf.Reflection.ServiceOptions();
- }
- input.ReadMessage(options_);
- break;
- }
- }
- }
- }
-
- }
-
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- internal sealed partial class MethodDescriptorProto : pb::IMessage<MethodDescriptorProto> {
- private static readonly pb::MessageParser<MethodDescriptorProto> _parser = new pb::MessageParser<MethodDescriptorProto>(() => new MethodDescriptorProto());
- public static pb::MessageParser<MethodDescriptorProto> Parser { get { return _parser; } }
-
- private static readonly string[] _fieldNames = new string[] { "client_streaming", "input_type", "name", "options", "output_type", "server_streaming" };
- private static readonly uint[] _fieldTags = new uint[] { 40, 18, 10, 34, 26, 48 };
- public static pbr::MessageDescriptor Descriptor {
- get { return global::Google.Protobuf.Reflection.DescriptorProtoFile.Descriptor.MessageTypes[8]; }
- }
-
- pbr::FieldAccessorTable pb::IReflectedMessage.Fields {
- get { return global::Google.Protobuf.Reflection.DescriptorProtoFile.internal__static_google_protobuf_MethodDescriptorProto__FieldAccessorTable; }
- }
-
- private bool _frozen = false;
- public bool IsFrozen { get { return _frozen; } }
-
- public MethodDescriptorProto() {
- OnConstruction();
- }
-
- partial void OnConstruction();
-
- public MethodDescriptorProto(MethodDescriptorProto other) : this() {
- name_ = other.name_;
- inputType_ = other.inputType_;
- outputType_ = other.outputType_;
- Options = other.options_ != null ? other.Options.Clone() : null;
- clientStreaming_ = other.clientStreaming_;
- serverStreaming_ = other.serverStreaming_;
- }
-
- public MethodDescriptorProto Clone() {
- return new MethodDescriptorProto(this);
- }
-
- public void Freeze() {
- if (IsFrozen) {
- return;
- }
- _frozen = true;
- if (options_ != null) Options.Freeze();
- }
-
- public const int NameFieldNumber = 1;
- private string name_ = "";
- internal string Name {
- get { return name_; }
- set {
- pb::Freezable.CheckMutable(this);
- name_ = value ?? "";
- }
- }
-
- public const int InputTypeFieldNumber = 2;
- private string inputType_ = "";
- internal string InputType {
- get { return inputType_; }
- set {
- pb::Freezable.CheckMutable(this);
- inputType_ = value ?? "";
- }
- }
-
- public const int OutputTypeFieldNumber = 3;
- private string outputType_ = "";
- internal string OutputType {
- get { return outputType_; }
- set {
- pb::Freezable.CheckMutable(this);
- outputType_ = value ?? "";
- }
- }
-
- public const int OptionsFieldNumber = 4;
- private global::Google.Protobuf.Reflection.MethodOptions options_;
- internal global::Google.Protobuf.Reflection.MethodOptions Options {
- get { return options_; }
- set {
- pb::Freezable.CheckMutable(this);
- options_ = value;
- }
- }
-
- public const int ClientStreamingFieldNumber = 5;
- private bool clientStreaming_;
- internal bool ClientStreaming {
- get { return clientStreaming_; }
- set {
- pb::Freezable.CheckMutable(this);
- clientStreaming_ = value;
- }
- }
-
- public const int ServerStreamingFieldNumber = 6;
- private bool serverStreaming_;
- internal bool ServerStreaming {
- get { return serverStreaming_; }
- set {
- pb::Freezable.CheckMutable(this);
- serverStreaming_ = value;
- }
- }
-
- public override bool Equals(object other) {
- return Equals(other as MethodDescriptorProto);
- }
-
- public bool Equals(MethodDescriptorProto other) {
- if (ReferenceEquals(other, null)) {
- return false;
- }
- if (ReferenceEquals(other, this)) {
- return true;
- }
- if (Name != other.Name) return false;
- if (InputType != other.InputType) return false;
- if (OutputType != other.OutputType) return false;
- if (!object.Equals(Options, other.Options)) return false;
- if (ClientStreaming != other.ClientStreaming) return false;
- if (ServerStreaming != other.ServerStreaming) return false;
- return true;
- }
-
- public override int GetHashCode() {
- int hash = 1;
- if (Name.Length != 0) hash ^= Name.GetHashCode();
- if (InputType.Length != 0) hash ^= InputType.GetHashCode();
- if (OutputType.Length != 0) hash ^= OutputType.GetHashCode();
- if (options_ != null) hash ^= Options.GetHashCode();
- if (ClientStreaming != false) hash ^= ClientStreaming.GetHashCode();
- if (ServerStreaming != false) hash ^= ServerStreaming.GetHashCode();
- return hash;
- }
-
- public override string ToString() {
- return pb::JsonFormatter.Default.Format(this);
- }
-
- public void WriteTo(pb::CodedOutputStream output) {
- if (Name.Length != 0) {
- output.WriteRawTag(10);
- output.WriteString(Name);
- }
- if (InputType.Length != 0) {
- output.WriteRawTag(18);
- output.WriteString(InputType);
- }
- if (OutputType.Length != 0) {
- output.WriteRawTag(26);
- output.WriteString(OutputType);
- }
- if (options_ != null) {
- output.WriteRawTag(34);
- output.WriteMessage(Options);
- }
- if (ClientStreaming != false) {
- output.WriteRawTag(40);
- output.WriteBool(ClientStreaming);
- }
- if (ServerStreaming != false) {
- output.WriteRawTag(48);
- output.WriteBool(ServerStreaming);
- }
- }
-
- public int CalculateSize() {
- int size = 0;
- if (Name.Length != 0) {
- size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
- }
- if (InputType.Length != 0) {
- size += 1 + pb::CodedOutputStream.ComputeStringSize(InputType);
- }
- if (OutputType.Length != 0) {
- size += 1 + pb::CodedOutputStream.ComputeStringSize(OutputType);
- }
- if (options_ != null) {
- size += 1 + pb::CodedOutputStream.ComputeMessageSize(Options);
- }
- if (ClientStreaming != false) {
- size += 1 + 1;
- }
- if (ServerStreaming != false) {
- size += 1 + 1;
- }
- return size;
- }
-
- public void MergeFrom(MethodDescriptorProto other) {
- if (other == null) {
- return;
- }
- if (other.Name.Length != 0) {
- Name = other.Name;
- }
- if (other.InputType.Length != 0) {
- InputType = other.InputType;
- }
- if (other.OutputType.Length != 0) {
- OutputType = other.OutputType;
- }
- if (other.options_ != null) {
- if (options_ == null) {
- options_ = new global::Google.Protobuf.Reflection.MethodOptions();
- }
- Options.MergeFrom(other.Options);
- }
- if (other.ClientStreaming != false) {
- ClientStreaming = other.ClientStreaming;
- }
- if (other.ServerStreaming != false) {
- ServerStreaming = other.ServerStreaming;
- }
- }
-
- public void MergeFrom(pb::CodedInputStream input) {
- uint tag;
- while (input.ReadTag(out tag)) {
- switch(tag) {
- case 0:
- throw pb::InvalidProtocolBufferException.InvalidTag();
- default:
- if (pb::WireFormat.IsEndGroupTag(tag)) {
- return;
- }
- break;
- case 10: {
- Name = input.ReadString();
- break;
- }
- case 18: {
- InputType = input.ReadString();
- break;
- }
- case 26: {
- OutputType = input.ReadString();
- break;
- }
- case 34: {
- if (options_ == null) {
- options_ = new global::Google.Protobuf.Reflection.MethodOptions();
- }
- input.ReadMessage(options_);
- break;
- }
- case 40: {
- ClientStreaming = input.ReadBool();
- break;
- }
- case 48: {
- ServerStreaming = input.ReadBool();
- break;
- }
- }
- }
- }
-
- }
-
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- internal sealed partial class FileOptions : pb::IMessage<FileOptions> {
- private static readonly pb::MessageParser<FileOptions> _parser = new pb::MessageParser<FileOptions>(() => new FileOptions());
- public static pb::MessageParser<FileOptions> Parser { get { return _parser; } }
-
- private static readonly string[] _fieldNames = new string[] { "cc_enable_arenas", "cc_generic_services", "csharp_namespace", "deprecated", "go_package", "java_generate_equals_and_hash", "java_generic_services", "java_multiple_files", "java_outer_classname", "java_package", "java_string_check_utf8", "objc_class_prefix", "optimize_for", "py_generic_services", "uninterpreted_option" };
- private static readonly uint[] _fieldTags = new uint[] { 248, 128, 298, 184, 90, 160, 136, 80, 66, 10, 216, 290, 72, 144, 7994 };
- public static pbr::MessageDescriptor Descriptor {
- get { return global::Google.Protobuf.Reflection.DescriptorProtoFile.Descriptor.MessageTypes[9]; }
- }
-
- pbr::FieldAccessorTable pb::IReflectedMessage.Fields {
- get { return global::Google.Protobuf.Reflection.DescriptorProtoFile.internal__static_google_protobuf_FileOptions__FieldAccessorTable; }
- }
-
- private bool _frozen = false;
- public bool IsFrozen { get { return _frozen; } }
-
- public FileOptions() {
- OnConstruction();
- }
-
- partial void OnConstruction();
-
- public FileOptions(FileOptions other) : this() {
- javaPackage_ = other.javaPackage_;
- javaOuterClassname_ = other.javaOuterClassname_;
- javaMultipleFiles_ = other.javaMultipleFiles_;
- javaGenerateEqualsAndHash_ = other.javaGenerateEqualsAndHash_;
- javaStringCheckUtf8_ = other.javaStringCheckUtf8_;
- optimizeFor_ = other.optimizeFor_;
- goPackage_ = other.goPackage_;
- ccGenericServices_ = other.ccGenericServices_;
- javaGenericServices_ = other.javaGenericServices_;
- pyGenericServices_ = other.pyGenericServices_;
- deprecated_ = other.deprecated_;
- ccEnableArenas_ = other.ccEnableArenas_;
- objcClassPrefix_ = other.objcClassPrefix_;
- csharpNamespace_ = other.csharpNamespace_;
- uninterpretedOption_ = other.uninterpretedOption_.Clone();
- }
-
- public FileOptions Clone() {
- return new FileOptions(this);
- }
-
- public void Freeze() {
- if (IsFrozen) {
- return;
- }
- _frozen = true;
- uninterpretedOption_.Freeze();
- }
-
- public const int JavaPackageFieldNumber = 1;
- private string javaPackage_ = "";
- internal string JavaPackage {
- get { return javaPackage_; }
- set {
- pb::Freezable.CheckMutable(this);
- javaPackage_ = value ?? "";
- }
- }
-
- public const int JavaOuterClassnameFieldNumber = 8;
- private string javaOuterClassname_ = "";
- internal string JavaOuterClassname {
- get { return javaOuterClassname_; }
- set {
- pb::Freezable.CheckMutable(this);
- javaOuterClassname_ = value ?? "";
- }
- }
-
- public const int JavaMultipleFilesFieldNumber = 10;
- private bool javaMultipleFiles_;
- internal bool JavaMultipleFiles {
- get { return javaMultipleFiles_; }
- set {
- pb::Freezable.CheckMutable(this);
- javaMultipleFiles_ = value;
- }
- }
-
- public const int JavaGenerateEqualsAndHashFieldNumber = 20;
- private bool javaGenerateEqualsAndHash_;
- internal bool JavaGenerateEqualsAndHash {
- get { return javaGenerateEqualsAndHash_; }
- set {
- pb::Freezable.CheckMutable(this);
- javaGenerateEqualsAndHash_ = value;
- }
- }
-
- public const int JavaStringCheckUtf8FieldNumber = 27;
- private bool javaStringCheckUtf8_;
- internal bool JavaStringCheckUtf8 {
- get { return javaStringCheckUtf8_; }
- set {
- pb::Freezable.CheckMutable(this);
- javaStringCheckUtf8_ = value;
- }
- }
-
- public const int OptimizeForFieldNumber = 9;
- private global::Google.Protobuf.Reflection.FileOptions.Types.OptimizeMode optimizeFor_ = global::Google.Protobuf.Reflection.FileOptions.Types.OptimizeMode.SPEED;
- internal global::Google.Protobuf.Reflection.FileOptions.Types.OptimizeMode OptimizeFor {
- get { return optimizeFor_; }
- set {
- pb::Freezable.CheckMutable(this);
- optimizeFor_ = value;
- }
- }
-
- public const int GoPackageFieldNumber = 11;
- private string goPackage_ = "";
- internal string GoPackage {
- get { return goPackage_; }
- set {
- pb::Freezable.CheckMutable(this);
- goPackage_ = value ?? "";
- }
- }
-
- public const int CcGenericServicesFieldNumber = 16;
- private bool ccGenericServices_;
- internal bool CcGenericServices {
- get { return ccGenericServices_; }
- set {
- pb::Freezable.CheckMutable(this);
- ccGenericServices_ = value;
- }
- }
-
- public const int JavaGenericServicesFieldNumber = 17;
- private bool javaGenericServices_;
- internal bool JavaGenericServices {
- get { return javaGenericServices_; }
- set {
- pb::Freezable.CheckMutable(this);
- javaGenericServices_ = value;
- }
- }
-
- public const int PyGenericServicesFieldNumber = 18;
- private bool pyGenericServices_;
- internal bool PyGenericServices {
- get { return pyGenericServices_; }
- set {
- pb::Freezable.CheckMutable(this);
- pyGenericServices_ = value;
- }
- }
-
- public const int DeprecatedFieldNumber = 23;
- private bool deprecated_;
- internal bool Deprecated {
- get { return deprecated_; }
- set {
- pb::Freezable.CheckMutable(this);
- deprecated_ = value;
- }
- }
-
- public const int CcEnableArenasFieldNumber = 31;
- private bool ccEnableArenas_;
- internal bool CcEnableArenas {
- get { return ccEnableArenas_; }
- set {
- pb::Freezable.CheckMutable(this);
- ccEnableArenas_ = value;
- }
- }
-
- public const int ObjcClassPrefixFieldNumber = 36;
- private string objcClassPrefix_ = "";
- internal string ObjcClassPrefix {
- get { return objcClassPrefix_; }
- set {
- pb::Freezable.CheckMutable(this);
- objcClassPrefix_ = value ?? "";
- }
- }
-
- public const int CsharpNamespaceFieldNumber = 37;
- private string csharpNamespace_ = "";
- internal string CsharpNamespace {
- get { return csharpNamespace_; }
- set {
- pb::Freezable.CheckMutable(this);
- csharpNamespace_ = value ?? "";
- }
- }
-
- public const int UninterpretedOptionFieldNumber = 999;
- private static readonly pb::FieldCodec<global::Google.Protobuf.Reflection.UninterpretedOption> _repeated_uninterpretedOption_codec
- = pb::FieldCodec.ForMessage(7994, global::Google.Protobuf.Reflection.UninterpretedOption.Parser);
- private readonly pbc::RepeatedField<global::Google.Protobuf.Reflection.UninterpretedOption> uninterpretedOption_ = new pbc::RepeatedField<global::Google.Protobuf.Reflection.UninterpretedOption>();
- internal pbc::RepeatedField<global::Google.Protobuf.Reflection.UninterpretedOption> UninterpretedOption {
- get { return uninterpretedOption_; }
- }
-
- public override bool Equals(object other) {
- return Equals(other as FileOptions);
- }
-
- public bool Equals(FileOptions other) {
- if (ReferenceEquals(other, null)) {
- return false;
- }
- if (ReferenceEquals(other, this)) {
- return true;
- }
- if (JavaPackage != other.JavaPackage) return false;
- if (JavaOuterClassname != other.JavaOuterClassname) return false;
- if (JavaMultipleFiles != other.JavaMultipleFiles) return false;
- if (JavaGenerateEqualsAndHash != other.JavaGenerateEqualsAndHash) return false;
- if (JavaStringCheckUtf8 != other.JavaStringCheckUtf8) return false;
- if (OptimizeFor != other.OptimizeFor) return false;
- if (GoPackage != other.GoPackage) return false;
- if (CcGenericServices != other.CcGenericServices) return false;
- if (JavaGenericServices != other.JavaGenericServices) return false;
- if (PyGenericServices != other.PyGenericServices) return false;
- if (Deprecated != other.Deprecated) return false;
- if (CcEnableArenas != other.CcEnableArenas) return false;
- if (ObjcClassPrefix != other.ObjcClassPrefix) return false;
- if (CsharpNamespace != other.CsharpNamespace) return false;
- if(!uninterpretedOption_.Equals(other.uninterpretedOption_)) return false;
- return true;
- }
-
- public override int GetHashCode() {
- int hash = 1;
- if (JavaPackage.Length != 0) hash ^= JavaPackage.GetHashCode();
- if (JavaOuterClassname.Length != 0) hash ^= JavaOuterClassname.GetHashCode();
- if (JavaMultipleFiles != false) hash ^= JavaMultipleFiles.GetHashCode();
- if (JavaGenerateEqualsAndHash != false) hash ^= JavaGenerateEqualsAndHash.GetHashCode();
- if (JavaStringCheckUtf8 != false) hash ^= JavaStringCheckUtf8.GetHashCode();
- if (OptimizeFor != global::Google.Protobuf.Reflection.FileOptions.Types.OptimizeMode.SPEED) hash ^= OptimizeFor.GetHashCode();
- if (GoPackage.Length != 0) hash ^= GoPackage.GetHashCode();
- if (CcGenericServices != false) hash ^= CcGenericServices.GetHashCode();
- if (JavaGenericServices != false) hash ^= JavaGenericServices.GetHashCode();
- if (PyGenericServices != false) hash ^= PyGenericServices.GetHashCode();
- if (Deprecated != false) hash ^= Deprecated.GetHashCode();
- if (CcEnableArenas != false) hash ^= CcEnableArenas.GetHashCode();
- if (ObjcClassPrefix.Length != 0) hash ^= ObjcClassPrefix.GetHashCode();
- if (CsharpNamespace.Length != 0) hash ^= CsharpNamespace.GetHashCode();
- hash ^= uninterpretedOption_.GetHashCode();
- return hash;
- }
-
- public override string ToString() {
- return pb::JsonFormatter.Default.Format(this);
- }
-
- public void WriteTo(pb::CodedOutputStream output) {
- if (JavaPackage.Length != 0) {
- output.WriteRawTag(10);
- output.WriteString(JavaPackage);
- }
- if (JavaOuterClassname.Length != 0) {
- output.WriteRawTag(66);
- output.WriteString(JavaOuterClassname);
- }
- if (OptimizeFor != global::Google.Protobuf.Reflection.FileOptions.Types.OptimizeMode.SPEED) {
- output.WriteRawTag(72);
- output.WriteEnum((int) OptimizeFor);
- }
- if (JavaMultipleFiles != false) {
- output.WriteRawTag(80);
- output.WriteBool(JavaMultipleFiles);
- }
- if (GoPackage.Length != 0) {
- output.WriteRawTag(90);
- output.WriteString(GoPackage);
- }
- if (CcGenericServices != false) {
- output.WriteRawTag(128, 1);
- output.WriteBool(CcGenericServices);
- }
- if (JavaGenericServices != false) {
- output.WriteRawTag(136, 1);
- output.WriteBool(JavaGenericServices);
- }
- if (PyGenericServices != false) {
- output.WriteRawTag(144, 1);
- output.WriteBool(PyGenericServices);
- }
- if (JavaGenerateEqualsAndHash != false) {
- output.WriteRawTag(160, 1);
- output.WriteBool(JavaGenerateEqualsAndHash);
- }
- if (Deprecated != false) {
- output.WriteRawTag(184, 1);
- output.WriteBool(Deprecated);
- }
- if (JavaStringCheckUtf8 != false) {
- output.WriteRawTag(216, 1);
- output.WriteBool(JavaStringCheckUtf8);
- }
- if (CcEnableArenas != false) {
- output.WriteRawTag(248, 1);
- output.WriteBool(CcEnableArenas);
- }
- if (ObjcClassPrefix.Length != 0) {
- output.WriteRawTag(162, 2);
- output.WriteString(ObjcClassPrefix);
- }
- if (CsharpNamespace.Length != 0) {
- output.WriteRawTag(170, 2);
- output.WriteString(CsharpNamespace);
- }
- uninterpretedOption_.WriteTo(output, _repeated_uninterpretedOption_codec);
- }
-
- public int CalculateSize() {
- int size = 0;
- if (JavaPackage.Length != 0) {
- size += 1 + pb::CodedOutputStream.ComputeStringSize(JavaPackage);
- }
- if (JavaOuterClassname.Length != 0) {
- size += 1 + pb::CodedOutputStream.ComputeStringSize(JavaOuterClassname);
- }
- if (JavaMultipleFiles != false) {
- size += 1 + 1;
- }
- if (JavaGenerateEqualsAndHash != false) {
- size += 2 + 1;
- }
- if (JavaStringCheckUtf8 != false) {
- size += 2 + 1;
- }
- if (OptimizeFor != global::Google.Protobuf.Reflection.FileOptions.Types.OptimizeMode.SPEED) {
- size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) OptimizeFor);
- }
- if (GoPackage.Length != 0) {
- size += 1 + pb::CodedOutputStream.ComputeStringSize(GoPackage);
- }
- if (CcGenericServices != false) {
- size += 2 + 1;
- }
- if (JavaGenericServices != false) {
- size += 2 + 1;
- }
- if (PyGenericServices != false) {
- size += 2 + 1;
- }
- if (Deprecated != false) {
- size += 2 + 1;
- }
- if (CcEnableArenas != false) {
- size += 2 + 1;
- }
- if (ObjcClassPrefix.Length != 0) {
- size += 2 + pb::CodedOutputStream.ComputeStringSize(ObjcClassPrefix);
- }
- if (CsharpNamespace.Length != 0) {
- size += 2 + pb::CodedOutputStream.ComputeStringSize(CsharpNamespace);
- }
- size += uninterpretedOption_.CalculateSize(_repeated_uninterpretedOption_codec);
- return size;
- }
-
- public void MergeFrom(FileOptions other) {
- if (other == null) {
- return;
- }
- if (other.JavaPackage.Length != 0) {
- JavaPackage = other.JavaPackage;
- }
- if (other.JavaOuterClassname.Length != 0) {
- JavaOuterClassname = other.JavaOuterClassname;
- }
- if (other.JavaMultipleFiles != false) {
- JavaMultipleFiles = other.JavaMultipleFiles;
- }
- if (other.JavaGenerateEqualsAndHash != false) {
- JavaGenerateEqualsAndHash = other.JavaGenerateEqualsAndHash;
- }
- if (other.JavaStringCheckUtf8 != false) {
- JavaStringCheckUtf8 = other.JavaStringCheckUtf8;
- }
- if (other.OptimizeFor != global::Google.Protobuf.Reflection.FileOptions.Types.OptimizeMode.SPEED) {
- OptimizeFor = other.OptimizeFor;
- }
- if (other.GoPackage.Length != 0) {
- GoPackage = other.GoPackage;
- }
- if (other.CcGenericServices != false) {
- CcGenericServices = other.CcGenericServices;
- }
- if (other.JavaGenericServices != false) {
- JavaGenericServices = other.JavaGenericServices;
- }
- if (other.PyGenericServices != false) {
- PyGenericServices = other.PyGenericServices;
- }
- if (other.Deprecated != false) {
- Deprecated = other.Deprecated;
- }
- if (other.CcEnableArenas != false) {
- CcEnableArenas = other.CcEnableArenas;
- }
- if (other.ObjcClassPrefix.Length != 0) {
- ObjcClassPrefix = other.ObjcClassPrefix;
- }
- if (other.CsharpNamespace.Length != 0) {
- CsharpNamespace = other.CsharpNamespace;
- }
- uninterpretedOption_.Add(other.uninterpretedOption_);
- }
-
- public void MergeFrom(pb::CodedInputStream input) {
- uint tag;
- while (input.ReadTag(out tag)) {
- switch(tag) {
- case 0:
- throw pb::InvalidProtocolBufferException.InvalidTag();
- default:
- if (pb::WireFormat.IsEndGroupTag(tag)) {
- return;
- }
- break;
- case 10: {
- JavaPackage = input.ReadString();
- break;
- }
- case 66: {
- JavaOuterClassname = input.ReadString();
- break;
- }
- case 72: {
- optimizeFor_ = (global::Google.Protobuf.Reflection.FileOptions.Types.OptimizeMode) input.ReadEnum();
- break;
- }
- case 80: {
- JavaMultipleFiles = input.ReadBool();
- break;
- }
- case 90: {
- GoPackage = input.ReadString();
- break;
- }
- case 128: {
- CcGenericServices = input.ReadBool();
- break;
- }
- case 136: {
- JavaGenericServices = input.ReadBool();
- break;
- }
- case 144: {
- PyGenericServices = input.ReadBool();
- break;
- }
- case 160: {
- JavaGenerateEqualsAndHash = input.ReadBool();
- break;
- }
- case 184: {
- Deprecated = input.ReadBool();
- break;
- }
- case 216: {
- JavaStringCheckUtf8 = input.ReadBool();
- break;
- }
- case 248: {
- CcEnableArenas = input.ReadBool();
- break;
- }
- case 290: {
- ObjcClassPrefix = input.ReadString();
- break;
- }
- case 298: {
- CsharpNamespace = input.ReadString();
- break;
- }
- case 7994: {
- uninterpretedOption_.AddEntriesFrom(input, _repeated_uninterpretedOption_codec);
- break;
- }
- }
- }
- }
-
- #region Nested types
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- public static partial class Types {
- internal enum OptimizeMode {
- SPEED = 1,
- CODE_SIZE = 2,
- LITE_RUNTIME = 3,
- }
-
- }
- #endregion
-
- }
-
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- internal sealed partial class MessageOptions : pb::IMessage<MessageOptions> {
- private static readonly pb::MessageParser<MessageOptions> _parser = new pb::MessageParser<MessageOptions>(() => new MessageOptions());
- public static pb::MessageParser<MessageOptions> Parser { get { return _parser; } }
-
- private static readonly string[] _fieldNames = new string[] { "deprecated", "map_entry", "message_set_wire_format", "no_standard_descriptor_accessor", "uninterpreted_option" };
- private static readonly uint[] _fieldTags = new uint[] { 24, 56, 8, 16, 7994 };
- public static pbr::MessageDescriptor Descriptor {
- get { return global::Google.Protobuf.Reflection.DescriptorProtoFile.Descriptor.MessageTypes[10]; }
- }
-
- pbr::FieldAccessorTable pb::IReflectedMessage.Fields {
- get { return global::Google.Protobuf.Reflection.DescriptorProtoFile.internal__static_google_protobuf_MessageOptions__FieldAccessorTable; }
- }
-
- private bool _frozen = false;
- public bool IsFrozen { get { return _frozen; } }
-
- public MessageOptions() {
- OnConstruction();
- }
-
- partial void OnConstruction();
-
- public MessageOptions(MessageOptions other) : this() {
- messageSetWireFormat_ = other.messageSetWireFormat_;
- noStandardDescriptorAccessor_ = other.noStandardDescriptorAccessor_;
- deprecated_ = other.deprecated_;
- mapEntry_ = other.mapEntry_;
- uninterpretedOption_ = other.uninterpretedOption_.Clone();
- }
-
- public MessageOptions Clone() {
- return new MessageOptions(this);
- }
-
- public void Freeze() {
- if (IsFrozen) {
- return;
- }
- _frozen = true;
- uninterpretedOption_.Freeze();
- }
-
- public const int MessageSetWireFormatFieldNumber = 1;
- private bool messageSetWireFormat_;
- internal bool MessageSetWireFormat {
- get { return messageSetWireFormat_; }
- set {
- pb::Freezable.CheckMutable(this);
- messageSetWireFormat_ = value;
- }
- }
-
- public const int NoStandardDescriptorAccessorFieldNumber = 2;
- private bool noStandardDescriptorAccessor_;
- internal bool NoStandardDescriptorAccessor {
- get { return noStandardDescriptorAccessor_; }
- set {
- pb::Freezable.CheckMutable(this);
- noStandardDescriptorAccessor_ = value;
- }
- }
-
- public const int DeprecatedFieldNumber = 3;
- private bool deprecated_;
- internal bool Deprecated {
- get { return deprecated_; }
- set {
- pb::Freezable.CheckMutable(this);
- deprecated_ = value;
- }
- }
-
- public const int MapEntryFieldNumber = 7;
- private bool mapEntry_;
- internal bool MapEntry {
- get { return mapEntry_; }
- set {
- pb::Freezable.CheckMutable(this);
- mapEntry_ = value;
- }
- }
-
- public const int UninterpretedOptionFieldNumber = 999;
- private static readonly pb::FieldCodec<global::Google.Protobuf.Reflection.UninterpretedOption> _repeated_uninterpretedOption_codec
- = pb::FieldCodec.ForMessage(7994, global::Google.Protobuf.Reflection.UninterpretedOption.Parser);
- private readonly pbc::RepeatedField<global::Google.Protobuf.Reflection.UninterpretedOption> uninterpretedOption_ = new pbc::RepeatedField<global::Google.Protobuf.Reflection.UninterpretedOption>();
- internal pbc::RepeatedField<global::Google.Protobuf.Reflection.UninterpretedOption> UninterpretedOption {
- get { return uninterpretedOption_; }
- }
-
- public override bool Equals(object other) {
- return Equals(other as MessageOptions);
- }
-
- public bool Equals(MessageOptions other) {
- if (ReferenceEquals(other, null)) {
- return false;
- }
- if (ReferenceEquals(other, this)) {
- return true;
- }
- if (MessageSetWireFormat != other.MessageSetWireFormat) return false;
- if (NoStandardDescriptorAccessor != other.NoStandardDescriptorAccessor) return false;
- if (Deprecated != other.Deprecated) return false;
- if (MapEntry != other.MapEntry) return false;
- if(!uninterpretedOption_.Equals(other.uninterpretedOption_)) return false;
- return true;
- }
-
- public override int GetHashCode() {
- int hash = 1;
- if (MessageSetWireFormat != false) hash ^= MessageSetWireFormat.GetHashCode();
- if (NoStandardDescriptorAccessor != false) hash ^= NoStandardDescriptorAccessor.GetHashCode();
- if (Deprecated != false) hash ^= Deprecated.GetHashCode();
- if (MapEntry != false) hash ^= MapEntry.GetHashCode();
- hash ^= uninterpretedOption_.GetHashCode();
- return hash;
- }
-
- public override string ToString() {
- return pb::JsonFormatter.Default.Format(this);
- }
-
- public void WriteTo(pb::CodedOutputStream output) {
- if (MessageSetWireFormat != false) {
- output.WriteRawTag(8);
- output.WriteBool(MessageSetWireFormat);
- }
- if (NoStandardDescriptorAccessor != false) {
- output.WriteRawTag(16);
- output.WriteBool(NoStandardDescriptorAccessor);
- }
- if (Deprecated != false) {
- output.WriteRawTag(24);
- output.WriteBool(Deprecated);
- }
- if (MapEntry != false) {
- output.WriteRawTag(56);
- output.WriteBool(MapEntry);
- }
- uninterpretedOption_.WriteTo(output, _repeated_uninterpretedOption_codec);
- }
-
- public int CalculateSize() {
- int size = 0;
- if (MessageSetWireFormat != false) {
- size += 1 + 1;
- }
- if (NoStandardDescriptorAccessor != false) {
- size += 1 + 1;
- }
- if (Deprecated != false) {
- size += 1 + 1;
- }
- if (MapEntry != false) {
- size += 1 + 1;
- }
- size += uninterpretedOption_.CalculateSize(_repeated_uninterpretedOption_codec);
- return size;
- }
-
- public void MergeFrom(MessageOptions other) {
- if (other == null) {
- return;
- }
- if (other.MessageSetWireFormat != false) {
- MessageSetWireFormat = other.MessageSetWireFormat;
- }
- if (other.NoStandardDescriptorAccessor != false) {
- NoStandardDescriptorAccessor = other.NoStandardDescriptorAccessor;
- }
- if (other.Deprecated != false) {
- Deprecated = other.Deprecated;
- }
- if (other.MapEntry != false) {
- MapEntry = other.MapEntry;
- }
- uninterpretedOption_.Add(other.uninterpretedOption_);
- }
-
- public void MergeFrom(pb::CodedInputStream input) {
- uint tag;
- while (input.ReadTag(out tag)) {
- switch(tag) {
- case 0:
- throw pb::InvalidProtocolBufferException.InvalidTag();
- default:
- if (pb::WireFormat.IsEndGroupTag(tag)) {
- return;
- }
- break;
- case 8: {
- MessageSetWireFormat = input.ReadBool();
- break;
- }
- case 16: {
- NoStandardDescriptorAccessor = input.ReadBool();
- break;
- }
- case 24: {
- Deprecated = input.ReadBool();
- break;
- }
- case 56: {
- MapEntry = input.ReadBool();
- break;
- }
- case 7994: {
- uninterpretedOption_.AddEntriesFrom(input, _repeated_uninterpretedOption_codec);
- break;
- }
- }
- }
- }
-
- }
-
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- internal sealed partial class FieldOptions : pb::IMessage<FieldOptions> {
- private static readonly pb::MessageParser<FieldOptions> _parser = new pb::MessageParser<FieldOptions>(() => new FieldOptions());
- public static pb::MessageParser<FieldOptions> Parser { get { return _parser; } }
-
- private static readonly string[] _fieldNames = new string[] { "ctype", "deprecated", "jstype", "lazy", "packed", "uninterpreted_option", "weak" };
- private static readonly uint[] _fieldTags = new uint[] { 8, 24, 48, 40, 16, 7994, 80 };
- public static pbr::MessageDescriptor Descriptor {
- get { return global::Google.Protobuf.Reflection.DescriptorProtoFile.Descriptor.MessageTypes[11]; }
- }
-
- pbr::FieldAccessorTable pb::IReflectedMessage.Fields {
- get { return global::Google.Protobuf.Reflection.DescriptorProtoFile.internal__static_google_protobuf_FieldOptions__FieldAccessorTable; }
- }
-
- private bool _frozen = false;
- public bool IsFrozen { get { return _frozen; } }
-
- public FieldOptions() {
- OnConstruction();
- }
-
- partial void OnConstruction();
-
- public FieldOptions(FieldOptions other) : this() {
- ctype_ = other.ctype_;
- packed_ = other.packed_;
- jstype_ = other.jstype_;
- lazy_ = other.lazy_;
- deprecated_ = other.deprecated_;
- weak_ = other.weak_;
- uninterpretedOption_ = other.uninterpretedOption_.Clone();
- }
-
- public FieldOptions Clone() {
- return new FieldOptions(this);
- }
-
- public void Freeze() {
- if (IsFrozen) {
- return;
- }
- _frozen = true;
- uninterpretedOption_.Freeze();
- }
-
- public const int CtypeFieldNumber = 1;
- private global::Google.Protobuf.Reflection.FieldOptions.Types.CType ctype_ = global::Google.Protobuf.Reflection.FieldOptions.Types.CType.STRING;
- internal global::Google.Protobuf.Reflection.FieldOptions.Types.CType Ctype {
- get { return ctype_; }
- set {
- pb::Freezable.CheckMutable(this);
- ctype_ = value;
- }
- }
-
- public const int PackedFieldNumber = 2;
- private bool packed_;
- internal bool Packed {
- get { return packed_; }
- set {
- pb::Freezable.CheckMutable(this);
- packed_ = value;
- }
- }
-
- public const int JstypeFieldNumber = 6;
- private global::Google.Protobuf.Reflection.FieldOptions.Types.JSType jstype_ = global::Google.Protobuf.Reflection.FieldOptions.Types.JSType.JS_NORMAL;
- internal global::Google.Protobuf.Reflection.FieldOptions.Types.JSType Jstype {
- get { return jstype_; }
- set {
- pb::Freezable.CheckMutable(this);
- jstype_ = value;
- }
- }
-
- public const int LazyFieldNumber = 5;
- private bool lazy_;
- internal bool Lazy {
- get { return lazy_; }
- set {
- pb::Freezable.CheckMutable(this);
- lazy_ = value;
- }
- }
-
- public const int DeprecatedFieldNumber = 3;
- private bool deprecated_;
- internal bool Deprecated {
- get { return deprecated_; }
- set {
- pb::Freezable.CheckMutable(this);
- deprecated_ = value;
- }
- }
-
- public const int WeakFieldNumber = 10;
- private bool weak_;
- internal bool Weak {
- get { return weak_; }
- set {
- pb::Freezable.CheckMutable(this);
- weak_ = value;
- }
- }
-
- public const int UninterpretedOptionFieldNumber = 999;
- private static readonly pb::FieldCodec<global::Google.Protobuf.Reflection.UninterpretedOption> _repeated_uninterpretedOption_codec
- = pb::FieldCodec.ForMessage(7994, global::Google.Protobuf.Reflection.UninterpretedOption.Parser);
- private readonly pbc::RepeatedField<global::Google.Protobuf.Reflection.UninterpretedOption> uninterpretedOption_ = new pbc::RepeatedField<global::Google.Protobuf.Reflection.UninterpretedOption>();
- internal pbc::RepeatedField<global::Google.Protobuf.Reflection.UninterpretedOption> UninterpretedOption {
- get { return uninterpretedOption_; }
- }
-
- public override bool Equals(object other) {
- return Equals(other as FieldOptions);
- }
-
- public bool Equals(FieldOptions other) {
- if (ReferenceEquals(other, null)) {
- return false;
- }
- if (ReferenceEquals(other, this)) {
- return true;
- }
- if (Ctype != other.Ctype) return false;
- if (Packed != other.Packed) return false;
- if (Jstype != other.Jstype) return false;
- if (Lazy != other.Lazy) return false;
- if (Deprecated != other.Deprecated) return false;
- if (Weak != other.Weak) return false;
- if(!uninterpretedOption_.Equals(other.uninterpretedOption_)) return false;
- return true;
- }
-
- public override int GetHashCode() {
- int hash = 1;
- if (Ctype != global::Google.Protobuf.Reflection.FieldOptions.Types.CType.STRING) hash ^= Ctype.GetHashCode();
- if (Packed != false) hash ^= Packed.GetHashCode();
- if (Jstype != global::Google.Protobuf.Reflection.FieldOptions.Types.JSType.JS_NORMAL) hash ^= Jstype.GetHashCode();
- if (Lazy != false) hash ^= Lazy.GetHashCode();
- if (Deprecated != false) hash ^= Deprecated.GetHashCode();
- if (Weak != false) hash ^= Weak.GetHashCode();
- hash ^= uninterpretedOption_.GetHashCode();
- return hash;
- }
-
- public override string ToString() {
- return pb::JsonFormatter.Default.Format(this);
- }
-
- public void WriteTo(pb::CodedOutputStream output) {
- if (Ctype != global::Google.Protobuf.Reflection.FieldOptions.Types.CType.STRING) {
- output.WriteRawTag(8);
- output.WriteEnum((int) Ctype);
- }
- if (Packed != false) {
- output.WriteRawTag(16);
- output.WriteBool(Packed);
- }
- if (Deprecated != false) {
- output.WriteRawTag(24);
- output.WriteBool(Deprecated);
- }
- if (Lazy != false) {
- output.WriteRawTag(40);
- output.WriteBool(Lazy);
- }
- if (Jstype != global::Google.Protobuf.Reflection.FieldOptions.Types.JSType.JS_NORMAL) {
- output.WriteRawTag(48);
- output.WriteEnum((int) Jstype);
- }
- if (Weak != false) {
- output.WriteRawTag(80);
- output.WriteBool(Weak);
- }
- uninterpretedOption_.WriteTo(output, _repeated_uninterpretedOption_codec);
- }
-
- public int CalculateSize() {
- int size = 0;
- if (Ctype != global::Google.Protobuf.Reflection.FieldOptions.Types.CType.STRING) {
- size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Ctype);
- }
- if (Packed != false) {
- size += 1 + 1;
- }
- if (Jstype != global::Google.Protobuf.Reflection.FieldOptions.Types.JSType.JS_NORMAL) {
- size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Jstype);
- }
- if (Lazy != false) {
- size += 1 + 1;
- }
- if (Deprecated != false) {
- size += 1 + 1;
- }
- if (Weak != false) {
- size += 1 + 1;
- }
- size += uninterpretedOption_.CalculateSize(_repeated_uninterpretedOption_codec);
- return size;
- }
-
- public void MergeFrom(FieldOptions other) {
- if (other == null) {
- return;
- }
- if (other.Ctype != global::Google.Protobuf.Reflection.FieldOptions.Types.CType.STRING) {
- Ctype = other.Ctype;
- }
- if (other.Packed != false) {
- Packed = other.Packed;
- }
- if (other.Jstype != global::Google.Protobuf.Reflection.FieldOptions.Types.JSType.JS_NORMAL) {
- Jstype = other.Jstype;
- }
- if (other.Lazy != false) {
- Lazy = other.Lazy;
- }
- if (other.Deprecated != false) {
- Deprecated = other.Deprecated;
- }
- if (other.Weak != false) {
- Weak = other.Weak;
- }
- uninterpretedOption_.Add(other.uninterpretedOption_);
- }
-
- public void MergeFrom(pb::CodedInputStream input) {
- uint tag;
- while (input.ReadTag(out tag)) {
- switch(tag) {
- case 0:
- throw pb::InvalidProtocolBufferException.InvalidTag();
- default:
- if (pb::WireFormat.IsEndGroupTag(tag)) {
- return;
- }
- break;
- case 8: {
- ctype_ = (global::Google.Protobuf.Reflection.FieldOptions.Types.CType) input.ReadEnum();
- break;
- }
- case 16: {
- Packed = input.ReadBool();
- break;
- }
- case 24: {
- Deprecated = input.ReadBool();
- break;
- }
- case 40: {
- Lazy = input.ReadBool();
- break;
- }
- case 48: {
- jstype_ = (global::Google.Protobuf.Reflection.FieldOptions.Types.JSType) input.ReadEnum();
- break;
- }
- case 80: {
- Weak = input.ReadBool();
- break;
- }
- case 7994: {
- uninterpretedOption_.AddEntriesFrom(input, _repeated_uninterpretedOption_codec);
- break;
- }
- }
- }
- }
-
- #region Nested types
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- public static partial class Types {
- internal enum CType {
- STRING = 0,
- CORD = 1,
- STRING_PIECE = 2,
- }
-
- internal enum JSType {
- JS_NORMAL = 0,
- JS_STRING = 1,
- JS_NUMBER = 2,
- }
-
- }
- #endregion
-
- }
-
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- internal sealed partial class EnumOptions : pb::IMessage<EnumOptions> {
- private static readonly pb::MessageParser<EnumOptions> _parser = new pb::MessageParser<EnumOptions>(() => new EnumOptions());
- public static pb::MessageParser<EnumOptions> Parser { get { return _parser; } }
-
- private static readonly string[] _fieldNames = new string[] { "allow_alias", "deprecated", "uninterpreted_option" };
- private static readonly uint[] _fieldTags = new uint[] { 16, 24, 7994 };
- public static pbr::MessageDescriptor Descriptor {
- get { return global::Google.Protobuf.Reflection.DescriptorProtoFile.Descriptor.MessageTypes[12]; }
- }
-
- pbr::FieldAccessorTable pb::IReflectedMessage.Fields {
- get { return global::Google.Protobuf.Reflection.DescriptorProtoFile.internal__static_google_protobuf_EnumOptions__FieldAccessorTable; }
- }
-
- private bool _frozen = false;
- public bool IsFrozen { get { return _frozen; } }
-
- public EnumOptions() {
- OnConstruction();
- }
-
- partial void OnConstruction();
-
- public EnumOptions(EnumOptions other) : this() {
- allowAlias_ = other.allowAlias_;
- deprecated_ = other.deprecated_;
- uninterpretedOption_ = other.uninterpretedOption_.Clone();
- }
-
- public EnumOptions Clone() {
- return new EnumOptions(this);
- }
-
- public void Freeze() {
- if (IsFrozen) {
- return;
- }
- _frozen = true;
- uninterpretedOption_.Freeze();
- }
-
- public const int AllowAliasFieldNumber = 2;
- private bool allowAlias_;
- internal bool AllowAlias {
- get { return allowAlias_; }
- set {
- pb::Freezable.CheckMutable(this);
- allowAlias_ = value;
- }
- }
-
- public const int DeprecatedFieldNumber = 3;
- private bool deprecated_;
- internal bool Deprecated {
- get { return deprecated_; }
- set {
- pb::Freezable.CheckMutable(this);
- deprecated_ = value;
- }
- }
-
- public const int UninterpretedOptionFieldNumber = 999;
- private static readonly pb::FieldCodec<global::Google.Protobuf.Reflection.UninterpretedOption> _repeated_uninterpretedOption_codec
- = pb::FieldCodec.ForMessage(7994, global::Google.Protobuf.Reflection.UninterpretedOption.Parser);
- private readonly pbc::RepeatedField<global::Google.Protobuf.Reflection.UninterpretedOption> uninterpretedOption_ = new pbc::RepeatedField<global::Google.Protobuf.Reflection.UninterpretedOption>();
- internal pbc::RepeatedField<global::Google.Protobuf.Reflection.UninterpretedOption> UninterpretedOption {
- get { return uninterpretedOption_; }
- }
-
- public override bool Equals(object other) {
- return Equals(other as EnumOptions);
- }
-
- public bool Equals(EnumOptions other) {
- if (ReferenceEquals(other, null)) {
- return false;
- }
- if (ReferenceEquals(other, this)) {
- return true;
- }
- if (AllowAlias != other.AllowAlias) return false;
- if (Deprecated != other.Deprecated) return false;
- if(!uninterpretedOption_.Equals(other.uninterpretedOption_)) return false;
- return true;
- }
-
- public override int GetHashCode() {
- int hash = 1;
- if (AllowAlias != false) hash ^= AllowAlias.GetHashCode();
- if (Deprecated != false) hash ^= Deprecated.GetHashCode();
- hash ^= uninterpretedOption_.GetHashCode();
- return hash;
- }
-
- public override string ToString() {
- return pb::JsonFormatter.Default.Format(this);
- }
-
- public void WriteTo(pb::CodedOutputStream output) {
- if (AllowAlias != false) {
- output.WriteRawTag(16);
- output.WriteBool(AllowAlias);
- }
- if (Deprecated != false) {
- output.WriteRawTag(24);
- output.WriteBool(Deprecated);
- }
- uninterpretedOption_.WriteTo(output, _repeated_uninterpretedOption_codec);
- }
-
- public int CalculateSize() {
- int size = 0;
- if (AllowAlias != false) {
- size += 1 + 1;
- }
- if (Deprecated != false) {
- size += 1 + 1;
- }
- size += uninterpretedOption_.CalculateSize(_repeated_uninterpretedOption_codec);
- return size;
- }
-
- public void MergeFrom(EnumOptions other) {
- if (other == null) {
- return;
- }
- if (other.AllowAlias != false) {
- AllowAlias = other.AllowAlias;
- }
- if (other.Deprecated != false) {
- Deprecated = other.Deprecated;
- }
- uninterpretedOption_.Add(other.uninterpretedOption_);
- }
-
- public void MergeFrom(pb::CodedInputStream input) {
- uint tag;
- while (input.ReadTag(out tag)) {
- switch(tag) {
- case 0:
- throw pb::InvalidProtocolBufferException.InvalidTag();
- default:
- if (pb::WireFormat.IsEndGroupTag(tag)) {
- return;
- }
- break;
- case 16: {
- AllowAlias = input.ReadBool();
- break;
- }
- case 24: {
- Deprecated = input.ReadBool();
- break;
- }
- case 7994: {
- uninterpretedOption_.AddEntriesFrom(input, _repeated_uninterpretedOption_codec);
- break;
- }
- }
- }
- }
-
- }
-
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- internal sealed partial class EnumValueOptions : pb::IMessage<EnumValueOptions> {
- private static readonly pb::MessageParser<EnumValueOptions> _parser = new pb::MessageParser<EnumValueOptions>(() => new EnumValueOptions());
- public static pb::MessageParser<EnumValueOptions> Parser { get { return _parser; } }
-
- private static readonly string[] _fieldNames = new string[] { "deprecated", "uninterpreted_option" };
- private static readonly uint[] _fieldTags = new uint[] { 8, 7994 };
- public static pbr::MessageDescriptor Descriptor {
- get { return global::Google.Protobuf.Reflection.DescriptorProtoFile.Descriptor.MessageTypes[13]; }
- }
-
- pbr::FieldAccessorTable pb::IReflectedMessage.Fields {
- get { return global::Google.Protobuf.Reflection.DescriptorProtoFile.internal__static_google_protobuf_EnumValueOptions__FieldAccessorTable; }
- }
-
- private bool _frozen = false;
- public bool IsFrozen { get { return _frozen; } }
-
- public EnumValueOptions() {
- OnConstruction();
- }
-
- partial void OnConstruction();
-
- public EnumValueOptions(EnumValueOptions other) : this() {
- deprecated_ = other.deprecated_;
- uninterpretedOption_ = other.uninterpretedOption_.Clone();
- }
-
- public EnumValueOptions Clone() {
- return new EnumValueOptions(this);
- }
-
- public void Freeze() {
- if (IsFrozen) {
- return;
- }
- _frozen = true;
- uninterpretedOption_.Freeze();
- }
-
- public const int DeprecatedFieldNumber = 1;
- private bool deprecated_;
- internal bool Deprecated {
- get { return deprecated_; }
- set {
- pb::Freezable.CheckMutable(this);
- deprecated_ = value;
- }
- }
-
- public const int UninterpretedOptionFieldNumber = 999;
- private static readonly pb::FieldCodec<global::Google.Protobuf.Reflection.UninterpretedOption> _repeated_uninterpretedOption_codec
- = pb::FieldCodec.ForMessage(7994, global::Google.Protobuf.Reflection.UninterpretedOption.Parser);
- private readonly pbc::RepeatedField<global::Google.Protobuf.Reflection.UninterpretedOption> uninterpretedOption_ = new pbc::RepeatedField<global::Google.Protobuf.Reflection.UninterpretedOption>();
- internal pbc::RepeatedField<global::Google.Protobuf.Reflection.UninterpretedOption> UninterpretedOption {
- get { return uninterpretedOption_; }
- }
-
- public override bool Equals(object other) {
- return Equals(other as EnumValueOptions);
- }
-
- public bool Equals(EnumValueOptions other) {
- if (ReferenceEquals(other, null)) {
- return false;
- }
- if (ReferenceEquals(other, this)) {
- return true;
- }
- if (Deprecated != other.Deprecated) return false;
- if(!uninterpretedOption_.Equals(other.uninterpretedOption_)) return false;
- return true;
- }
-
- public override int GetHashCode() {
- int hash = 1;
- if (Deprecated != false) hash ^= Deprecated.GetHashCode();
- hash ^= uninterpretedOption_.GetHashCode();
- return hash;
- }
-
- public override string ToString() {
- return pb::JsonFormatter.Default.Format(this);
- }
-
- public void WriteTo(pb::CodedOutputStream output) {
- if (Deprecated != false) {
- output.WriteRawTag(8);
- output.WriteBool(Deprecated);
- }
- uninterpretedOption_.WriteTo(output, _repeated_uninterpretedOption_codec);
- }
-
- public int CalculateSize() {
- int size = 0;
- if (Deprecated != false) {
- size += 1 + 1;
- }
- size += uninterpretedOption_.CalculateSize(_repeated_uninterpretedOption_codec);
- return size;
- }
-
- public void MergeFrom(EnumValueOptions other) {
- if (other == null) {
- return;
- }
- if (other.Deprecated != false) {
- Deprecated = other.Deprecated;
- }
- uninterpretedOption_.Add(other.uninterpretedOption_);
- }
-
- public void MergeFrom(pb::CodedInputStream input) {
- uint tag;
- while (input.ReadTag(out tag)) {
- switch(tag) {
- case 0:
- throw pb::InvalidProtocolBufferException.InvalidTag();
- default:
- if (pb::WireFormat.IsEndGroupTag(tag)) {
- return;
- }
- break;
- case 8: {
- Deprecated = input.ReadBool();
- break;
- }
- case 7994: {
- uninterpretedOption_.AddEntriesFrom(input, _repeated_uninterpretedOption_codec);
- break;
- }
- }
- }
- }
-
- }
-
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- internal sealed partial class ServiceOptions : pb::IMessage<ServiceOptions> {
- private static readonly pb::MessageParser<ServiceOptions> _parser = new pb::MessageParser<ServiceOptions>(() => new ServiceOptions());
- public static pb::MessageParser<ServiceOptions> Parser { get { return _parser; } }
-
- private static readonly string[] _fieldNames = new string[] { "deprecated", "uninterpreted_option" };
- private static readonly uint[] _fieldTags = new uint[] { 264, 7994 };
- public static pbr::MessageDescriptor Descriptor {
- get { return global::Google.Protobuf.Reflection.DescriptorProtoFile.Descriptor.MessageTypes[14]; }
- }
-
- pbr::FieldAccessorTable pb::IReflectedMessage.Fields {
- get { return global::Google.Protobuf.Reflection.DescriptorProtoFile.internal__static_google_protobuf_ServiceOptions__FieldAccessorTable; }
- }
-
- private bool _frozen = false;
- public bool IsFrozen { get { return _frozen; } }
-
- public ServiceOptions() {
- OnConstruction();
- }
-
- partial void OnConstruction();
-
- public ServiceOptions(ServiceOptions other) : this() {
- deprecated_ = other.deprecated_;
- uninterpretedOption_ = other.uninterpretedOption_.Clone();
- }
-
- public ServiceOptions Clone() {
- return new ServiceOptions(this);
- }
-
- public void Freeze() {
- if (IsFrozen) {
- return;
- }
- _frozen = true;
- uninterpretedOption_.Freeze();
- }
-
- public const int DeprecatedFieldNumber = 33;
- private bool deprecated_;
- internal bool Deprecated {
- get { return deprecated_; }
- set {
- pb::Freezable.CheckMutable(this);
- deprecated_ = value;
- }
- }
-
- public const int UninterpretedOptionFieldNumber = 999;
- private static readonly pb::FieldCodec<global::Google.Protobuf.Reflection.UninterpretedOption> _repeated_uninterpretedOption_codec
- = pb::FieldCodec.ForMessage(7994, global::Google.Protobuf.Reflection.UninterpretedOption.Parser);
- private readonly pbc::RepeatedField<global::Google.Protobuf.Reflection.UninterpretedOption> uninterpretedOption_ = new pbc::RepeatedField<global::Google.Protobuf.Reflection.UninterpretedOption>();
- internal pbc::RepeatedField<global::Google.Protobuf.Reflection.UninterpretedOption> UninterpretedOption {
- get { return uninterpretedOption_; }
- }
-
- public override bool Equals(object other) {
- return Equals(other as ServiceOptions);
- }
-
- public bool Equals(ServiceOptions other) {
- if (ReferenceEquals(other, null)) {
- return false;
- }
- if (ReferenceEquals(other, this)) {
- return true;
- }
- if (Deprecated != other.Deprecated) return false;
- if(!uninterpretedOption_.Equals(other.uninterpretedOption_)) return false;
- return true;
- }
-
- public override int GetHashCode() {
- int hash = 1;
- if (Deprecated != false) hash ^= Deprecated.GetHashCode();
- hash ^= uninterpretedOption_.GetHashCode();
- return hash;
- }
-
- public override string ToString() {
- return pb::JsonFormatter.Default.Format(this);
- }
-
- public void WriteTo(pb::CodedOutputStream output) {
- if (Deprecated != false) {
- output.WriteRawTag(136, 2);
- output.WriteBool(Deprecated);
- }
- uninterpretedOption_.WriteTo(output, _repeated_uninterpretedOption_codec);
- }
-
- public int CalculateSize() {
- int size = 0;
- if (Deprecated != false) {
- size += 2 + 1;
- }
- size += uninterpretedOption_.CalculateSize(_repeated_uninterpretedOption_codec);
- return size;
- }
-
- public void MergeFrom(ServiceOptions other) {
- if (other == null) {
- return;
- }
- if (other.Deprecated != false) {
- Deprecated = other.Deprecated;
- }
- uninterpretedOption_.Add(other.uninterpretedOption_);
- }
-
- public void MergeFrom(pb::CodedInputStream input) {
- uint tag;
- while (input.ReadTag(out tag)) {
- switch(tag) {
- case 0:
- throw pb::InvalidProtocolBufferException.InvalidTag();
- default:
- if (pb::WireFormat.IsEndGroupTag(tag)) {
- return;
- }
- break;
- case 264: {
- Deprecated = input.ReadBool();
- break;
- }
- case 7994: {
- uninterpretedOption_.AddEntriesFrom(input, _repeated_uninterpretedOption_codec);
- break;
- }
- }
- }
- }
-
- }
-
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- internal sealed partial class MethodOptions : pb::IMessage<MethodOptions> {
- private static readonly pb::MessageParser<MethodOptions> _parser = new pb::MessageParser<MethodOptions>(() => new MethodOptions());
- public static pb::MessageParser<MethodOptions> Parser { get { return _parser; } }
-
- private static readonly string[] _fieldNames = new string[] { "deprecated", "uninterpreted_option" };
- private static readonly uint[] _fieldTags = new uint[] { 264, 7994 };
- public static pbr::MessageDescriptor Descriptor {
- get { return global::Google.Protobuf.Reflection.DescriptorProtoFile.Descriptor.MessageTypes[15]; }
- }
-
- pbr::FieldAccessorTable pb::IReflectedMessage.Fields {
- get { return global::Google.Protobuf.Reflection.DescriptorProtoFile.internal__static_google_protobuf_MethodOptions__FieldAccessorTable; }
- }
-
- private bool _frozen = false;
- public bool IsFrozen { get { return _frozen; } }
-
- public MethodOptions() {
- OnConstruction();
- }
-
- partial void OnConstruction();
-
- public MethodOptions(MethodOptions other) : this() {
- deprecated_ = other.deprecated_;
- uninterpretedOption_ = other.uninterpretedOption_.Clone();
- }
-
- public MethodOptions Clone() {
- return new MethodOptions(this);
- }
-
- public void Freeze() {
- if (IsFrozen) {
- return;
- }
- _frozen = true;
- uninterpretedOption_.Freeze();
- }
-
- public const int DeprecatedFieldNumber = 33;
- private bool deprecated_;
- internal bool Deprecated {
- get { return deprecated_; }
- set {
- pb::Freezable.CheckMutable(this);
- deprecated_ = value;
- }
- }
-
- public const int UninterpretedOptionFieldNumber = 999;
- private static readonly pb::FieldCodec<global::Google.Protobuf.Reflection.UninterpretedOption> _repeated_uninterpretedOption_codec
- = pb::FieldCodec.ForMessage(7994, global::Google.Protobuf.Reflection.UninterpretedOption.Parser);
- private readonly pbc::RepeatedField<global::Google.Protobuf.Reflection.UninterpretedOption> uninterpretedOption_ = new pbc::RepeatedField<global::Google.Protobuf.Reflection.UninterpretedOption>();
- internal pbc::RepeatedField<global::Google.Protobuf.Reflection.UninterpretedOption> UninterpretedOption {
- get { return uninterpretedOption_; }
- }
-
- public override bool Equals(object other) {
- return Equals(other as MethodOptions);
- }
-
- public bool Equals(MethodOptions other) {
- if (ReferenceEquals(other, null)) {
- return false;
- }
- if (ReferenceEquals(other, this)) {
- return true;
- }
- if (Deprecated != other.Deprecated) return false;
- if(!uninterpretedOption_.Equals(other.uninterpretedOption_)) return false;
- return true;
- }
-
- public override int GetHashCode() {
- int hash = 1;
- if (Deprecated != false) hash ^= Deprecated.GetHashCode();
- hash ^= uninterpretedOption_.GetHashCode();
- return hash;
- }
-
- public override string ToString() {
- return pb::JsonFormatter.Default.Format(this);
- }
-
- public void WriteTo(pb::CodedOutputStream output) {
- if (Deprecated != false) {
- output.WriteRawTag(136, 2);
- output.WriteBool(Deprecated);
- }
- uninterpretedOption_.WriteTo(output, _repeated_uninterpretedOption_codec);
- }
-
- public int CalculateSize() {
- int size = 0;
- if (Deprecated != false) {
- size += 2 + 1;
- }
- size += uninterpretedOption_.CalculateSize(_repeated_uninterpretedOption_codec);
- return size;
- }
-
- public void MergeFrom(MethodOptions other) {
- if (other == null) {
- return;
- }
- if (other.Deprecated != false) {
- Deprecated = other.Deprecated;
- }
- uninterpretedOption_.Add(other.uninterpretedOption_);
- }
-
- public void MergeFrom(pb::CodedInputStream input) {
- uint tag;
- while (input.ReadTag(out tag)) {
- switch(tag) {
- case 0:
- throw pb::InvalidProtocolBufferException.InvalidTag();
- default:
- if (pb::WireFormat.IsEndGroupTag(tag)) {
- return;
- }
- break;
- case 264: {
- Deprecated = input.ReadBool();
- break;
- }
- case 7994: {
- uninterpretedOption_.AddEntriesFrom(input, _repeated_uninterpretedOption_codec);
- break;
- }
- }
- }
- }
-
- }
-
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- internal sealed partial class UninterpretedOption : pb::IMessage<UninterpretedOption> {
- private static readonly pb::MessageParser<UninterpretedOption> _parser = new pb::MessageParser<UninterpretedOption>(() => new UninterpretedOption());
- public static pb::MessageParser<UninterpretedOption> Parser { get { return _parser; } }
-
- private static readonly string[] _fieldNames = new string[] { "aggregate_value", "double_value", "identifier_value", "name", "negative_int_value", "positive_int_value", "string_value" };
- private static readonly uint[] _fieldTags = new uint[] { 66, 49, 26, 18, 40, 32, 58 };
- public static pbr::MessageDescriptor Descriptor {
- get { return global::Google.Protobuf.Reflection.DescriptorProtoFile.Descriptor.MessageTypes[16]; }
- }
-
- pbr::FieldAccessorTable pb::IReflectedMessage.Fields {
- get { return global::Google.Protobuf.Reflection.DescriptorProtoFile.internal__static_google_protobuf_UninterpretedOption__FieldAccessorTable; }
- }
-
- private bool _frozen = false;
- public bool IsFrozen { get { return _frozen; } }
-
- public UninterpretedOption() {
- OnConstruction();
- }
-
- partial void OnConstruction();
-
- public UninterpretedOption(UninterpretedOption other) : this() {
- name_ = other.name_.Clone();
- identifierValue_ = other.identifierValue_;
- positiveIntValue_ = other.positiveIntValue_;
- negativeIntValue_ = other.negativeIntValue_;
- doubleValue_ = other.doubleValue_;
- stringValue_ = other.stringValue_;
- aggregateValue_ = other.aggregateValue_;
- }
-
- public UninterpretedOption Clone() {
- return new UninterpretedOption(this);
- }
-
- public void Freeze() {
- if (IsFrozen) {
- return;
- }
- _frozen = true;
- name_.Freeze();
- }
-
- public const int NameFieldNumber = 2;
- private static readonly pb::FieldCodec<global::Google.Protobuf.Reflection.UninterpretedOption.Types.NamePart> _repeated_name_codec
- = pb::FieldCodec.ForMessage(18, global::Google.Protobuf.Reflection.UninterpretedOption.Types.NamePart.Parser);
- private readonly pbc::RepeatedField<global::Google.Protobuf.Reflection.UninterpretedOption.Types.NamePart> name_ = new pbc::RepeatedField<global::Google.Protobuf.Reflection.UninterpretedOption.Types.NamePart>();
- internal pbc::RepeatedField<global::Google.Protobuf.Reflection.UninterpretedOption.Types.NamePart> Name {
- get { return name_; }
- }
-
- public const int IdentifierValueFieldNumber = 3;
- private string identifierValue_ = "";
- internal string IdentifierValue {
- get { return identifierValue_; }
- set {
- pb::Freezable.CheckMutable(this);
- identifierValue_ = value ?? "";
- }
- }
-
- public const int PositiveIntValueFieldNumber = 4;
- private ulong positiveIntValue_;
- internal ulong PositiveIntValue {
- get { return positiveIntValue_; }
- set {
- pb::Freezable.CheckMutable(this);
- positiveIntValue_ = value;
- }
- }
-
- public const int NegativeIntValueFieldNumber = 5;
- private long negativeIntValue_;
- internal long NegativeIntValue {
- get { return negativeIntValue_; }
- set {
- pb::Freezable.CheckMutable(this);
- negativeIntValue_ = value;
- }
- }
-
- public const int DoubleValueFieldNumber = 6;
- private double doubleValue_;
- internal double DoubleValue {
- get { return doubleValue_; }
- set {
- pb::Freezable.CheckMutable(this);
- doubleValue_ = value;
- }
- }
-
- public const int StringValueFieldNumber = 7;
- private pb::ByteString stringValue_ = pb::ByteString.Empty;
- internal pb::ByteString StringValue {
- get { return stringValue_; }
- set {
- pb::Freezable.CheckMutable(this);
- stringValue_ = value ?? pb::ByteString.Empty;
- }
- }
-
- public const int AggregateValueFieldNumber = 8;
- private string aggregateValue_ = "";
- internal string AggregateValue {
- get { return aggregateValue_; }
- set {
- pb::Freezable.CheckMutable(this);
- aggregateValue_ = value ?? "";
- }
- }
-
- public override bool Equals(object other) {
- return Equals(other as UninterpretedOption);
- }
-
- public bool Equals(UninterpretedOption other) {
- if (ReferenceEquals(other, null)) {
- return false;
- }
- if (ReferenceEquals(other, this)) {
- return true;
- }
- if(!name_.Equals(other.name_)) return false;
- if (IdentifierValue != other.IdentifierValue) return false;
- if (PositiveIntValue != other.PositiveIntValue) return false;
- if (NegativeIntValue != other.NegativeIntValue) return false;
- if (DoubleValue != other.DoubleValue) return false;
- if (StringValue != other.StringValue) return false;
- if (AggregateValue != other.AggregateValue) return false;
- return true;
- }
-
- public override int GetHashCode() {
- int hash = 1;
- hash ^= name_.GetHashCode();
- if (IdentifierValue.Length != 0) hash ^= IdentifierValue.GetHashCode();
- if (PositiveIntValue != 0UL) hash ^= PositiveIntValue.GetHashCode();
- if (NegativeIntValue != 0L) hash ^= NegativeIntValue.GetHashCode();
- if (DoubleValue != 0D) hash ^= DoubleValue.GetHashCode();
- if (StringValue.Length != 0) hash ^= StringValue.GetHashCode();
- if (AggregateValue.Length != 0) hash ^= AggregateValue.GetHashCode();
- return hash;
- }
-
- public override string ToString() {
- return pb::JsonFormatter.Default.Format(this);
- }
-
- public void WriteTo(pb::CodedOutputStream output) {
- name_.WriteTo(output, _repeated_name_codec);
- if (IdentifierValue.Length != 0) {
- output.WriteRawTag(26);
- output.WriteString(IdentifierValue);
- }
- if (PositiveIntValue != 0UL) {
- output.WriteRawTag(32);
- output.WriteUInt64(PositiveIntValue);
- }
- if (NegativeIntValue != 0L) {
- output.WriteRawTag(40);
- output.WriteInt64(NegativeIntValue);
- }
- if (DoubleValue != 0D) {
- output.WriteRawTag(49);
- output.WriteDouble(DoubleValue);
- }
- if (StringValue.Length != 0) {
- output.WriteRawTag(58);
- output.WriteBytes(StringValue);
- }
- if (AggregateValue.Length != 0) {
- output.WriteRawTag(66);
- output.WriteString(AggregateValue);
- }
- }
-
- public int CalculateSize() {
- int size = 0;
- size += name_.CalculateSize(_repeated_name_codec);
- if (IdentifierValue.Length != 0) {
- size += 1 + pb::CodedOutputStream.ComputeStringSize(IdentifierValue);
- }
- if (PositiveIntValue != 0UL) {
- size += 1 + pb::CodedOutputStream.ComputeUInt64Size(PositiveIntValue);
- }
- if (NegativeIntValue != 0L) {
- size += 1 + pb::CodedOutputStream.ComputeInt64Size(NegativeIntValue);
- }
- if (DoubleValue != 0D) {
- size += 1 + 8;
- }
- if (StringValue.Length != 0) {
- size += 1 + pb::CodedOutputStream.ComputeBytesSize(StringValue);
- }
- if (AggregateValue.Length != 0) {
- size += 1 + pb::CodedOutputStream.ComputeStringSize(AggregateValue);
- }
- return size;
- }
-
- public void MergeFrom(UninterpretedOption other) {
- if (other == null) {
- return;
- }
- name_.Add(other.name_);
- if (other.IdentifierValue.Length != 0) {
- IdentifierValue = other.IdentifierValue;
- }
- if (other.PositiveIntValue != 0UL) {
- PositiveIntValue = other.PositiveIntValue;
- }
- if (other.NegativeIntValue != 0L) {
- NegativeIntValue = other.NegativeIntValue;
- }
- if (other.DoubleValue != 0D) {
- DoubleValue = other.DoubleValue;
- }
- if (other.StringValue.Length != 0) {
- StringValue = other.StringValue;
- }
- if (other.AggregateValue.Length != 0) {
- AggregateValue = other.AggregateValue;
- }
- }
-
- public void MergeFrom(pb::CodedInputStream input) {
- uint tag;
- while (input.ReadTag(out tag)) {
- switch(tag) {
- case 0:
- throw pb::InvalidProtocolBufferException.InvalidTag();
- default:
- if (pb::WireFormat.IsEndGroupTag(tag)) {
- return;
- }
- break;
- case 18: {
- name_.AddEntriesFrom(input, _repeated_name_codec);
- break;
- }
- case 26: {
- IdentifierValue = input.ReadString();
- break;
- }
- case 32: {
- PositiveIntValue = input.ReadUInt64();
- break;
- }
- case 40: {
- NegativeIntValue = input.ReadInt64();
- break;
- }
- case 49: {
- DoubleValue = input.ReadDouble();
- break;
- }
- case 58: {
- StringValue = input.ReadBytes();
- break;
- }
- case 66: {
- AggregateValue = input.ReadString();
- break;
- }
- }
- }
- }
-
- #region Nested types
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- public static partial class Types {
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- internal sealed partial class NamePart : pb::IMessage<NamePart> {
- private static readonly pb::MessageParser<NamePart> _parser = new pb::MessageParser<NamePart>(() => new NamePart());
- public static pb::MessageParser<NamePart> Parser { get { return _parser; } }
-
- private static readonly string[] _fieldNames = new string[] { "is_extension", "name_part" };
- private static readonly uint[] _fieldTags = new uint[] { 16, 10 };
- public static pbr::MessageDescriptor Descriptor {
- get { return global::Google.Protobuf.Reflection.UninterpretedOption.Descriptor.NestedTypes[0]; }
- }
-
- pbr::FieldAccessorTable pb::IReflectedMessage.Fields {
- get { return global::Google.Protobuf.Reflection.DescriptorProtoFile.internal__static_google_protobuf_UninterpretedOption_NamePart__FieldAccessorTable; }
- }
-
- private bool _frozen = false;
- public bool IsFrozen { get { return _frozen; } }
-
- public NamePart() {
- OnConstruction();
- }
-
- partial void OnConstruction();
-
- public NamePart(NamePart other) : this() {
- namePart_ = other.namePart_;
- isExtension_ = other.isExtension_;
- }
-
- public NamePart Clone() {
- return new NamePart(this);
- }
-
- public void Freeze() {
- if (IsFrozen) {
- return;
- }
- _frozen = true;
- }
-
- public const int NamePart_FieldNumber = 1;
- private string namePart_ = "";
- internal string NamePart_ {
- get { return namePart_; }
- set {
- pb::Freezable.CheckMutable(this);
- namePart_ = value ?? "";
- }
- }
-
- public const int IsExtensionFieldNumber = 2;
- private bool isExtension_;
- internal bool IsExtension {
- get { return isExtension_; }
- set {
- pb::Freezable.CheckMutable(this);
- isExtension_ = value;
- }
- }
-
- public override bool Equals(object other) {
- return Equals(other as NamePart);
- }
-
- public bool Equals(NamePart other) {
- if (ReferenceEquals(other, null)) {
- return false;
- }
- if (ReferenceEquals(other, this)) {
- return true;
- }
- if (NamePart_ != other.NamePart_) return false;
- if (IsExtension != other.IsExtension) return false;
- return true;
- }
-
- public override int GetHashCode() {
- int hash = 1;
- if (NamePart_.Length != 0) hash ^= NamePart_.GetHashCode();
- if (IsExtension != false) hash ^= IsExtension.GetHashCode();
- return hash;
- }
-
- public override string ToString() {
- return pb::JsonFormatter.Default.Format(this);
- }
-
- public void WriteTo(pb::CodedOutputStream output) {
- if (NamePart_.Length != 0) {
- output.WriteRawTag(10);
- output.WriteString(NamePart_);
- }
- if (IsExtension != false) {
- output.WriteRawTag(16);
- output.WriteBool(IsExtension);
- }
- }
-
- public int CalculateSize() {
- int size = 0;
- if (NamePart_.Length != 0) {
- size += 1 + pb::CodedOutputStream.ComputeStringSize(NamePart_);
- }
- if (IsExtension != false) {
- size += 1 + 1;
- }
- return size;
- }
-
- public void MergeFrom(NamePart other) {
- if (other == null) {
- return;
- }
- if (other.NamePart_.Length != 0) {
- NamePart_ = other.NamePart_;
- }
- if (other.IsExtension != false) {
- IsExtension = other.IsExtension;
- }
- }
-
- public void MergeFrom(pb::CodedInputStream input) {
- uint tag;
- while (input.ReadTag(out tag)) {
- switch(tag) {
- case 0:
- throw pb::InvalidProtocolBufferException.InvalidTag();
- default:
- if (pb::WireFormat.IsEndGroupTag(tag)) {
- return;
- }
- break;
- case 10: {
- NamePart_ = input.ReadString();
- break;
- }
- case 16: {
- IsExtension = input.ReadBool();
- break;
- }
- }
- }
- }
-
- }
-
- }
- #endregion
-
- }
-
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- internal sealed partial class SourceCodeInfo : pb::IMessage<SourceCodeInfo> {
- private static readonly pb::MessageParser<SourceCodeInfo> _parser = new pb::MessageParser<SourceCodeInfo>(() => new SourceCodeInfo());
- public static pb::MessageParser<SourceCodeInfo> Parser { get { return _parser; } }
-
- private static readonly string[] _fieldNames = new string[] { "location" };
- private static readonly uint[] _fieldTags = new uint[] { 10 };
- public static pbr::MessageDescriptor Descriptor {
- get { return global::Google.Protobuf.Reflection.DescriptorProtoFile.Descriptor.MessageTypes[17]; }
- }
-
- pbr::FieldAccessorTable pb::IReflectedMessage.Fields {
- get { return global::Google.Protobuf.Reflection.DescriptorProtoFile.internal__static_google_protobuf_SourceCodeInfo__FieldAccessorTable; }
- }
-
- private bool _frozen = false;
- public bool IsFrozen { get { return _frozen; } }
-
- public SourceCodeInfo() {
- OnConstruction();
- }
-
- partial void OnConstruction();
-
- public SourceCodeInfo(SourceCodeInfo other) : this() {
- location_ = other.location_.Clone();
- }
-
- public SourceCodeInfo Clone() {
- return new SourceCodeInfo(this);
- }
-
- public void Freeze() {
- if (IsFrozen) {
- return;
- }
- _frozen = true;
- location_.Freeze();
- }
-
- public const int LocationFieldNumber = 1;
- private static readonly pb::FieldCodec<global::Google.Protobuf.Reflection.SourceCodeInfo.Types.Location> _repeated_location_codec
- = pb::FieldCodec.ForMessage(10, global::Google.Protobuf.Reflection.SourceCodeInfo.Types.Location.Parser);
- private readonly pbc::RepeatedField<global::Google.Protobuf.Reflection.SourceCodeInfo.Types.Location> location_ = new pbc::RepeatedField<global::Google.Protobuf.Reflection.SourceCodeInfo.Types.Location>();
- internal pbc::RepeatedField<global::Google.Protobuf.Reflection.SourceCodeInfo.Types.Location> Location {
- get { return location_; }
- }
-
- public override bool Equals(object other) {
- return Equals(other as SourceCodeInfo);
- }
-
- public bool Equals(SourceCodeInfo other) {
- if (ReferenceEquals(other, null)) {
- return false;
- }
- if (ReferenceEquals(other, this)) {
- return true;
- }
- if(!location_.Equals(other.location_)) return false;
- return true;
- }
-
- public override int GetHashCode() {
- int hash = 1;
- hash ^= location_.GetHashCode();
- return hash;
- }
-
- public override string ToString() {
- return pb::JsonFormatter.Default.Format(this);
- }
-
- public void WriteTo(pb::CodedOutputStream output) {
- location_.WriteTo(output, _repeated_location_codec);
- }
-
- public int CalculateSize() {
- int size = 0;
- size += location_.CalculateSize(_repeated_location_codec);
- return size;
- }
-
- public void MergeFrom(SourceCodeInfo other) {
- if (other == null) {
- return;
- }
- location_.Add(other.location_);
- }
-
- public void MergeFrom(pb::CodedInputStream input) {
- uint tag;
- while (input.ReadTag(out tag)) {
- switch(tag) {
- case 0:
- throw pb::InvalidProtocolBufferException.InvalidTag();
- default:
- if (pb::WireFormat.IsEndGroupTag(tag)) {
- return;
- }
- break;
- case 10: {
- location_.AddEntriesFrom(input, _repeated_location_codec);
- break;
- }
- }
- }
- }
-
- #region Nested types
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- public static partial class Types {
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- internal sealed partial class Location : pb::IMessage<Location> {
- private static readonly pb::MessageParser<Location> _parser = new pb::MessageParser<Location>(() => new Location());
- public static pb::MessageParser<Location> Parser { get { return _parser; } }
-
- private static readonly string[] _fieldNames = new string[] { "leading_comments", "leading_detached_comments", "path", "span", "trailing_comments" };
- private static readonly uint[] _fieldTags = new uint[] { 26, 50, 10, 18, 34 };
- public static pbr::MessageDescriptor Descriptor {
- get { return global::Google.Protobuf.Reflection.SourceCodeInfo.Descriptor.NestedTypes[0]; }
- }
-
- pbr::FieldAccessorTable pb::IReflectedMessage.Fields {
- get { return global::Google.Protobuf.Reflection.DescriptorProtoFile.internal__static_google_protobuf_SourceCodeInfo_Location__FieldAccessorTable; }
- }
-
- private bool _frozen = false;
- public bool IsFrozen { get { return _frozen; } }
-
- public Location() {
- OnConstruction();
- }
-
- partial void OnConstruction();
-
- public Location(Location other) : this() {
- path_ = other.path_.Clone();
- span_ = other.span_.Clone();
- leadingComments_ = other.leadingComments_;
- trailingComments_ = other.trailingComments_;
- leadingDetachedComments_ = other.leadingDetachedComments_.Clone();
- }
-
- public Location Clone() {
- return new Location(this);
- }
-
- public void Freeze() {
- if (IsFrozen) {
- return;
- }
- _frozen = true;
- path_.Freeze();
- span_.Freeze();
- leadingDetachedComments_.Freeze();
- }
-
- public const int PathFieldNumber = 1;
- private static readonly pb::FieldCodec<int> _repeated_path_codec
- = pb::FieldCodec.ForInt32(10);
- private readonly pbc::RepeatedField<int> path_ = new pbc::RepeatedField<int>();
- internal pbc::RepeatedField<int> Path {
- get { return path_; }
- }
-
- public const int SpanFieldNumber = 2;
- private static readonly pb::FieldCodec<int> _repeated_span_codec
- = pb::FieldCodec.ForInt32(18);
- private readonly pbc::RepeatedField<int> span_ = new pbc::RepeatedField<int>();
- internal pbc::RepeatedField<int> Span {
- get { return span_; }
- }
-
- public const int LeadingCommentsFieldNumber = 3;
- private string leadingComments_ = "";
- internal string LeadingComments {
- get { return leadingComments_; }
- set {
- pb::Freezable.CheckMutable(this);
- leadingComments_ = value ?? "";
- }
- }
-
- public const int TrailingCommentsFieldNumber = 4;
- private string trailingComments_ = "";
- internal string TrailingComments {
- get { return trailingComments_; }
- set {
- pb::Freezable.CheckMutable(this);
- trailingComments_ = value ?? "";
- }
- }
-
- public const int LeadingDetachedCommentsFieldNumber = 6;
- private static readonly pb::FieldCodec<string> _repeated_leadingDetachedComments_codec
- = pb::FieldCodec.ForString(50);
- private readonly pbc::RepeatedField<string> leadingDetachedComments_ = new pbc::RepeatedField<string>();
- internal pbc::RepeatedField<string> LeadingDetachedComments {
- get { return leadingDetachedComments_; }
- }
-
- public override bool Equals(object other) {
- return Equals(other as Location);
- }
-
- public bool Equals(Location other) {
- if (ReferenceEquals(other, null)) {
- return false;
- }
- if (ReferenceEquals(other, this)) {
- return true;
- }
- if(!path_.Equals(other.path_)) return false;
- if(!span_.Equals(other.span_)) return false;
- if (LeadingComments != other.LeadingComments) return false;
- if (TrailingComments != other.TrailingComments) return false;
- if(!leadingDetachedComments_.Equals(other.leadingDetachedComments_)) return false;
- return true;
- }
-
- public override int GetHashCode() {
- int hash = 1;
- hash ^= path_.GetHashCode();
- hash ^= span_.GetHashCode();
- if (LeadingComments.Length != 0) hash ^= LeadingComments.GetHashCode();
- if (TrailingComments.Length != 0) hash ^= TrailingComments.GetHashCode();
- hash ^= leadingDetachedComments_.GetHashCode();
- return hash;
- }
-
- public override string ToString() {
- return pb::JsonFormatter.Default.Format(this);
- }
-
- public void WriteTo(pb::CodedOutputStream output) {
- path_.WriteTo(output, _repeated_path_codec);
- span_.WriteTo(output, _repeated_span_codec);
- if (LeadingComments.Length != 0) {
- output.WriteRawTag(26);
- output.WriteString(LeadingComments);
- }
- if (TrailingComments.Length != 0) {
- output.WriteRawTag(34);
- output.WriteString(TrailingComments);
- }
- leadingDetachedComments_.WriteTo(output, _repeated_leadingDetachedComments_codec);
- }
-
- public int CalculateSize() {
- int size = 0;
- size += path_.CalculateSize(_repeated_path_codec);
- size += span_.CalculateSize(_repeated_span_codec);
- if (LeadingComments.Length != 0) {
- size += 1 + pb::CodedOutputStream.ComputeStringSize(LeadingComments);
- }
- if (TrailingComments.Length != 0) {
- size += 1 + pb::CodedOutputStream.ComputeStringSize(TrailingComments);
- }
- size += leadingDetachedComments_.CalculateSize(_repeated_leadingDetachedComments_codec);
- return size;
- }
-
- public void MergeFrom(Location other) {
- if (other == null) {
- return;
- }
- path_.Add(other.path_);
- span_.Add(other.span_);
- if (other.LeadingComments.Length != 0) {
- LeadingComments = other.LeadingComments;
- }
- if (other.TrailingComments.Length != 0) {
- TrailingComments = other.TrailingComments;
- }
- leadingDetachedComments_.Add(other.leadingDetachedComments_);
- }
-
- public void MergeFrom(pb::CodedInputStream input) {
- uint tag;
- while (input.ReadTag(out tag)) {
- switch(tag) {
- case 0:
- throw pb::InvalidProtocolBufferException.InvalidTag();
- default:
- if (pb::WireFormat.IsEndGroupTag(tag)) {
- return;
- }
- break;
- case 10:
- case 8: {
- path_.AddEntriesFrom(input, _repeated_path_codec);
- break;
- }
- case 18:
- case 16: {
- span_.AddEntriesFrom(input, _repeated_span_codec);
- break;
- }
- case 26: {
- LeadingComments = input.ReadString();
- break;
- }
- case 34: {
- TrailingComments = input.ReadString();
- break;
- }
- case 50: {
- leadingDetachedComments_.AddEntriesFrom(input, _repeated_leadingDetachedComments_codec);
- break;
- }
- }
- }
- }
-
- }
-
- }
- #endregion
-
- }
-
- #endregion
-
-}
-
-#endregion Designer generated code
diff --git a/csharp/src/ProtocolBuffers/Reflection/DescriptorUtil.cs b/csharp/src/ProtocolBuffers/Reflection/DescriptorUtil.cs
deleted file mode 100644
index af31dfb1..00000000
--- a/csharp/src/ProtocolBuffers/Reflection/DescriptorUtil.cs
+++ /dev/null
@@ -1,65 +0,0 @@
-#region Copyright notice and license
-// Protocol Buffers - Google's data interchange format
-// Copyright 2008 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
-// 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.
-#endregion
-
-using System.Collections.Generic;
-using System.Collections.ObjectModel;
-
-namespace Google.Protobuf.Reflection
-{
- /// <summary>
- /// Internal class containing utility methods when working with descriptors.
- /// </summary>
- internal static class DescriptorUtil
- {
- /// <summary>
- /// Equivalent to Func[TInput, int, TOutput] but usable in .NET 2.0. Only used to convert
- /// arrays.
- /// </summary>
- internal delegate TOutput IndexedConverter<TInput, TOutput>(TInput element, int index);
-
- /// <summary>
- /// Converts the given array into a read-only list, applying the specified conversion to
- /// each input element.
- /// </summary>
- internal static IList<TOutput> ConvertAndMakeReadOnly<TInput, TOutput>(IList<TInput> input,
- IndexedConverter<TInput, TOutput>
- converter)
- {
- TOutput[] array = new TOutput[input.Count];
- for (int i = 0; i < array.Length; i++)
- {
- array[i] = converter(input[i], i);
- }
- return new ReadOnlyCollection<TOutput>(array);
- }
- }
-} \ No newline at end of file
diff --git a/csharp/src/ProtocolBuffers/Reflection/DescriptorValidationException.cs b/csharp/src/ProtocolBuffers/Reflection/DescriptorValidationException.cs
deleted file mode 100644
index 143671db..00000000
--- a/csharp/src/ProtocolBuffers/Reflection/DescriptorValidationException.cs
+++ /dev/null
@@ -1,80 +0,0 @@
-#region Copyright notice and license
-// Protocol Buffers - Google's data interchange format
-// Copyright 2008 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
-// 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.
-#endregion
-
-using System;
-
-namespace Google.Protobuf.Reflection
-{
- /// <summary>
- /// Thrown when building descriptors fails because the source DescriptorProtos
- /// are not valid.
- /// </summary>
- public sealed class DescriptorValidationException : Exception
- {
- private readonly String name;
- private readonly string description;
-
- /// <value>
- /// The full name of the descriptor where the error occurred.
- /// </value>
- public String ProblemSymbolName
- {
- get { return name; }
- }
-
- /// <value>
- /// A human-readable description of the error. (The Message property
- /// is made up of the descriptor's name and this description.)
- /// </value>
- public string Description
- {
- get { return description; }
- }
-
- internal DescriptorValidationException(IDescriptor problemDescriptor, string description) :
- base(problemDescriptor.FullName + ": " + description)
- {
- // Note that problemDescriptor may be partially uninitialized, so we
- // don't want to expose it directly to the user. So, we only provide
- // the name and the original proto.
- name = problemDescriptor.FullName;
- this.description = description;
- }
-
- internal DescriptorValidationException(IDescriptor problemDescriptor, string description, Exception cause) :
- base(problemDescriptor.FullName + ": " + description, cause)
- {
- name = problemDescriptor.FullName;
- this.description = description;
- }
- }
-} \ No newline at end of file
diff --git a/csharp/src/ProtocolBuffers/Reflection/EnumDescriptor.cs b/csharp/src/ProtocolBuffers/Reflection/EnumDescriptor.cs
deleted file mode 100644
index bf8f8c83..00000000
--- a/csharp/src/ProtocolBuffers/Reflection/EnumDescriptor.cs
+++ /dev/null
@@ -1,108 +0,0 @@
-#region Copyright notice and license
-// Protocol Buffers - Google's data interchange format
-// Copyright 2008 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
-// 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.
-#endregion
-
-using System.Collections.Generic;
-
-namespace Google.Protobuf.Reflection
-{
- /// <summary>
- /// Descriptor for an enum type in a .proto file.
- /// </summary>
- public sealed class EnumDescriptor : DescriptorBase
- {
- private readonly EnumDescriptorProto proto;
- private readonly MessageDescriptor containingType;
- private readonly IList<EnumValueDescriptor> values;
-
- internal EnumDescriptor(EnumDescriptorProto proto, FileDescriptor file, MessageDescriptor parent, int index)
- : base(file, file.ComputeFullName(parent, proto.Name), index)
- {
- this.proto = proto;
- containingType = parent;
-
- if (proto.Value.Count == 0)
- {
- // We cannot allow enums with no values because this would mean there
- // would be no valid default value for fields of this type.
- throw new DescriptorValidationException(this, "Enums must contain at least one value.");
- }
-
- values = DescriptorUtil.ConvertAndMakeReadOnly(proto.Value,
- (value, i) => new EnumValueDescriptor(value, file, this, i));
-
- File.DescriptorPool.AddSymbol(this);
- }
-
- internal EnumDescriptorProto Proto { get { return proto; } }
-
- /// <summary>
- /// The brief name of the descriptor's target.
- /// </summary>
- public override string Name { get { return proto.Name; } }
-
- /// <value>
- /// If this is a nested type, get the outer descriptor, otherwise null.
- /// </value>
- public MessageDescriptor ContainingType
- {
- get { return containingType; }
- }
-
- /// <value>
- /// An unmodifiable list of defined value descriptors for this enum.
- /// </value>
- public IList<EnumValueDescriptor> Values
- {
- get { return values; }
- }
-
- /// <summary>
- /// Finds an enum value by number. If multiple enum values have the
- /// same number, this returns the first defined value with that number.
- /// If there is no value for the given number, this returns <c>null</c>.
- /// </summary>
- public EnumValueDescriptor FindValueByNumber(int number)
- {
- return File.DescriptorPool.FindEnumValueByNumber(this, number);
- }
-
- /// <summary>
- /// Finds an enum value by name.
- /// </summary>
- /// <param name="name">The unqualified name of the value (e.g. "FOO").</param>
- /// <returns>The value's descriptor, or null if not found.</returns>
- public EnumValueDescriptor FindValueByName(string name)
- {
- return File.DescriptorPool.FindSymbol<EnumValueDescriptor>(FullName + "." + name);
- }
- }
-} \ No newline at end of file
diff --git a/csharp/src/ProtocolBuffers/Reflection/EnumValueDescriptor.cs b/csharp/src/ProtocolBuffers/Reflection/EnumValueDescriptor.cs
deleted file mode 100644
index 29833c4a..00000000
--- a/csharp/src/ProtocolBuffers/Reflection/EnumValueDescriptor.cs
+++ /dev/null
@@ -1,61 +0,0 @@
-#region Copyright notice and license
-// Protocol Buffers - Google's data interchange format
-// Copyright 2008 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
-// 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.
-#endregion
-
-namespace Google.Protobuf.Reflection
-{
- /// <summary>
- /// Descriptor for a single enum value within an enum in a .proto file.
- /// </summary>
- public sealed class EnumValueDescriptor : DescriptorBase
- {
- private readonly EnumDescriptor enumDescriptor;
- private readonly EnumValueDescriptorProto proto;
-
- internal EnumValueDescriptor(EnumValueDescriptorProto proto, FileDescriptor file,
- EnumDescriptor parent, int index)
- : base(file, parent.FullName + "." + proto.Name, index)
- {
- this.proto = proto;
- enumDescriptor = parent;
- file.DescriptorPool.AddSymbol(this);
- file.DescriptorPool.AddEnumValueByNumber(this);
- }
-
- internal EnumValueDescriptorProto Proto { get { return proto; } }
-
- public override string Name { get { return proto.Name; } }
-
- public int Number { get { return Proto.Number; } }
-
- public EnumDescriptor EnumDescriptor { get { return enumDescriptor; } }
- }
-} \ No newline at end of file
diff --git a/csharp/src/ProtocolBuffers/Reflection/FieldAccessorBase.cs b/csharp/src/ProtocolBuffers/Reflection/FieldAccessorBase.cs
deleted file mode 100644
index 39a63b47..00000000
--- a/csharp/src/ProtocolBuffers/Reflection/FieldAccessorBase.cs
+++ /dev/null
@@ -1,67 +0,0 @@
-#region Copyright notice and license
-// Protocol Buffers - Google's data interchange format
-// 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
-// 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.
-#endregion
-
-using System;
-using System.Reflection;
-
-namespace Google.Protobuf.Reflection
-{
- /// <summary>
- /// Base class for field accessors.
- /// </summary>
- internal abstract class FieldAccessorBase : IFieldAccessor
- {
- private readonly Func<object, object> getValueDelegate;
- private readonly FieldDescriptor descriptor;
-
- internal FieldAccessorBase(Type type, string propertyName, FieldDescriptor descriptor)
- {
- PropertyInfo property = type.GetProperty(propertyName);
- if (property == null || !property.CanRead)
- {
- throw new ArgumentException("Not all required properties/methods available");
- }
- this.descriptor = descriptor;
- getValueDelegate = ReflectionUtil.CreateFuncObjectObject(property.GetGetMethod());
- }
-
- public FieldDescriptor Descriptor { get { return descriptor; } }
-
- public object GetValue(object message)
- {
- return getValueDelegate(message);
- }
-
- public abstract void Clear(object message);
- public abstract void SetValue(object message, object value);
- }
-}
diff --git a/csharp/src/ProtocolBuffers/Reflection/FieldAccessorTable.cs b/csharp/src/ProtocolBuffers/Reflection/FieldAccessorTable.cs
deleted file mode 100644
index 24fcbc64..00000000
--- a/csharp/src/ProtocolBuffers/Reflection/FieldAccessorTable.cs
+++ /dev/null
@@ -1,97 +0,0 @@
-#region Copyright notice and license
-// Protocol Buffers - Google's data interchange format
-// Copyright 2008 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
-// 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.
-#endregion
-
-using System;
-using System.Collections.ObjectModel;
-
-namespace Google.Protobuf.Reflection
-{
- /// <summary>
- /// Provides access to fields in generated messages via reflection.
- /// </summary>
- public sealed class FieldAccessorTable
- {
- private readonly ReadOnlyCollection<IFieldAccessor> accessors;
- private readonly ReadOnlyCollection<OneofAccessor> oneofs;
- private readonly MessageDescriptor descriptor;
-
- /// <summary>
- /// Constructs a FieldAccessorTable for a particular message class.
- /// Only one FieldAccessorTable should be constructed per class.
- /// </summary>
- /// <param name="type">The CLR type for the message.</param>
- /// <param name="descriptor">The type's descriptor</param>
- /// <param name="propertyNames">The Pascal-case names of all the field-based properties in the message.</param>
- public FieldAccessorTable(Type type, MessageDescriptor descriptor, string[] propertyNames, string[] oneofPropertyNames)
- {
- this.descriptor = descriptor;
- var accessorsArray = new IFieldAccessor[descriptor.Fields.Count];
- for (int i = 0; i < accessorsArray.Length; i++)
- {
- var field = descriptor.Fields[i];
- var name = propertyNames[i];
- accessorsArray[i] =
- field.IsMap ? new MapFieldAccessor(type, name, field)
- : field.IsRepeated ? new RepeatedFieldAccessor(type, name, field)
- : (IFieldAccessor) new SingleFieldAccessor(type, name, field);
- }
- accessors = new ReadOnlyCollection<IFieldAccessor>(accessorsArray);
- var oneofsArray = new OneofAccessor[descriptor.Oneofs.Count];
- for (int i = 0; i < oneofsArray.Length; i++)
- {
- var oneof = descriptor.Oneofs[i];
- oneofsArray[i] = new OneofAccessor(type, oneofPropertyNames[i], oneof);
- }
- oneofs = new ReadOnlyCollection<OneofAccessor>(oneofsArray);
- }
-
- // TODO: Validate the name here... should possibly make this type a more "general reflection access" type,
- // bearing in mind the oneof parts to come as well.
- /// <summary>
- /// Returns all of the field accessors for the message type.
- /// </summary>
- public ReadOnlyCollection<IFieldAccessor> Accessors { get { return accessors; } }
-
- public ReadOnlyCollection<OneofAccessor> Oneofs { get { return oneofs; } }
-
- // TODO: Review this, as it's easy to get confused between FieldNumber and Index.
- // Currently only used to get an accessor related to a oneof... maybe just make that simpler?
- public IFieldAccessor this[int fieldNumber]
- {
- get
- {
- FieldDescriptor field = descriptor.FindFieldByNumber(fieldNumber);
- return accessors[field.Index];
- }
- }
- }
-} \ No newline at end of file
diff --git a/csharp/src/ProtocolBuffers/Reflection/FieldDescriptor.cs b/csharp/src/ProtocolBuffers/Reflection/FieldDescriptor.cs
deleted file mode 100644
index 3d9d0d75..00000000
--- a/csharp/src/ProtocolBuffers/Reflection/FieldDescriptor.cs
+++ /dev/null
@@ -1,292 +0,0 @@
-#region Copyright notice and license
-// Protocol Buffers - Google's data interchange format
-// Copyright 2008 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
-// 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.
-#endregion
-
-using System;
-
-namespace Google.Protobuf.Reflection
-{
- /// <summary>
- /// Descriptor for a field or extension within a message in a .proto file.
- /// </summary>
- public sealed class FieldDescriptor : DescriptorBase, IComparable<FieldDescriptor>
- {
- private readonly FieldDescriptorProto proto;
- private EnumDescriptor enumType;
- private MessageDescriptor messageType;
- private readonly MessageDescriptor containingType;
- private readonly OneofDescriptor containingOneof;
- private FieldType fieldType;
-
- internal FieldDescriptor(FieldDescriptorProto proto, FileDescriptor file,
- MessageDescriptor parent, int index)
- : base(file, file.ComputeFullName(parent, proto.Name), index)
- {
- this.proto = proto;
- if (proto.Type != 0)
- {
- fieldType = GetFieldTypeFromProtoType(proto.Type);
- }
-
- if (FieldNumber <= 0)
- {
- throw new DescriptorValidationException(this,
- "Field numbers must be positive integers.");
- }
- containingType = parent;
- // OneofIndex "defaults" to -1 due to a hack in FieldDescriptor.OnConstruction.
- if (proto.OneofIndex != -1)
- {
- if (proto.OneofIndex < 0 || proto.OneofIndex >= parent.Proto.OneofDecl.Count)
- {
- throw new DescriptorValidationException(this,
- "FieldDescriptorProto.oneof_index is out of range for type " + parent.Name);
- }
- containingOneof = parent.Oneofs[proto.OneofIndex];
- }
-
- file.DescriptorPool.AddSymbol(this);
- }
-
- /// <summary>
- /// The brief name of the descriptor's target.
- /// </summary>
- public override string Name { get { return proto.Name; } }
-
- internal FieldDescriptorProto Proto { get { return proto; } }
-
- /// <summary>
- /// Maps a field type as included in the .proto file to a FieldType.
- /// </summary>
- private static FieldType GetFieldTypeFromProtoType(FieldDescriptorProto.Types.Type type)
- {
- switch (type)
- {
- case FieldDescriptorProto.Types.Type.TYPE_DOUBLE:
- return FieldType.Double;
- case FieldDescriptorProto.Types.Type.TYPE_FLOAT:
- return FieldType.Float;
- case FieldDescriptorProto.Types.Type.TYPE_INT64:
- return FieldType.Int64;
- case FieldDescriptorProto.Types.Type.TYPE_UINT64:
- return FieldType.UInt64;
- case FieldDescriptorProto.Types.Type.TYPE_INT32:
- return FieldType.Int32;
- case FieldDescriptorProto.Types.Type.TYPE_FIXED64:
- return FieldType.Fixed64;
- case FieldDescriptorProto.Types.Type.TYPE_FIXED32:
- return FieldType.Fixed32;
- case FieldDescriptorProto.Types.Type.TYPE_BOOL:
- return FieldType.Bool;
- case FieldDescriptorProto.Types.Type.TYPE_STRING:
- return FieldType.String;
- case FieldDescriptorProto.Types.Type.TYPE_GROUP:
- return FieldType.Group;
- case FieldDescriptorProto.Types.Type.TYPE_MESSAGE:
- return FieldType.Message;
- case FieldDescriptorProto.Types.Type.TYPE_BYTES:
- return FieldType.Bytes;
- case FieldDescriptorProto.Types.Type.TYPE_UINT32:
- return FieldType.UInt32;
- case FieldDescriptorProto.Types.Type.TYPE_ENUM:
- return FieldType.Enum;
- case FieldDescriptorProto.Types.Type.TYPE_SFIXED32:
- return FieldType.SFixed32;
- case FieldDescriptorProto.Types.Type.TYPE_SFIXED64:
- return FieldType.SFixed64;
- case FieldDescriptorProto.Types.Type.TYPE_SINT32:
- return FieldType.SInt32;
- case FieldDescriptorProto.Types.Type.TYPE_SINT64:
- return FieldType.SInt64;
- default:
- throw new ArgumentException("Invalid type specified");
- }
- }
-
- public bool IsRepeated
- {
- get { return Proto.Label == FieldDescriptorProto.Types.Label.LABEL_REPEATED; }
- }
-
- public bool IsMap
- {
- get { return fieldType == FieldType.Message && messageType.Proto.Options != null && messageType.Proto.Options.MapEntry; }
- }
-
- public bool IsPacked
- {
- get { return Proto.Options != null && Proto.Options.Packed; }
- }
-
- /// <summary>
- /// Get the field's containing type. For extensions, this is the type being
- /// extended, not the location where the extension was defined. See
- /// <see cref="ExtensionScope" />.
- /// </summary>
- public MessageDescriptor ContainingType
- {
- get { return containingType; }
- }
-
- public OneofDescriptor ContainingOneof
- {
- get { return containingOneof; }
- }
-
- public FieldType FieldType
- {
- get { return fieldType; }
- }
-
- public int FieldNumber
- {
- get { return Proto.Number; }
- }
-
- /// <summary>
- /// Compares this descriptor with another one, ordering in "canonical" order
- /// which simply means ascending order by field number. <paramref name="other"/>
- /// must be a field of the same type, i.e. the <see cref="ContainingType"/> of
- /// both fields must be the same.
- /// </summary>
- public int CompareTo(FieldDescriptor other)
- {
- if (other.containingType != containingType)
- {
- throw new ArgumentException("FieldDescriptors can only be compared to other FieldDescriptors " +
- "for fields of the same message type.");
- }
- return FieldNumber - other.FieldNumber;
- }
-
- /// <summary>
- /// For enum fields, returns the field's type.
- /// </summary>
- public EnumDescriptor EnumType
- {
- get
- {
- if (fieldType != FieldType.Enum)
- {
- throw new InvalidOperationException("EnumType is only valid for enum fields.");
- }
- return enumType;
- }
- }
-
- /// <summary>
- /// For embedded message and group fields, returns the field's type.
- /// </summary>
- public MessageDescriptor MessageType
- {
- get
- {
- if (fieldType != FieldType.Message)
- {
- throw new InvalidOperationException("MessageType is only valid for enum fields.");
- }
- return messageType;
- }
- }
-
- /// <summary>
- /// Look up and cross-link all field types etc.
- /// </summary>
- internal void CrossLink()
- {
- if (Proto.TypeName != "")
- {
- IDescriptor typeDescriptor =
- File.DescriptorPool.LookupSymbol(Proto.TypeName, this);
-
- if (Proto.Type != 0)
- {
- // Choose field type based on symbol.
- if (typeDescriptor is MessageDescriptor)
- {
- fieldType = FieldType.Message;
- }
- else if (typeDescriptor is EnumDescriptor)
- {
- fieldType = FieldType.Enum;
- }
- else
- {
- throw new DescriptorValidationException(this, "\"" + Proto.TypeName + "\" is not a type.");
- }
- }
-
- if (fieldType == FieldType.Message)
- {
- if (!(typeDescriptor is MessageDescriptor))
- {
- throw new DescriptorValidationException(this,
- "\"" + Proto.TypeName + "\" is not a message type.");
- }
- messageType = (MessageDescriptor) typeDescriptor;
-
- if (Proto.DefaultValue != "")
- {
- throw new DescriptorValidationException(this, "Messages can't have default values.");
- }
- }
- else if (fieldType == FieldType.Enum)
- {
- if (!(typeDescriptor is EnumDescriptor))
- {
- throw new DescriptorValidationException(this, "\"" + Proto.TypeName + "\" is not an enum type.");
- }
- enumType = (EnumDescriptor) typeDescriptor;
- }
- else
- {
- throw new DescriptorValidationException(this, "Field with primitive type has type_name.");
- }
- }
- else
- {
- if (fieldType == FieldType.Message || fieldType == FieldType.Enum)
- {
- throw new DescriptorValidationException(this, "Field with message or enum type missing type_name.");
- }
- }
-
- // Note: no attempt to perform any default value parsing
-
- File.DescriptorPool.AddFieldByNumber(this);
-
- if (containingType != null && containingType.Proto.Options != null && containingType.Proto.Options.MessageSetWireFormat)
- {
- throw new DescriptorValidationException(this, "MessageSet format is not supported.");
- }
- }
- }
-} \ No newline at end of file
diff --git a/csharp/src/ProtocolBuffers/Reflection/FieldType.cs b/csharp/src/ProtocolBuffers/Reflection/FieldType.cs
deleted file mode 100644
index 41fa702d..00000000
--- a/csharp/src/ProtocolBuffers/Reflection/FieldType.cs
+++ /dev/null
@@ -1,60 +0,0 @@
-#region Copyright notice and license
-// Protocol Buffers - Google's data interchange format
-// Copyright 2008 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
-// 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.
-#endregion
-
-namespace Google.Protobuf.Reflection
-{
- /// <summary>
- /// Enumeration of all the possible field types. The odd formatting is to make it very clear
- /// which attribute applies to which value, while maintaining a compact format.
- /// </summary>
- public enum FieldType
- {
- Double,
- Float,
- Int64,
- UInt64,
- Int32,
- Fixed64,
- Fixed32,
- Bool,
- String,
- Group,
- Message,
- Bytes,
- UInt32,
- SFixed32,
- SFixed64,
- SInt32,
- SInt64,
- Enum
- }
-} \ No newline at end of file
diff --git a/csharp/src/ProtocolBuffers/Reflection/FileDescriptor.cs b/csharp/src/ProtocolBuffers/Reflection/FileDescriptor.cs
deleted file mode 100644
index db393480..00000000
--- a/csharp/src/ProtocolBuffers/Reflection/FileDescriptor.cs
+++ /dev/null
@@ -1,352 +0,0 @@
-#region Copyright notice and license
-// Protocol Buffers - Google's data interchange format
-// Copyright 2008 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
-// 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.
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Collections.ObjectModel;
-
-namespace Google.Protobuf.Reflection
-{
- /// <summary>
- /// Describes a .proto file, including everything defined within.
- /// IDescriptor is implemented such that the File property returns this descriptor,
- /// and the FullName is the same as the Name.
- /// </summary>
- public sealed class FileDescriptor : IDescriptor
- {
- private readonly FileDescriptorProto proto;
- private readonly IList<MessageDescriptor> messageTypes;
- private readonly IList<EnumDescriptor> enumTypes;
- private readonly IList<ServiceDescriptor> services;
- private readonly IList<FileDescriptor> dependencies;
- private readonly IList<FileDescriptor> publicDependencies;
- private readonly DescriptorPool pool;
-
- public enum ProtoSyntax
- {
- Proto2,
- Proto3
- }
-
- public ProtoSyntax Syntax
- {
- get { return proto.Syntax == "proto3" ? ProtoSyntax.Proto3 : ProtoSyntax.Proto2; }
- }
-
- private FileDescriptor(FileDescriptorProto proto, FileDescriptor[] dependencies, DescriptorPool pool, bool allowUnknownDependencies)
- {
- this.pool = pool;
- this.proto = proto;
- this.dependencies = new ReadOnlyCollection<FileDescriptor>((FileDescriptor[]) dependencies.Clone());
-
- publicDependencies = DeterminePublicDependencies(this, proto, dependencies, allowUnknownDependencies);
-
- pool.AddPackage(Package, this);
-
- messageTypes = DescriptorUtil.ConvertAndMakeReadOnly(proto.MessageType,
- (message, index) =>
- new MessageDescriptor(message, this, null, index));
-
- enumTypes = DescriptorUtil.ConvertAndMakeReadOnly(proto.EnumType,
- (enumType, index) =>
- new EnumDescriptor(enumType, this, null, index));
-
- services = DescriptorUtil.ConvertAndMakeReadOnly(proto.Service,
- (service, index) =>
- new ServiceDescriptor(service, this, index));
- }
-
- /// <summary>
- /// Computes the full name of a descriptor within this file, with an optional parent message.
- /// </summary>
- internal string ComputeFullName(MessageDescriptor parent, string name)
- {
- if (parent != null)
- {
- return parent.FullName + "." + name;
- }
- if (Package.Length > 0)
- {
- return Package + "." + name;
- }
- return name;
- }
-
- /// <summary>
- /// Extracts public dependencies from direct dependencies. This is a static method despite its
- /// first parameter, as the value we're in the middle of constructing is only used for exceptions.
- /// </summary>
- private static IList<FileDescriptor> DeterminePublicDependencies(FileDescriptor @this, FileDescriptorProto proto, FileDescriptor[] dependencies, bool allowUnknownDependencies)
- {
- var nameToFileMap = new Dictionary<string, FileDescriptor>();
- foreach (var file in dependencies)
- {
- nameToFileMap[file.Name] = file;
- }
- var publicDependencies = new List<FileDescriptor>();
- for (int i = 0; i < proto.PublicDependency.Count; i++)
- {
- int index = proto.PublicDependency[i];
- if (index < 0 || index >= proto.Dependency.Count)
- {
- throw new DescriptorValidationException(@this, "Invalid public dependency index.");
- }
- string name = proto.Dependency[index];
- FileDescriptor file = nameToFileMap[name];
- if (file == null)
- {
- if (!allowUnknownDependencies)
- {
- throw new DescriptorValidationException(@this, "Invalid public dependency: " + name);
- }
- // Ignore unknown dependencies.
- }
- else
- {
- publicDependencies.Add(file);
- }
- }
- return new ReadOnlyCollection<FileDescriptor>(publicDependencies);
- }
-
- /// <value>
- /// The descriptor in its protocol message representation.
- /// </value>
- internal FileDescriptorProto Proto
- {
- get { return proto; }
- }
-
- /// <value>
- /// The file name.
- /// </value>
- public string Name
- {
- get { return proto.Name; }
- }
-
- /// <summary>
- /// The package as declared in the .proto file. This may or may not
- /// be equivalent to the .NET namespace of the generated classes.
- /// </summary>
- public string Package
- {
- get { return proto.Package; }
- }
-
- /// <value>
- /// Unmodifiable list of top-level message types declared in this file.
- /// </value>
- public IList<MessageDescriptor> MessageTypes
- {
- get { return messageTypes; }
- }
-
- /// <value>
- /// Unmodifiable list of top-level enum types declared in this file.
- /// </value>
- public IList<EnumDescriptor> EnumTypes
- {
- get { return enumTypes; }
- }
-
- /// <value>
- /// Unmodifiable list of top-level services declared in this file.
- /// </value>
- public IList<ServiceDescriptor> Services
- {
- get { return services; }
- }
-
- /// <value>
- /// Unmodifiable list of this file's dependencies (imports).
- /// </value>
- public IList<FileDescriptor> Dependencies
- {
- get { return dependencies; }
- }
-
- /// <value>
- /// Unmodifiable list of this file's public dependencies (public imports).
- /// </value>
- public IList<FileDescriptor> PublicDependencies
- {
- get { return publicDependencies; }
- }
-
- /// <value>
- /// Implementation of IDescriptor.FullName - just returns the same as Name.
- /// </value>
- string IDescriptor.FullName
- {
- get { return Name; }
- }
-
- /// <value>
- /// Implementation of IDescriptor.File - just returns this descriptor.
- /// </value>
- FileDescriptor IDescriptor.File
- {
- get { return this; }
- }
-
- /// <value>
- /// Pool containing symbol descriptors.
- /// </value>
- internal DescriptorPool DescriptorPool
- {
- get { return pool; }
- }
-
- /// <summary>
- /// Finds a type (message, enum, service or extension) in the file by name. Does not find nested types.
- /// </summary>
- /// <param name="name">The unqualified type name to look for.</param>
- /// <typeparam name="T">The type of descriptor to look for (or ITypeDescriptor for any)</typeparam>
- /// <returns>The type's descriptor, or null if not found.</returns>
- public T FindTypeByName<T>(String name)
- where T : class, IDescriptor
- {
- // Don't allow looking up nested types. This will make optimization
- // easier later.
- if (name.IndexOf('.') != -1)
- {
- return null;
- }
- if (Package.Length > 0)
- {
- name = Package + "." + name;
- }
- T result = pool.FindSymbol<T>(name);
- if (result != null && result.File == this)
- {
- return result;
- }
- return null;
- }
-
- /// <summary>
- /// Builds a FileDescriptor from its protocol buffer representation.
- /// </summary>
- /// <param name="proto">The protocol message form of the FileDescriptor.</param>
- /// <param name="dependencies">FileDescriptors corresponding to all of the
- /// file's dependencies, in the exact order listed in the .proto file. May be null,
- /// in which case it is treated as an empty array.</param>
- /// <param name="allowUnknownDependencies">Whether unknown dependencies are ignored (true) or cause an exception to be thrown (false).</param>
- /// <exception cref="DescriptorValidationException">If <paramref name="proto"/> is not
- /// a valid descriptor. This can occur for a number of reasons, such as a field
- /// having an undefined type or because two messages were defined with the same name.</exception>
- private static FileDescriptor BuildFrom(FileDescriptorProto proto, FileDescriptor[] dependencies, bool allowUnknownDependencies)
- {
- // Building descriptors involves two steps: translating and linking.
- // In the translation step (implemented by FileDescriptor's
- // constructor), we build an object tree mirroring the
- // FileDescriptorProto's tree and put all of the descriptors into the
- // DescriptorPool's lookup tables. In the linking step, we look up all
- // type references in the DescriptorPool, so that, for example, a
- // FieldDescriptor for an embedded message contains a pointer directly
- // to the Descriptor for that message's type. We also detect undefined
- // types in the linking step.
- if (dependencies == null)
- {
- dependencies = new FileDescriptor[0];
- }
-
- DescriptorPool pool = new DescriptorPool(dependencies);
- FileDescriptor result = new FileDescriptor(proto, dependencies, pool, allowUnknownDependencies);
-
- // TODO(jonskeet): Reinstate these checks, or get rid of them entirely. They aren't in the Java code,
- // and fail for the CustomOptions test right now. (We get "descriptor.proto" vs "google/protobuf/descriptor.proto".)
- //if (dependencies.Length != proto.DependencyCount)
- //{
- // throw new DescriptorValidationException(result,
- // "Dependencies passed to FileDescriptor.BuildFrom() don't match " +
- // "those listed in the FileDescriptorProto.");
- //}
- //for (int i = 0; i < proto.DependencyCount; i++)
- //{
- // if (dependencies[i].Name != proto.DependencyList[i])
- // {
- // throw new DescriptorValidationException(result,
- // "Dependencies passed to FileDescriptor.BuildFrom() don't match " +
- // "those listed in the FileDescriptorProto.");
- // }
- //}
-
- result.CrossLink();
- return result;
- }
-
- private void CrossLink()
- {
- foreach (MessageDescriptor message in messageTypes)
- {
- message.CrossLink();
- }
-
- foreach (ServiceDescriptor service in services)
- {
- service.CrossLink();
- }
- }
-
- public static FileDescriptor InternalBuildGeneratedFileFrom(byte[] descriptorData,
- FileDescriptor[] dependencies)
- {
- FileDescriptorProto proto;
- try
- {
- proto = FileDescriptorProto.Parser.ParseFrom(descriptorData);
- }
- catch (InvalidProtocolBufferException e)
- {
- throw new ArgumentException("Failed to parse protocol buffer descriptor for generated code.", e);
- }
-
- try
- {
- // When building descriptors for generated code, we allow unknown
- // dependencies by default.
- return BuildFrom(proto, dependencies, true);
- }
- catch (DescriptorValidationException e)
- {
- throw new ArgumentException("Invalid embedded descriptor for \"" + proto.Name + "\".", e);
- }
- }
-
- public override string ToString()
- {
- return "FileDescriptor for " + proto.Name;
- }
- }
-} \ No newline at end of file
diff --git a/csharp/src/ProtocolBuffers/Reflection/IDescriptor.cs b/csharp/src/ProtocolBuffers/Reflection/IDescriptor.cs
deleted file mode 100644
index 6506db1b..00000000
--- a/csharp/src/ProtocolBuffers/Reflection/IDescriptor.cs
+++ /dev/null
@@ -1,44 +0,0 @@
-#region Copyright notice and license
-// Protocol Buffers - Google's data interchange format
-// Copyright 2008 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
-// 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.
-#endregion
-
-namespace Google.Protobuf.Reflection
-{
- /// <summary>
- /// Interface implemented by all descriptor types.
- /// </summary>
- public interface IDescriptor
- {
- string Name { get; }
- string FullName { get; }
- FileDescriptor File { get; }
- }
-} \ No newline at end of file
diff --git a/csharp/src/ProtocolBuffers/Reflection/IFieldAccessor.cs b/csharp/src/ProtocolBuffers/Reflection/IFieldAccessor.cs
deleted file mode 100644
index 3f4f05f4..00000000
--- a/csharp/src/ProtocolBuffers/Reflection/IFieldAccessor.cs
+++ /dev/null
@@ -1,70 +0,0 @@
-#region Copyright notice and license
-// Protocol Buffers - Google's data interchange format
-// Copyright 2008 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
-// 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.
-#endregion
-
-namespace Google.Protobuf.Reflection
-{
- /// <summary>
- /// Allows fields to be reflectively accessed.
- /// </summary>
- public interface IFieldAccessor
- {
- /// <summary>
- /// Returns the descriptor associated with this field.
- /// </summary>
- FieldDescriptor Descriptor { get; }
-
- // TODO: Should the argument type for these messages be IReflectedMessage?
-
- /// <summary>
- /// Clears the field in the specified message. (For repeated fields,
- /// this clears the list.)
- /// </summary>
- void Clear(object message);
-
- /// <summary>
- /// Fetches the field value. For repeated values, this will be an
- /// <see cref="IList"/> implementation. For map values, this will be an
- /// <see cref="IDictionary"/> implementation.
- /// </summary>
- object GetValue(object message);
-
- /// <summary>
- /// Mutator for single "simple" fields only.
- /// </summary>
- /// <remarks>
- /// Repeated fields are mutated by fetching the value and manipulating it as a list.
- /// Map fields are mutated by fetching the value and manipulating it as a dictionary.
- /// </remarks>
- /// <exception cref="InvalidOperationException">The field is not a "simple" field, or the message is frozen.</exception>
- void SetValue(object message, object value);
- }
-} \ No newline at end of file
diff --git a/csharp/src/ProtocolBuffers/Reflection/MapFieldAccessor.cs b/csharp/src/ProtocolBuffers/Reflection/MapFieldAccessor.cs
deleted file mode 100644
index 317fbd8d..00000000
--- a/csharp/src/ProtocolBuffers/Reflection/MapFieldAccessor.cs
+++ /dev/null
@@ -1,58 +0,0 @@
-#region Copyright notice and license
-// Protocol Buffers - Google's data interchange format
-// 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
-// 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.
-#endregion
-
-using System;
-using System.Collections;
-
-namespace Google.Protobuf.Reflection
-{
- /// <summary>
- /// Accessor for map fields.
- /// </summary>
- internal sealed class MapFieldAccessor : FieldAccessorBase
- {
- internal MapFieldAccessor(Type type, string propertyName, FieldDescriptor descriptor) : base(type, propertyName, descriptor)
- {
- }
-
- public override void Clear(object message)
- {
- IDictionary list = (IDictionary) GetValue(message);
- list.Clear();
- }
-
- public override void SetValue(object message, object value)
- {
- throw new InvalidOperationException("SetValue is not implemented for map fields");
- }
- }
-}
diff --git a/csharp/src/ProtocolBuffers/Reflection/MessageDescriptor.cs b/csharp/src/ProtocolBuffers/Reflection/MessageDescriptor.cs
deleted file mode 100644
index b6351d36..00000000
--- a/csharp/src/ProtocolBuffers/Reflection/MessageDescriptor.cs
+++ /dev/null
@@ -1,172 +0,0 @@
-#region Copyright notice and license
-// Protocol Buffers - Google's data interchange format
-// Copyright 2008 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
-// 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.
-#endregion
-
-using System;
-using System.Collections.Generic;
-
-namespace Google.Protobuf.Reflection
-{
- /// <summary>
- /// Describes a message type.
- /// </summary>
- public sealed class MessageDescriptor : DescriptorBase
- {
- private readonly DescriptorProto proto;
- private readonly MessageDescriptor containingType;
- private readonly IList<MessageDescriptor> nestedTypes;
- private readonly IList<EnumDescriptor> enumTypes;
- private readonly IList<FieldDescriptor> fields;
- private readonly IList<OneofDescriptor> oneofs;
-
- internal MessageDescriptor(DescriptorProto proto, FileDescriptor file, MessageDescriptor parent, int typeIndex)
- : base(file, file.ComputeFullName(parent, proto.Name), typeIndex)
- {
- this.proto = proto;
- containingType = parent;
-
- oneofs = DescriptorUtil.ConvertAndMakeReadOnly(proto.OneofDecl,
- (oneof, index) =>
- new OneofDescriptor(oneof, file, this, index));
-
- nestedTypes = DescriptorUtil.ConvertAndMakeReadOnly(proto.NestedType,
- (type, index) =>
- new MessageDescriptor(type, file, this, index));
-
- enumTypes = DescriptorUtil.ConvertAndMakeReadOnly(proto.EnumType,
- (type, index) =>
- new EnumDescriptor(type, file, this, index));
-
- // TODO(jonskeet): Sort fields first?
- fields = DescriptorUtil.ConvertAndMakeReadOnly(proto.Field,
- (field, index) =>
- new FieldDescriptor(field, file, this, index));
- file.DescriptorPool.AddSymbol(this);
- }
-
- /// <summary>
- /// The brief name of the descriptor's target.
- /// </summary>
- public override string Name { get { return proto.Name; } }
-
- internal DescriptorProto Proto { get { return proto; } }
-
- /// <value>
- /// If this is a nested type, get the outer descriptor, otherwise null.
- /// </value>
- public MessageDescriptor ContainingType
- {
- get { return containingType; }
- }
-
- /// <value>
- /// An unmodifiable list of this message type's fields.
- /// </value>
- public IList<FieldDescriptor> Fields
- {
- get { return fields; }
- }
-
- /// <value>
- /// An unmodifiable list of this message type's nested types.
- /// </value>
- public IList<MessageDescriptor> NestedTypes
- {
- get { return nestedTypes; }
- }
-
- /// <value>
- /// An unmodifiable list of this message type's enum types.
- /// </value>
- public IList<EnumDescriptor> EnumTypes
- {
- get { return enumTypes; }
- }
-
- public IList<OneofDescriptor> Oneofs
- {
- get { return oneofs; }
- }
-
- /// <summary>
- /// Finds a field by field name.
- /// </summary>
- /// <param name="name">The unqualified name of the field (e.g. "foo").</param>
- /// <returns>The field's descriptor, or null if not found.</returns>
- public FieldDescriptor FindFieldByName(String name)
- {
- return File.DescriptorPool.FindSymbol<FieldDescriptor>(FullName + "." + name);
- }
-
- /// <summary>
- /// Finds a field by field number.
- /// </summary>
- /// <param name="number">The field number within this message type.</param>
- /// <returns>The field's descriptor, or null if not found.</returns>
- public FieldDescriptor FindFieldByNumber(int number)
- {
- return File.DescriptorPool.FindFieldByNumber(this, number);
- }
-
- /// <summary>
- /// Finds a nested descriptor by name. The is valid for fields, nested
- /// message types, oneofs and enums.
- /// </summary>
- /// <param name="name">The unqualified name of the descriptor, e.g. "Foo"</param>
- /// <returns>The descriptor, or null if not found.</returns>
- public T FindDescriptor<T>(string name)
- where T : class, IDescriptor
- {
- return File.DescriptorPool.FindSymbol<T>(FullName + "." + name);
- }
-
- /// <summary>
- /// Looks up and cross-links all fields and nested types.
- /// </summary>
- internal void CrossLink()
- {
- foreach (MessageDescriptor message in nestedTypes)
- {
- message.CrossLink();
- }
-
- foreach (FieldDescriptor field in fields)
- {
- field.CrossLink();
- }
-
- foreach (OneofDescriptor oneof in oneofs)
- {
- oneof.CrossLink();
- }
- }
- }
-} \ No newline at end of file
diff --git a/csharp/src/ProtocolBuffers/Reflection/MethodDescriptor.cs b/csharp/src/ProtocolBuffers/Reflection/MethodDescriptor.cs
deleted file mode 100644
index 0c9c6949..00000000
--- a/csharp/src/ProtocolBuffers/Reflection/MethodDescriptor.cs
+++ /dev/null
@@ -1,93 +0,0 @@
-#region Copyright notice and license
-// Protocol Buffers - Google's data interchange format
-// Copyright 2008 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
-// 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.
-#endregion
-
-namespace Google.Protobuf.Reflection
-{
- /// <summary>
- /// Describes a single method in a service.
- /// </summary>
- public sealed class MethodDescriptor : DescriptorBase
- {
- private readonly MethodDescriptorProto proto;
- private readonly ServiceDescriptor service;
- private MessageDescriptor inputType;
- private MessageDescriptor outputType;
-
- /// <value>
- /// The service this method belongs to.
- /// </value>
- public ServiceDescriptor Service { get { return service; } }
-
- /// <value>
- /// The method's input type.
- /// </value>
- public MessageDescriptor InputType { get { return inputType; } }
-
- /// <value>
- /// The method's input type.
- /// </value>
- public MessageDescriptor OutputType { get { return outputType; } }
-
- internal MethodDescriptor(MethodDescriptorProto proto, FileDescriptor file,
- ServiceDescriptor parent, int index)
- : base(file, parent.FullName + "." + proto.Name, index)
- {
- this.proto = proto;
- service = parent;
- file.DescriptorPool.AddSymbol(this);
- }
-
- internal MethodDescriptorProto Proto { get { return proto; } }
-
- /// <summary>
- /// The brief name of the descriptor's target.
- /// </summary>
- public override string Name { get { return proto.Name; } }
-
- internal void CrossLink()
- {
- IDescriptor lookup = File.DescriptorPool.LookupSymbol(Proto.InputType, this);
- if (!(lookup is MessageDescriptor))
- {
- throw new DescriptorValidationException(this, "\"" + Proto.InputType + "\" is not a message type.");
- }
- inputType = (MessageDescriptor) lookup;
-
- lookup = File.DescriptorPool.LookupSymbol(Proto.OutputType, this);
- if (!(lookup is MessageDescriptor))
- {
- throw new DescriptorValidationException(this, "\"" + Proto.OutputType + "\" is not a message type.");
- }
- outputType = (MessageDescriptor) lookup;
- }
- }
-} \ No newline at end of file
diff --git a/csharp/src/ProtocolBuffers/Reflection/OneofAccessor.cs b/csharp/src/ProtocolBuffers/Reflection/OneofAccessor.cs
deleted file mode 100644
index 7a11d36b..00000000
--- a/csharp/src/ProtocolBuffers/Reflection/OneofAccessor.cs
+++ /dev/null
@@ -1,85 +0,0 @@
-#region Copyright notice and license
-// Protocol Buffers - Google's data interchange format
-// 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
-// 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.
-#endregion
-
-using System;
-using System.Reflection;
-
-namespace Google.Protobuf.Reflection
-{
- /// <summary>
- /// Reflection access for a oneof, allowing clear and "get case" actions.
- /// </summary>
- public sealed class OneofAccessor
- {
- private readonly Func<object, int> caseDelegate;
- private readonly Action<object> clearDelegate;
- private OneofDescriptor descriptor;
-
- internal OneofAccessor(Type type, string propertyName, OneofDescriptor descriptor)
- {
- PropertyInfo property = type.GetProperty(propertyName + "Case");
- if (property == null || !property.CanRead)
- {
- throw new ArgumentException("Not all required properties/methods available");
- }
- this.descriptor = descriptor;
- caseDelegate = ReflectionUtil.CreateFuncObjectT<int>(property.GetGetMethod());
-
- this.descriptor = descriptor;
- MethodInfo clearMethod = type.GetMethod("Clear" + propertyName);
- clearDelegate = ReflectionUtil.CreateActionObject(clearMethod);
- }
-
- public OneofDescriptor Descriptor { get { return descriptor; } }
-
- /// <summary>
- /// Clears the oneof in the specified message.
- /// </summary>
- public void Clear(object message)
- {
- clearDelegate(message);
- }
-
- /// <summary>
- /// Indicates which field in the oneof is set for specified message
- /// </summary>
- public FieldDescriptor GetCaseFieldDescriptor(object message)
- {
- int fieldNumber = caseDelegate(message);
- if (fieldNumber > 0)
- {
- return descriptor.ContainingType.FindFieldByNumber(fieldNumber);
- }
- return null;
- }
- }
-}
diff --git a/csharp/src/ProtocolBuffers/Reflection/OneofDescriptor.cs b/csharp/src/ProtocolBuffers/Reflection/OneofDescriptor.cs
deleted file mode 100644
index e92dc8bb..00000000
--- a/csharp/src/ProtocolBuffers/Reflection/OneofDescriptor.cs
+++ /dev/null
@@ -1,78 +0,0 @@
-#region Copyright notice and license
-// Protocol Buffers - Google's data interchange format
-// 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
-// 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.
-#endregion
-
-using System.Collections.Generic;
-using System.Collections.ObjectModel;
-
-namespace Google.Protobuf.Reflection
-{
- public sealed class OneofDescriptor : DescriptorBase
- {
- private readonly OneofDescriptorProto proto;
- private MessageDescriptor containingType;
- private IList<FieldDescriptor> fields;
-
- internal OneofDescriptor(OneofDescriptorProto proto, FileDescriptor file, MessageDescriptor parent, int index)
- : base(file, file.ComputeFullName(parent, proto.Name), index)
- {
- this.proto = proto;
- containingType = parent;
-
- file.DescriptorPool.AddSymbol(this);
- }
-
- /// <summary>
- /// The brief name of the descriptor's target.
- /// </summary>
- public override string Name { get { return proto.Name; } }
-
- public MessageDescriptor ContainingType
- {
- get { return containingType; }
- }
-
- public IList<FieldDescriptor> Fields { get { return fields; } }
-
- internal void CrossLink()
- {
- List<FieldDescriptor> fieldCollection = new List<FieldDescriptor>();
- foreach (var field in ContainingType.Fields)
- {
- if (field.ContainingOneof == this)
- {
- fieldCollection.Add(field);
- }
- }
- fields = new ReadOnlyCollection<FieldDescriptor>(fieldCollection);
- }
- }
-}
diff --git a/csharp/src/ProtocolBuffers/Reflection/PackageDescriptor.cs b/csharp/src/ProtocolBuffers/Reflection/PackageDescriptor.cs
deleted file mode 100644
index e547d834..00000000
--- a/csharp/src/ProtocolBuffers/Reflection/PackageDescriptor.cs
+++ /dev/null
@@ -1,68 +0,0 @@
-#region Copyright notice and license
-// Protocol Buffers - Google's data interchange format
-// Copyright 2008 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
-// 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.
-#endregion
-
-namespace Google.Protobuf.Reflection
-{
- /// <summary>
- /// Represents a package in the symbol table. We use PackageDescriptors
- /// just as placeholders so that someone cannot define, say, a message type
- /// that has the same name as an existing package.
- /// </summary>
- internal sealed class PackageDescriptor : IDescriptor
- {
- private readonly string name;
- private readonly string fullName;
- private readonly FileDescriptor file;
-
- internal PackageDescriptor(string name, string fullName, FileDescriptor file)
- {
- this.file = file;
- this.fullName = fullName;
- this.name = name;
- }
-
- public string Name
- {
- get { return name; }
- }
-
- public string FullName
- {
- get { return fullName; }
- }
-
- public FileDescriptor File
- {
- get { return file; }
- }
- }
-} \ No newline at end of file
diff --git a/csharp/src/ProtocolBuffers/Reflection/PartialClasses.cs b/csharp/src/ProtocolBuffers/Reflection/PartialClasses.cs
deleted file mode 100644
index c7ed4342..00000000
--- a/csharp/src/ProtocolBuffers/Reflection/PartialClasses.cs
+++ /dev/null
@@ -1,47 +0,0 @@
-#region Copyright notice and license
-// Protocol Buffers - Google's data interchange format
-// Copyright 2008 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
-// 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.
-#endregion
-
-// This file just contains partial classes for any autogenerated classes that need additional support.
-namespace Google.Protobuf.Reflection
-{
- internal partial class FieldDescriptorProto
- {
- // We can't tell the difference between "explicitly set to 0" and "not set"
- // in proto3, but we need to tell the difference for OneofIndex. descriptor.proto
- // is really a proto2 file, but the runtime doesn't know about proto2 semantics...
- // We fake it by defaulting to -1.
- partial void OnConstruction()
- {
- OneofIndex = -1;
- }
- }
-} \ No newline at end of file
diff --git a/csharp/src/ProtocolBuffers/Reflection/ReflectionUtil.cs b/csharp/src/ProtocolBuffers/Reflection/ReflectionUtil.cs
deleted file mode 100644
index d0dc3e8b..00000000
--- a/csharp/src/ProtocolBuffers/Reflection/ReflectionUtil.cs
+++ /dev/null
@@ -1,106 +0,0 @@
-#region Copyright notice and license
-// Protocol Buffers - Google's data interchange format
-// Copyright 2008 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
-// 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.
-#endregion
-
-using System;
-using System.Linq.Expressions;
-using System.Reflection;
-
-namespace Google.Protobuf.Reflection
-{
- /// <summary>
- /// The methods in this class are somewhat evil, and should not be tampered with lightly.
- /// Basically they allow the creation of relatively weakly typed delegates from MethodInfos
- /// which are more strongly typed. They do this by creating an appropriate strongly typed
- /// delegate from the MethodInfo, and then calling that within an anonymous method.
- /// Mind-bending stuff (at least to your humble narrator) but the resulting delegates are
- /// very fast compared with calling Invoke later on.
- /// </summary>
- internal static class ReflectionUtil
- {
- /// <summary>
- /// Empty Type[] used when calling GetProperty to force property instead of indexer fetching.
- /// </summary>
- internal static readonly Type[] EmptyTypes = new Type[0];
-
- /// <summary>
- /// Creates a delegate which will cast the argument to the appropriate method target type,
- /// call the method on it, then convert the result to object.
- /// </summary>
- internal static Func<object, object> CreateFuncObjectObject(MethodInfo method)
- {
- ParameterExpression parameter = Expression.Parameter(typeof(object), "p");
- Expression downcast = Expression.Convert(parameter, method.DeclaringType);
- Expression call = Expression.Call(downcast, method);
- Expression upcast = Expression.Convert(call, typeof(object));
- return Expression.Lambda<Func<object, object>>(upcast, parameter).Compile();
- }
-
- /// <summary>
- /// Creates a delegate which will cast the argument to the appropriate method target type,
- /// call the method on it, then convert the result to the specified type.
- /// </summary>
- internal static Func<object, T> CreateFuncObjectT<T>(MethodInfo method)
- {
- ParameterExpression parameter = Expression.Parameter(typeof(object), "p");
- Expression downcast = Expression.Convert(parameter, method.DeclaringType);
- Expression call = Expression.Call(downcast, method);
- Expression upcast = Expression.Convert(call, typeof(T));
- return Expression.Lambda<Func<object, T>>(upcast, parameter).Compile();
- }
-
- /// <summary>
- /// Creates a delegate which will execute the given method after casting the first argument to
- /// the target type of the method, and the second argument to the first parameter type of the method.
- /// </summary>
- internal static Action<object, object> CreateActionObjectObject(MethodInfo method)
- {
- ParameterExpression targetParameter = Expression.Parameter(typeof(object), "target");
- ParameterExpression argParameter = Expression.Parameter(typeof(object), "arg");
- Expression castTarget = Expression.Convert(targetParameter, method.DeclaringType);
- Expression castArgument = Expression.Convert(argParameter, method.GetParameters()[0].ParameterType);
- Expression call = Expression.Call(castTarget, method, castArgument);
- return Expression.Lambda<Action<object, object>>(call, targetParameter, argParameter).Compile();
- }
-
- /// <summary>
- /// Creates a delegate which will execute the given method after casting the first argument to
- /// the target type of the method.
- /// </summary>
- internal static Action<object> CreateActionObject(MethodInfo method)
- {
- ParameterExpression targetParameter = Expression.Parameter(typeof(object), "target");
- Expression castTarget = Expression.Convert(targetParameter, method.DeclaringType);
- Expression call = Expression.Call(castTarget, method);
- return Expression.Lambda<Action<object>>(call, targetParameter).Compile();
- }
- }
-} \ No newline at end of file
diff --git a/csharp/src/ProtocolBuffers/Reflection/RepeatedFieldAccessor.cs b/csharp/src/ProtocolBuffers/Reflection/RepeatedFieldAccessor.cs
deleted file mode 100644
index 0ada7567..00000000
--- a/csharp/src/ProtocolBuffers/Reflection/RepeatedFieldAccessor.cs
+++ /dev/null
@@ -1,59 +0,0 @@
-#region Copyright notice and license
-// Protocol Buffers - Google's data interchange format
-// 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
-// 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.
-#endregion
-
-using System;
-using System.Collections;
-
-namespace Google.Protobuf.Reflection
-{
- /// <summary>
- /// Accessor for repeated fields.
- /// </summary>
- internal sealed class RepeatedFieldAccessor : FieldAccessorBase
- {
- internal RepeatedFieldAccessor(Type type, string propertyName, FieldDescriptor descriptor) : base(type, propertyName, descriptor)
- {
- }
-
- public override void Clear(object message)
- {
- IList list = (IList) GetValue(message);
- list.Clear();
- }
-
- public override void SetValue(object message, object value)
- {
- throw new InvalidOperationException("SetValue is not implemented for repeated fields");
- }
-
- }
-}
diff --git a/csharp/src/ProtocolBuffers/Reflection/ServiceDescriptor.cs b/csharp/src/ProtocolBuffers/Reflection/ServiceDescriptor.cs
deleted file mode 100644
index cc0a5010..00000000
--- a/csharp/src/ProtocolBuffers/Reflection/ServiceDescriptor.cs
+++ /dev/null
@@ -1,89 +0,0 @@
-#region Copyright notice and license
-// Protocol Buffers - Google's data interchange format
-// Copyright 2008 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
-// 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.
-#endregion
-
-using System;
-using System.Collections.Generic;
-
-namespace Google.Protobuf.Reflection
-{
- /// <summary>
- /// Describes a service type.
- /// </summary>
- public sealed class ServiceDescriptor : DescriptorBase
- {
- private readonly ServiceDescriptorProto proto;
- private readonly IList<MethodDescriptor> methods;
-
- internal ServiceDescriptor(ServiceDescriptorProto proto, FileDescriptor file, int index)
- : base(file, file.ComputeFullName(null, proto.Name), index)
- {
- this.proto = proto;
- methods = DescriptorUtil.ConvertAndMakeReadOnly(proto.Method,
- (method, i) => new MethodDescriptor(method, file, this, i));
-
- file.DescriptorPool.AddSymbol(this);
- }
-
- /// <summary>
- /// The brief name of the descriptor's target.
- /// </summary>
- public override string Name { get { return proto.Name; } }
-
- internal ServiceDescriptorProto Proto { get { return proto; } }
-
- /// <value>
- /// An unmodifiable list of methods in this service.
- /// </value>
- public IList<MethodDescriptor> Methods
- {
- get { return methods; }
- }
-
- /// <summary>
- /// Finds a method by name.
- /// </summary>
- /// <param name="name">The unqualified name of the method (e.g. "Foo").</param>
- /// <returns>The method's decsriptor, or null if not found.</returns>
- public MethodDescriptor FindMethodByName(String name)
- {
- return File.DescriptorPool.FindSymbol<MethodDescriptor>(FullName + "." + name);
- }
-
- internal void CrossLink()
- {
- foreach (MethodDescriptor method in methods)
- {
- method.CrossLink();
- }
- }
- }
-} \ No newline at end of file
diff --git a/csharp/src/ProtocolBuffers/Reflection/SingleFieldAccessor.cs b/csharp/src/ProtocolBuffers/Reflection/SingleFieldAccessor.cs
deleted file mode 100644
index 8c24e46e..00000000
--- a/csharp/src/ProtocolBuffers/Reflection/SingleFieldAccessor.cs
+++ /dev/null
@@ -1,85 +0,0 @@
-#region Copyright notice and license
-// Protocol Buffers - Google's data interchange format
-// 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
-// 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.
-#endregion
-
-using System;
-using System.Reflection;
-
-namespace Google.Protobuf.Reflection
-{
- /// <summary>
- /// Accessor for single fields.
- /// </summary>
- internal sealed class SingleFieldAccessor : FieldAccessorBase
- {
- // All the work here is actually done in the constructor - it creates the appropriate delegates.
- // There are various cases to consider, based on the property type (message, string/bytes, or "genuine" primitive)
- // and proto2 vs proto3 for non-message types, as proto3 doesn't support "full" presence detection or default
- // values.
-
- private readonly Action<object, object> setValueDelegate;
- private readonly Action<object> clearDelegate;
-
- internal SingleFieldAccessor(Type type, string propertyName, FieldDescriptor descriptor) : base(type, propertyName, descriptor)
- {
- PropertyInfo property = type.GetProperty(propertyName);
- // We know there *is* such a property, or the base class constructor would have thrown. We should be able to write
- // to it though.
- if (!property.CanWrite)
- {
- throw new ArgumentException("Not all required properties/methods available");
- }
- setValueDelegate = ReflectionUtil.CreateActionObjectObject(property.GetSetMethod());
-
- var clrType = property.PropertyType;
-
- // TODO: What should clear on a oneof member do? Clear the oneof?
-
- // TODO: Validate that this is a reasonable single field? (Should be a value type, a message type, or string/ByteString.)
- object defaultValue =
- typeof(IMessage).IsAssignableFrom(clrType) ? null
- : clrType == typeof(string) ? ""
- : clrType == typeof(ByteString) ? ByteString.Empty
- : Activator.CreateInstance(clrType);
- clearDelegate = message => SetValue(message, defaultValue);
- }
-
- public override void Clear(object message)
- {
- clearDelegate(message);
- }
-
- public override void SetValue(object message, object value)
- {
- setValueDelegate(message, value);
- }
- }
-}
diff --git a/csharp/src/ProtocolBuffers/ThrowHelper.cs b/csharp/src/ProtocolBuffers/ThrowHelper.cs
deleted file mode 100644
index 62d9ea60..00000000
--- a/csharp/src/ProtocolBuffers/ThrowHelper.cs
+++ /dev/null
@@ -1,53 +0,0 @@
-#region Copyright notice and license
-// Protocol Buffers - Google's data interchange format
-// Copyright 2008 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
-// 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.
-#endregion
-
-using System;
-
-namespace Google.Protobuf
-{
- /// <summary>
- /// Helper methods for throwing exceptions
- /// </summary>
- internal static class ThrowHelper
- {
- /// <summary>
- /// Throws an ArgumentNullException if the given value is null.
- /// </summary>
- internal static void ThrowIfNull(object value, string name)
- {
- if (value == null)
- {
- throw new ArgumentNullException(name);
- }
- }
- }
-} \ No newline at end of file
diff --git a/csharp/src/ProtocolBuffers/WellKnownTypes/Any.cs b/csharp/src/ProtocolBuffers/WellKnownTypes/Any.cs
deleted file mode 100644
index 64d52ac5..00000000
--- a/csharp/src/ProtocolBuffers/WellKnownTypes/Any.cs
+++ /dev/null
@@ -1,195 +0,0 @@
-// Generated by the protocol buffer compiler. DO NOT EDIT!
-// source: google/protobuf/any.proto
-#pragma warning disable 1591, 0612, 3021
-#region Designer generated code
-
-using pb = global::Google.Protobuf;
-using pbc = global::Google.Protobuf.Collections;
-using pbr = global::Google.Protobuf.Reflection;
-using scg = global::System.Collections.Generic;
-namespace Google.Protobuf.WellKnownTypes {
-
- namespace Proto {
-
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- public static partial class Any {
-
- #region Static variables
- internal static pbr::FieldAccessorTable internal__static_google_protobuf_Any__FieldAccessorTable;
- #endregion
- #region Descriptor
- public static pbr::FileDescriptor Descriptor {
- get { return descriptor; }
- }
- private static pbr::FileDescriptor descriptor;
-
- static Any() {
- byte[] descriptorData = global::System.Convert.FromBase64String(
- string.Concat(
- "Chlnb29nbGUvcHJvdG9idWYvYW55LnByb3RvEg9nb29nbGUucHJvdG9idWYi",
- "JgoDQW55EhAKCHR5cGVfdXJsGAEgASgJEg0KBXZhbHVlGAIgASgMQksKE2Nv",
- "bS5nb29nbGUucHJvdG9idWZCCEFueVByb3RvUAGgAQGiAgNHUEKqAh5Hb29n",
- "bGUuUHJvdG9idWYuV2VsbEtub3duVHlwZXNiBnByb3RvMw=="));
- descriptor = pbr::FileDescriptor.InternalBuildGeneratedFileFrom(descriptorData,
- new pbr::FileDescriptor[] {
- });
- internal__static_google_protobuf_Any__FieldAccessorTable =
- new pbr::FieldAccessorTable(typeof(global::Google.Protobuf.WellKnownTypes.Any), descriptor.MessageTypes[0],
- new string[] { "TypeUrl", "Value", }, new string[] { });
- }
- #endregion
-
- }
- }
- #region Messages
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- public sealed partial class Any : pb::IMessage<Any> {
- private static readonly pb::MessageParser<Any> _parser = new pb::MessageParser<Any>(() => new Any());
- public static pb::MessageParser<Any> Parser { get { return _parser; } }
-
- private static readonly string[] _fieldNames = new string[] { "type_url", "value" };
- private static readonly uint[] _fieldTags = new uint[] { 10, 18 };
- public static pbr::MessageDescriptor Descriptor {
- get { return global::Google.Protobuf.WellKnownTypes.Proto.Any.Descriptor.MessageTypes[0]; }
- }
-
- pbr::FieldAccessorTable pb::IReflectedMessage.Fields {
- get { return global::Google.Protobuf.WellKnownTypes.Proto.Any.internal__static_google_protobuf_Any__FieldAccessorTable; }
- }
-
- private bool _frozen = false;
- public bool IsFrozen { get { return _frozen; } }
-
- public Any() {
- OnConstruction();
- }
-
- partial void OnConstruction();
-
- public Any(Any other) : this() {
- typeUrl_ = other.typeUrl_;
- value_ = other.value_;
- }
-
- public Any Clone() {
- return new Any(this);
- }
-
- public void Freeze() {
- if (IsFrozen) {
- return;
- }
- _frozen = true;
- }
-
- public const int TypeUrlFieldNumber = 1;
- private string typeUrl_ = "";
- public string TypeUrl {
- get { return typeUrl_; }
- set {
- pb::Freezable.CheckMutable(this);
- typeUrl_ = value ?? "";
- }
- }
-
- public const int ValueFieldNumber = 2;
- private pb::ByteString value_ = pb::ByteString.Empty;
- public pb::ByteString Value {
- get { return value_; }
- set {
- pb::Freezable.CheckMutable(this);
- value_ = value ?? pb::ByteString.Empty;
- }
- }
-
- public override bool Equals(object other) {
- return Equals(other as Any);
- }
-
- public bool Equals(Any other) {
- if (ReferenceEquals(other, null)) {
- return false;
- }
- if (ReferenceEquals(other, this)) {
- return true;
- }
- if (TypeUrl != other.TypeUrl) return false;
- if (Value != other.Value) return false;
- return true;
- }
-
- public override int GetHashCode() {
- int hash = 1;
- if (TypeUrl.Length != 0) hash ^= TypeUrl.GetHashCode();
- if (Value.Length != 0) hash ^= Value.GetHashCode();
- return hash;
- }
-
- public override string ToString() {
- return pb::JsonFormatter.Default.Format(this);
- }
-
- public void WriteTo(pb::CodedOutputStream output) {
- if (TypeUrl.Length != 0) {
- output.WriteRawTag(10);
- output.WriteString(TypeUrl);
- }
- if (Value.Length != 0) {
- output.WriteRawTag(18);
- output.WriteBytes(Value);
- }
- }
-
- public int CalculateSize() {
- int size = 0;
- if (TypeUrl.Length != 0) {
- size += 1 + pb::CodedOutputStream.ComputeStringSize(TypeUrl);
- }
- if (Value.Length != 0) {
- size += 1 + pb::CodedOutputStream.ComputeBytesSize(Value);
- }
- return size;
- }
-
- public void MergeFrom(Any other) {
- if (other == null) {
- return;
- }
- if (other.TypeUrl.Length != 0) {
- TypeUrl = other.TypeUrl;
- }
- if (other.Value.Length != 0) {
- Value = other.Value;
- }
- }
-
- public void MergeFrom(pb::CodedInputStream input) {
- uint tag;
- while (input.ReadTag(out tag)) {
- switch(tag) {
- case 0:
- throw pb::InvalidProtocolBufferException.InvalidTag();
- default:
- if (pb::WireFormat.IsEndGroupTag(tag)) {
- return;
- }
- break;
- case 10: {
- TypeUrl = input.ReadString();
- break;
- }
- case 18: {
- Value = input.ReadBytes();
- break;
- }
- }
- }
- }
-
- }
-
- #endregion
-
-}
-
-#endregion Designer generated code
diff --git a/csharp/src/ProtocolBuffers/WellKnownTypes/Api.cs b/csharp/src/ProtocolBuffers/WellKnownTypes/Api.cs
deleted file mode 100644
index 1e2506a4..00000000
--- a/csharp/src/ProtocolBuffers/WellKnownTypes/Api.cs
+++ /dev/null
@@ -1,528 +0,0 @@
-// Generated by the protocol buffer compiler. DO NOT EDIT!
-// source: google/protobuf/api.proto
-#pragma warning disable 1591, 0612, 3021
-#region Designer generated code
-
-using pb = global::Google.Protobuf;
-using pbc = global::Google.Protobuf.Collections;
-using pbr = global::Google.Protobuf.Reflection;
-using scg = global::System.Collections.Generic;
-namespace Google.Protobuf.WellKnownTypes {
-
- namespace Proto {
-
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- public static partial class Api {
-
- #region Static variables
- internal static pbr::FieldAccessorTable internal__static_google_protobuf_Api__FieldAccessorTable;
- internal static pbr::FieldAccessorTable internal__static_google_protobuf_Method__FieldAccessorTable;
- #endregion
- #region Descriptor
- public static pbr::FileDescriptor Descriptor {
- get { return descriptor; }
- }
- private static pbr::FileDescriptor descriptor;
-
- static Api() {
- byte[] descriptorData = global::System.Convert.FromBase64String(
- string.Concat(
- "Chlnb29nbGUvcHJvdG9idWYvYXBpLnByb3RvEg9nb29nbGUucHJvdG9idWYa",
- "JGdvb2dsZS9wcm90b2J1Zi9zb3VyY2VfY29udGV4dC5wcm90bxoaZ29vZ2xl",
- "L3Byb3RvYnVmL3R5cGUucHJvdG8isAEKA0FwaRIMCgRuYW1lGAEgASgJEigK",
- "B21ldGhvZHMYAiADKAsyFy5nb29nbGUucHJvdG9idWYuTWV0aG9kEigKB29w",
- "dGlvbnMYAyADKAsyFy5nb29nbGUucHJvdG9idWYuT3B0aW9uEg8KB3ZlcnNp",
- "b24YBCABKAkSNgoOc291cmNlX2NvbnRleHQYBSABKAsyHi5nb29nbGUucHJv",
- "dG9idWYuU291cmNlQ29udGV4dCKsAQoGTWV0aG9kEgwKBG5hbWUYASABKAkS",
- "GAoQcmVxdWVzdF90eXBlX3VybBgCIAEoCRIZChFyZXF1ZXN0X3N0cmVhbWlu",
- "ZxgDIAEoCBIZChFyZXNwb25zZV90eXBlX3VybBgEIAEoCRIaChJyZXNwb25z",
- "ZV9zdHJlYW1pbmcYBSABKAgSKAoHb3B0aW9ucxgGIAMoCzIXLmdvb2dsZS5w",
- "cm90b2J1Zi5PcHRpb25CSAoTY29tLmdvb2dsZS5wcm90b2J1ZkIIQXBpUHJv",
- "dG9QAaICA0dQQqoCHkdvb2dsZS5Qcm90b2J1Zi5XZWxsS25vd25UeXBlc2IG",
- "cHJvdG8z"));
- descriptor = pbr::FileDescriptor.InternalBuildGeneratedFileFrom(descriptorData,
- new pbr::FileDescriptor[] {
- global::Google.Protobuf.WellKnownTypes.Proto.SourceContext.Descriptor,
- global::Google.Protobuf.WellKnownTypes.Proto.Type.Descriptor,
- });
- internal__static_google_protobuf_Api__FieldAccessorTable =
- new pbr::FieldAccessorTable(typeof(global::Google.Protobuf.WellKnownTypes.Api), descriptor.MessageTypes[0],
- new string[] { "Name", "Methods", "Options", "Version", "SourceContext", }, new string[] { });
- internal__static_google_protobuf_Method__FieldAccessorTable =
- new pbr::FieldAccessorTable(typeof(global::Google.Protobuf.WellKnownTypes.Method), descriptor.MessageTypes[1],
- new string[] { "Name", "RequestTypeUrl", "RequestStreaming", "ResponseTypeUrl", "ResponseStreaming", "Options", }, new string[] { });
- }
- #endregion
-
- }
- }
- #region Messages
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- public sealed partial class Api : pb::IMessage<Api> {
- private static readonly pb::MessageParser<Api> _parser = new pb::MessageParser<Api>(() => new Api());
- public static pb::MessageParser<Api> Parser { get { return _parser; } }
-
- private static readonly string[] _fieldNames = new string[] { "methods", "name", "options", "source_context", "version" };
- private static readonly uint[] _fieldTags = new uint[] { 18, 10, 26, 42, 34 };
- public static pbr::MessageDescriptor Descriptor {
- get { return global::Google.Protobuf.WellKnownTypes.Proto.Api.Descriptor.MessageTypes[0]; }
- }
-
- pbr::FieldAccessorTable pb::IReflectedMessage.Fields {
- get { return global::Google.Protobuf.WellKnownTypes.Proto.Api.internal__static_google_protobuf_Api__FieldAccessorTable; }
- }
-
- private bool _frozen = false;
- public bool IsFrozen { get { return _frozen; } }
-
- public Api() {
- OnConstruction();
- }
-
- partial void OnConstruction();
-
- public Api(Api other) : this() {
- name_ = other.name_;
- methods_ = other.methods_.Clone();
- options_ = other.options_.Clone();
- version_ = other.version_;
- SourceContext = other.sourceContext_ != null ? other.SourceContext.Clone() : null;
- }
-
- public Api Clone() {
- return new Api(this);
- }
-
- public void Freeze() {
- if (IsFrozen) {
- return;
- }
- _frozen = true;
- methods_.Freeze();
- options_.Freeze();
- if (sourceContext_ != null) SourceContext.Freeze();
- }
-
- public const int NameFieldNumber = 1;
- private string name_ = "";
- public string Name {
- get { return name_; }
- set {
- pb::Freezable.CheckMutable(this);
- name_ = value ?? "";
- }
- }
-
- public const int MethodsFieldNumber = 2;
- private static readonly pb::FieldCodec<global::Google.Protobuf.WellKnownTypes.Method> _repeated_methods_codec
- = pb::FieldCodec.ForMessage(18, global::Google.Protobuf.WellKnownTypes.Method.Parser);
- private readonly pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Method> methods_ = new pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Method>();
- public pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Method> Methods {
- get { return methods_; }
- }
-
- public const int OptionsFieldNumber = 3;
- private static readonly pb::FieldCodec<global::Google.Protobuf.WellKnownTypes.Option> _repeated_options_codec
- = pb::FieldCodec.ForMessage(26, global::Google.Protobuf.WellKnownTypes.Option.Parser);
- private readonly pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Option> options_ = new pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Option>();
- public pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Option> Options {
- get { return options_; }
- }
-
- public const int VersionFieldNumber = 4;
- private string version_ = "";
- public string Version {
- get { return version_; }
- set {
- pb::Freezable.CheckMutable(this);
- version_ = value ?? "";
- }
- }
-
- public const int SourceContextFieldNumber = 5;
- private global::Google.Protobuf.WellKnownTypes.SourceContext sourceContext_;
- public global::Google.Protobuf.WellKnownTypes.SourceContext SourceContext {
- get { return sourceContext_; }
- set {
- pb::Freezable.CheckMutable(this);
- sourceContext_ = value;
- }
- }
-
- public override bool Equals(object other) {
- return Equals(other as Api);
- }
-
- public bool Equals(Api other) {
- if (ReferenceEquals(other, null)) {
- return false;
- }
- if (ReferenceEquals(other, this)) {
- return true;
- }
- if (Name != other.Name) return false;
- if(!methods_.Equals(other.methods_)) return false;
- if(!options_.Equals(other.options_)) return false;
- if (Version != other.Version) return false;
- if (!object.Equals(SourceContext, other.SourceContext)) return false;
- return true;
- }
-
- public override int GetHashCode() {
- int hash = 1;
- if (Name.Length != 0) hash ^= Name.GetHashCode();
- hash ^= methods_.GetHashCode();
- hash ^= options_.GetHashCode();
- if (Version.Length != 0) hash ^= Version.GetHashCode();
- if (sourceContext_ != null) hash ^= SourceContext.GetHashCode();
- return hash;
- }
-
- public override string ToString() {
- return pb::JsonFormatter.Default.Format(this);
- }
-
- public void WriteTo(pb::CodedOutputStream output) {
- if (Name.Length != 0) {
- output.WriteRawTag(10);
- output.WriteString(Name);
- }
- methods_.WriteTo(output, _repeated_methods_codec);
- options_.WriteTo(output, _repeated_options_codec);
- if (Version.Length != 0) {
- output.WriteRawTag(34);
- output.WriteString(Version);
- }
- if (sourceContext_ != null) {
- output.WriteRawTag(42);
- output.WriteMessage(SourceContext);
- }
- }
-
- public int CalculateSize() {
- int size = 0;
- if (Name.Length != 0) {
- size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
- }
- size += methods_.CalculateSize(_repeated_methods_codec);
- size += options_.CalculateSize(_repeated_options_codec);
- if (Version.Length != 0) {
- size += 1 + pb::CodedOutputStream.ComputeStringSize(Version);
- }
- if (sourceContext_ != null) {
- size += 1 + pb::CodedOutputStream.ComputeMessageSize(SourceContext);
- }
- return size;
- }
-
- public void MergeFrom(Api other) {
- if (other == null) {
- return;
- }
- if (other.Name.Length != 0) {
- Name = other.Name;
- }
- methods_.Add(other.methods_);
- options_.Add(other.options_);
- if (other.Version.Length != 0) {
- Version = other.Version;
- }
- if (other.sourceContext_ != null) {
- if (sourceContext_ == null) {
- sourceContext_ = new global::Google.Protobuf.WellKnownTypes.SourceContext();
- }
- SourceContext.MergeFrom(other.SourceContext);
- }
- }
-
- public void MergeFrom(pb::CodedInputStream input) {
- uint tag;
- while (input.ReadTag(out tag)) {
- switch(tag) {
- case 0:
- throw pb::InvalidProtocolBufferException.InvalidTag();
- default:
- if (pb::WireFormat.IsEndGroupTag(tag)) {
- return;
- }
- break;
- case 10: {
- Name = input.ReadString();
- break;
- }
- case 18: {
- methods_.AddEntriesFrom(input, _repeated_methods_codec);
- break;
- }
- case 26: {
- options_.AddEntriesFrom(input, _repeated_options_codec);
- break;
- }
- case 34: {
- Version = input.ReadString();
- break;
- }
- case 42: {
- if (sourceContext_ == null) {
- sourceContext_ = new global::Google.Protobuf.WellKnownTypes.SourceContext();
- }
- input.ReadMessage(sourceContext_);
- break;
- }
- }
- }
- }
-
- }
-
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- public sealed partial class Method : pb::IMessage<Method> {
- private static readonly pb::MessageParser<Method> _parser = new pb::MessageParser<Method>(() => new Method());
- public static pb::MessageParser<Method> Parser { get { return _parser; } }
-
- private static readonly string[] _fieldNames = new string[] { "name", "options", "request_streaming", "request_type_url", "response_streaming", "response_type_url" };
- private static readonly uint[] _fieldTags = new uint[] { 10, 50, 24, 18, 40, 34 };
- public static pbr::MessageDescriptor Descriptor {
- get { return global::Google.Protobuf.WellKnownTypes.Proto.Api.Descriptor.MessageTypes[1]; }
- }
-
- pbr::FieldAccessorTable pb::IReflectedMessage.Fields {
- get { return global::Google.Protobuf.WellKnownTypes.Proto.Api.internal__static_google_protobuf_Method__FieldAccessorTable; }
- }
-
- private bool _frozen = false;
- public bool IsFrozen { get { return _frozen; } }
-
- public Method() {
- OnConstruction();
- }
-
- partial void OnConstruction();
-
- public Method(Method other) : this() {
- name_ = other.name_;
- requestTypeUrl_ = other.requestTypeUrl_;
- requestStreaming_ = other.requestStreaming_;
- responseTypeUrl_ = other.responseTypeUrl_;
- responseStreaming_ = other.responseStreaming_;
- options_ = other.options_.Clone();
- }
-
- public Method Clone() {
- return new Method(this);
- }
-
- public void Freeze() {
- if (IsFrozen) {
- return;
- }
- _frozen = true;
- options_.Freeze();
- }
-
- public const int NameFieldNumber = 1;
- private string name_ = "";
- public string Name {
- get { return name_; }
- set {
- pb::Freezable.CheckMutable(this);
- name_ = value ?? "";
- }
- }
-
- public const int RequestTypeUrlFieldNumber = 2;
- private string requestTypeUrl_ = "";
- public string RequestTypeUrl {
- get { return requestTypeUrl_; }
- set {
- pb::Freezable.CheckMutable(this);
- requestTypeUrl_ = value ?? "";
- }
- }
-
- public const int RequestStreamingFieldNumber = 3;
- private bool requestStreaming_;
- public bool RequestStreaming {
- get { return requestStreaming_; }
- set {
- pb::Freezable.CheckMutable(this);
- requestStreaming_ = value;
- }
- }
-
- public const int ResponseTypeUrlFieldNumber = 4;
- private string responseTypeUrl_ = "";
- public string ResponseTypeUrl {
- get { return responseTypeUrl_; }
- set {
- pb::Freezable.CheckMutable(this);
- responseTypeUrl_ = value ?? "";
- }
- }
-
- public const int ResponseStreamingFieldNumber = 5;
- private bool responseStreaming_;
- public bool ResponseStreaming {
- get { return responseStreaming_; }
- set {
- pb::Freezable.CheckMutable(this);
- responseStreaming_ = value;
- }
- }
-
- public const int OptionsFieldNumber = 6;
- private static readonly pb::FieldCodec<global::Google.Protobuf.WellKnownTypes.Option> _repeated_options_codec
- = pb::FieldCodec.ForMessage(50, global::Google.Protobuf.WellKnownTypes.Option.Parser);
- private readonly pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Option> options_ = new pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Option>();
- public pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Option> Options {
- get { return options_; }
- }
-
- public override bool Equals(object other) {
- return Equals(other as Method);
- }
-
- public bool Equals(Method other) {
- if (ReferenceEquals(other, null)) {
- return false;
- }
- if (ReferenceEquals(other, this)) {
- return true;
- }
- if (Name != other.Name) return false;
- if (RequestTypeUrl != other.RequestTypeUrl) return false;
- if (RequestStreaming != other.RequestStreaming) return false;
- if (ResponseTypeUrl != other.ResponseTypeUrl) return false;
- if (ResponseStreaming != other.ResponseStreaming) return false;
- if(!options_.Equals(other.options_)) return false;
- return true;
- }
-
- public override int GetHashCode() {
- int hash = 1;
- if (Name.Length != 0) hash ^= Name.GetHashCode();
- if (RequestTypeUrl.Length != 0) hash ^= RequestTypeUrl.GetHashCode();
- if (RequestStreaming != false) hash ^= RequestStreaming.GetHashCode();
- if (ResponseTypeUrl.Length != 0) hash ^= ResponseTypeUrl.GetHashCode();
- if (ResponseStreaming != false) hash ^= ResponseStreaming.GetHashCode();
- hash ^= options_.GetHashCode();
- return hash;
- }
-
- public override string ToString() {
- return pb::JsonFormatter.Default.Format(this);
- }
-
- public void WriteTo(pb::CodedOutputStream output) {
- if (Name.Length != 0) {
- output.WriteRawTag(10);
- output.WriteString(Name);
- }
- if (RequestTypeUrl.Length != 0) {
- output.WriteRawTag(18);
- output.WriteString(RequestTypeUrl);
- }
- if (RequestStreaming != false) {
- output.WriteRawTag(24);
- output.WriteBool(RequestStreaming);
- }
- if (ResponseTypeUrl.Length != 0) {
- output.WriteRawTag(34);
- output.WriteString(ResponseTypeUrl);
- }
- if (ResponseStreaming != false) {
- output.WriteRawTag(40);
- output.WriteBool(ResponseStreaming);
- }
- options_.WriteTo(output, _repeated_options_codec);
- }
-
- public int CalculateSize() {
- int size = 0;
- if (Name.Length != 0) {
- size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
- }
- if (RequestTypeUrl.Length != 0) {
- size += 1 + pb::CodedOutputStream.ComputeStringSize(RequestTypeUrl);
- }
- if (RequestStreaming != false) {
- size += 1 + 1;
- }
- if (ResponseTypeUrl.Length != 0) {
- size += 1 + pb::CodedOutputStream.ComputeStringSize(ResponseTypeUrl);
- }
- if (ResponseStreaming != false) {
- size += 1 + 1;
- }
- size += options_.CalculateSize(_repeated_options_codec);
- return size;
- }
-
- public void MergeFrom(Method other) {
- if (other == null) {
- return;
- }
- if (other.Name.Length != 0) {
- Name = other.Name;
- }
- if (other.RequestTypeUrl.Length != 0) {
- RequestTypeUrl = other.RequestTypeUrl;
- }
- if (other.RequestStreaming != false) {
- RequestStreaming = other.RequestStreaming;
- }
- if (other.ResponseTypeUrl.Length != 0) {
- ResponseTypeUrl = other.ResponseTypeUrl;
- }
- if (other.ResponseStreaming != false) {
- ResponseStreaming = other.ResponseStreaming;
- }
- options_.Add(other.options_);
- }
-
- public void MergeFrom(pb::CodedInputStream input) {
- uint tag;
- while (input.ReadTag(out tag)) {
- switch(tag) {
- case 0:
- throw pb::InvalidProtocolBufferException.InvalidTag();
- default:
- if (pb::WireFormat.IsEndGroupTag(tag)) {
- return;
- }
- break;
- case 10: {
- Name = input.ReadString();
- break;
- }
- case 18: {
- RequestTypeUrl = input.ReadString();
- break;
- }
- case 24: {
- RequestStreaming = input.ReadBool();
- break;
- }
- case 34: {
- ResponseTypeUrl = input.ReadString();
- break;
- }
- case 40: {
- ResponseStreaming = input.ReadBool();
- break;
- }
- case 50: {
- options_.AddEntriesFrom(input, _repeated_options_codec);
- break;
- }
- }
- }
- }
-
- }
-
- #endregion
-
-}
-
-#endregion Designer generated code
diff --git a/csharp/src/ProtocolBuffers/WellKnownTypes/Duration.cs b/csharp/src/ProtocolBuffers/WellKnownTypes/Duration.cs
deleted file mode 100644
index fbc9c007..00000000
--- a/csharp/src/ProtocolBuffers/WellKnownTypes/Duration.cs
+++ /dev/null
@@ -1,196 +0,0 @@
-// Generated by the protocol buffer compiler. DO NOT EDIT!
-// source: google/protobuf/duration.proto
-#pragma warning disable 1591, 0612, 3021
-#region Designer generated code
-
-using pb = global::Google.Protobuf;
-using pbc = global::Google.Protobuf.Collections;
-using pbr = global::Google.Protobuf.Reflection;
-using scg = global::System.Collections.Generic;
-namespace Google.Protobuf.WellKnownTypes {
-
- namespace Proto {
-
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- public static partial class Duration {
-
- #region Static variables
- internal static pbr::FieldAccessorTable internal__static_google_protobuf_Duration__FieldAccessorTable;
- #endregion
- #region Descriptor
- public static pbr::FileDescriptor Descriptor {
- get { return descriptor; }
- }
- private static pbr::FileDescriptor descriptor;
-
- static Duration() {
- byte[] descriptorData = global::System.Convert.FromBase64String(
- string.Concat(
- "Ch5nb29nbGUvcHJvdG9idWYvZHVyYXRpb24ucHJvdG8SD2dvb2dsZS5wcm90",
- "b2J1ZiIqCghEdXJhdGlvbhIPCgdzZWNvbmRzGAEgASgDEg0KBW5hbm9zGAIg",
- "ASgFQlAKE2NvbS5nb29nbGUucHJvdG9idWZCDUR1cmF0aW9uUHJvdG9QAaAB",
- "AaICA0dQQqoCHkdvb2dsZS5Qcm90b2J1Zi5XZWxsS25vd25UeXBlc2IGcHJv",
- "dG8z"));
- descriptor = pbr::FileDescriptor.InternalBuildGeneratedFileFrom(descriptorData,
- new pbr::FileDescriptor[] {
- });
- internal__static_google_protobuf_Duration__FieldAccessorTable =
- new pbr::FieldAccessorTable(typeof(global::Google.Protobuf.WellKnownTypes.Duration), descriptor.MessageTypes[0],
- new string[] { "Seconds", "Nanos", }, new string[] { });
- }
- #endregion
-
- }
- }
- #region Messages
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- public sealed partial class Duration : pb::IMessage<Duration> {
- private static readonly pb::MessageParser<Duration> _parser = new pb::MessageParser<Duration>(() => new Duration());
- public static pb::MessageParser<Duration> Parser { get { return _parser; } }
-
- private static readonly string[] _fieldNames = new string[] { "nanos", "seconds" };
- private static readonly uint[] _fieldTags = new uint[] { 16, 8 };
- public static pbr::MessageDescriptor Descriptor {
- get { return global::Google.Protobuf.WellKnownTypes.Proto.Duration.Descriptor.MessageTypes[0]; }
- }
-
- pbr::FieldAccessorTable pb::IReflectedMessage.Fields {
- get { return global::Google.Protobuf.WellKnownTypes.Proto.Duration.internal__static_google_protobuf_Duration__FieldAccessorTable; }
- }
-
- private bool _frozen = false;
- public bool IsFrozen { get { return _frozen; } }
-
- public Duration() {
- OnConstruction();
- }
-
- partial void OnConstruction();
-
- public Duration(Duration other) : this() {
- seconds_ = other.seconds_;
- nanos_ = other.nanos_;
- }
-
- public Duration Clone() {
- return new Duration(this);
- }
-
- public void Freeze() {
- if (IsFrozen) {
- return;
- }
- _frozen = true;
- }
-
- public const int SecondsFieldNumber = 1;
- private long seconds_;
- public long Seconds {
- get { return seconds_; }
- set {
- pb::Freezable.CheckMutable(this);
- seconds_ = value;
- }
- }
-
- public const int NanosFieldNumber = 2;
- private int nanos_;
- public int Nanos {
- get { return nanos_; }
- set {
- pb::Freezable.CheckMutable(this);
- nanos_ = value;
- }
- }
-
- public override bool Equals(object other) {
- return Equals(other as Duration);
- }
-
- public bool Equals(Duration other) {
- if (ReferenceEquals(other, null)) {
- return false;
- }
- if (ReferenceEquals(other, this)) {
- return true;
- }
- if (Seconds != other.Seconds) return false;
- if (Nanos != other.Nanos) return false;
- return true;
- }
-
- public override int GetHashCode() {
- int hash = 1;
- if (Seconds != 0L) hash ^= Seconds.GetHashCode();
- if (Nanos != 0) hash ^= Nanos.GetHashCode();
- return hash;
- }
-
- public override string ToString() {
- return pb::JsonFormatter.Default.Format(this);
- }
-
- public void WriteTo(pb::CodedOutputStream output) {
- if (Seconds != 0L) {
- output.WriteRawTag(8);
- output.WriteInt64(Seconds);
- }
- if (Nanos != 0) {
- output.WriteRawTag(16);
- output.WriteInt32(Nanos);
- }
- }
-
- public int CalculateSize() {
- int size = 0;
- if (Seconds != 0L) {
- size += 1 + pb::CodedOutputStream.ComputeInt64Size(Seconds);
- }
- if (Nanos != 0) {
- size += 1 + pb::CodedOutputStream.ComputeInt32Size(Nanos);
- }
- return size;
- }
-
- public void MergeFrom(Duration other) {
- if (other == null) {
- return;
- }
- if (other.Seconds != 0L) {
- Seconds = other.Seconds;
- }
- if (other.Nanos != 0) {
- Nanos = other.Nanos;
- }
- }
-
- public void MergeFrom(pb::CodedInputStream input) {
- uint tag;
- while (input.ReadTag(out tag)) {
- switch(tag) {
- case 0:
- throw pb::InvalidProtocolBufferException.InvalidTag();
- default:
- if (pb::WireFormat.IsEndGroupTag(tag)) {
- return;
- }
- break;
- case 8: {
- Seconds = input.ReadInt64();
- break;
- }
- case 16: {
- Nanos = input.ReadInt32();
- break;
- }
- }
- }
- }
-
- }
-
- #endregion
-
-}
-
-#endregion Designer generated code
diff --git a/csharp/src/ProtocolBuffers/WellKnownTypes/Empty.cs b/csharp/src/ProtocolBuffers/WellKnownTypes/Empty.cs
deleted file mode 100644
index c2681e29..00000000
--- a/csharp/src/ProtocolBuffers/WellKnownTypes/Empty.cs
+++ /dev/null
@@ -1,141 +0,0 @@
-// Generated by the protocol buffer compiler. DO NOT EDIT!
-// source: google/protobuf/empty.proto
-#pragma warning disable 1591, 0612, 3021
-#region Designer generated code
-
-using pb = global::Google.Protobuf;
-using pbc = global::Google.Protobuf.Collections;
-using pbr = global::Google.Protobuf.Reflection;
-using scg = global::System.Collections.Generic;
-namespace Google.Protobuf.WellKnownTypes {
-
- namespace Proto {
-
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- public static partial class Empty {
-
- #region Static variables
- internal static pbr::FieldAccessorTable internal__static_google_protobuf_Empty__FieldAccessorTable;
- #endregion
- #region Descriptor
- public static pbr::FileDescriptor Descriptor {
- get { return descriptor; }
- }
- private static pbr::FileDescriptor descriptor;
-
- static Empty() {
- byte[] descriptorData = global::System.Convert.FromBase64String(
- string.Concat(
- "Chtnb29nbGUvcHJvdG9idWYvZW1wdHkucHJvdG8SD2dvb2dsZS5wcm90b2J1",
- "ZiIHCgVFbXB0eUJKChNjb20uZ29vZ2xlLnByb3RvYnVmQgpFbXB0eVByb3Rv",
- "UAGiAgNHUEKqAh5Hb29nbGUuUHJvdG9idWYuV2VsbEtub3duVHlwZXNiBnBy",
- "b3RvMw=="));
- descriptor = pbr::FileDescriptor.InternalBuildGeneratedFileFrom(descriptorData,
- new pbr::FileDescriptor[] {
- });
- internal__static_google_protobuf_Empty__FieldAccessorTable =
- new pbr::FieldAccessorTable(typeof(global::Google.Protobuf.WellKnownTypes.Empty), descriptor.MessageTypes[0],
- new string[] { }, new string[] { });
- }
- #endregion
-
- }
- }
- #region Messages
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- public sealed partial class Empty : pb::IMessage<Empty> {
- private static readonly pb::MessageParser<Empty> _parser = new pb::MessageParser<Empty>(() => new Empty());
- public static pb::MessageParser<Empty> Parser { get { return _parser; } }
-
- private static readonly string[] _fieldNames = new string[] { };
- private static readonly uint[] _fieldTags = new uint[] { };
- public static pbr::MessageDescriptor Descriptor {
- get { return global::Google.Protobuf.WellKnownTypes.Proto.Empty.Descriptor.MessageTypes[0]; }
- }
-
- pbr::FieldAccessorTable pb::IReflectedMessage.Fields {
- get { return global::Google.Protobuf.WellKnownTypes.Proto.Empty.internal__static_google_protobuf_Empty__FieldAccessorTable; }
- }
-
- private bool _frozen = false;
- public bool IsFrozen { get { return _frozen; } }
-
- public Empty() {
- OnConstruction();
- }
-
- partial void OnConstruction();
-
- public Empty(Empty other) : this() {
- }
-
- public Empty Clone() {
- return new Empty(this);
- }
-
- public void Freeze() {
- if (IsFrozen) {
- return;
- }
- _frozen = true;
- }
-
- public override bool Equals(object other) {
- return Equals(other as Empty);
- }
-
- public bool Equals(Empty other) {
- if (ReferenceEquals(other, null)) {
- return false;
- }
- if (ReferenceEquals(other, this)) {
- return true;
- }
- return true;
- }
-
- public override int GetHashCode() {
- int hash = 1;
- return hash;
- }
-
- public override string ToString() {
- return pb::JsonFormatter.Default.Format(this);
- }
-
- public void WriteTo(pb::CodedOutputStream output) {
- }
-
- public int CalculateSize() {
- int size = 0;
- return size;
- }
-
- public void MergeFrom(Empty other) {
- if (other == null) {
- return;
- }
- }
-
- public void MergeFrom(pb::CodedInputStream input) {
- uint tag;
- while (input.ReadTag(out tag)) {
- switch(tag) {
- case 0:
- throw pb::InvalidProtocolBufferException.InvalidTag();
- default:
- if (pb::WireFormat.IsEndGroupTag(tag)) {
- return;
- }
- break;
- }
- }
- }
-
- }
-
- #endregion
-
-}
-
-#endregion Designer generated code
diff --git a/csharp/src/ProtocolBuffers/WellKnownTypes/FieldMask.cs b/csharp/src/ProtocolBuffers/WellKnownTypes/FieldMask.cs
deleted file mode 100644
index 310c0d21..00000000
--- a/csharp/src/ProtocolBuffers/WellKnownTypes/FieldMask.cs
+++ /dev/null
@@ -1,160 +0,0 @@
-// Generated by the protocol buffer compiler. DO NOT EDIT!
-// source: google/protobuf/field_mask.proto
-#pragma warning disable 1591, 0612, 3021
-#region Designer generated code
-
-using pb = global::Google.Protobuf;
-using pbc = global::Google.Protobuf.Collections;
-using pbr = global::Google.Protobuf.Reflection;
-using scg = global::System.Collections.Generic;
-namespace Google.Protobuf.WellKnownTypes {
-
- namespace Proto {
-
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- public static partial class FieldMask {
-
- #region Static variables
- internal static pbr::FieldAccessorTable internal__static_google_protobuf_FieldMask__FieldAccessorTable;
- #endregion
- #region Descriptor
- public static pbr::FileDescriptor Descriptor {
- get { return descriptor; }
- }
- private static pbr::FileDescriptor descriptor;
-
- static FieldMask() {
- byte[] descriptorData = global::System.Convert.FromBase64String(
- string.Concat(
- "CiBnb29nbGUvcHJvdG9idWYvZmllbGRfbWFzay5wcm90bxIPZ29vZ2xlLnBy",
- "b3RvYnVmIhoKCUZpZWxkTWFzaxINCgVwYXRocxgBIAMoCUJOChNjb20uZ29v",
- "Z2xlLnByb3RvYnVmQg5GaWVsZE1hc2tQcm90b1ABogIDR1BCqgIeR29vZ2xl",
- "LlByb3RvYnVmLldlbGxLbm93blR5cGVzYgZwcm90bzM="));
- descriptor = pbr::FileDescriptor.InternalBuildGeneratedFileFrom(descriptorData,
- new pbr::FileDescriptor[] {
- });
- internal__static_google_protobuf_FieldMask__FieldAccessorTable =
- new pbr::FieldAccessorTable(typeof(global::Google.Protobuf.WellKnownTypes.FieldMask), descriptor.MessageTypes[0],
- new string[] { "Paths", }, new string[] { });
- }
- #endregion
-
- }
- }
- #region Messages
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- public sealed partial class FieldMask : pb::IMessage<FieldMask> {
- private static readonly pb::MessageParser<FieldMask> _parser = new pb::MessageParser<FieldMask>(() => new FieldMask());
- public static pb::MessageParser<FieldMask> Parser { get { return _parser; } }
-
- private static readonly string[] _fieldNames = new string[] { "paths" };
- private static readonly uint[] _fieldTags = new uint[] { 10 };
- public static pbr::MessageDescriptor Descriptor {
- get { return global::Google.Protobuf.WellKnownTypes.Proto.FieldMask.Descriptor.MessageTypes[0]; }
- }
-
- pbr::FieldAccessorTable pb::IReflectedMessage.Fields {
- get { return global::Google.Protobuf.WellKnownTypes.Proto.FieldMask.internal__static_google_protobuf_FieldMask__FieldAccessorTable; }
- }
-
- private bool _frozen = false;
- public bool IsFrozen { get { return _frozen; } }
-
- public FieldMask() {
- OnConstruction();
- }
-
- partial void OnConstruction();
-
- public FieldMask(FieldMask other) : this() {
- paths_ = other.paths_.Clone();
- }
-
- public FieldMask Clone() {
- return new FieldMask(this);
- }
-
- public void Freeze() {
- if (IsFrozen) {
- return;
- }
- _frozen = true;
- paths_.Freeze();
- }
-
- public const int PathsFieldNumber = 1;
- private static readonly pb::FieldCodec<string> _repeated_paths_codec
- = pb::FieldCodec.ForString(10);
- private readonly pbc::RepeatedField<string> paths_ = new pbc::RepeatedField<string>();
- public pbc::RepeatedField<string> Paths {
- get { return paths_; }
- }
-
- public override bool Equals(object other) {
- return Equals(other as FieldMask);
- }
-
- public bool Equals(FieldMask other) {
- if (ReferenceEquals(other, null)) {
- return false;
- }
- if (ReferenceEquals(other, this)) {
- return true;
- }
- if(!paths_.Equals(other.paths_)) return false;
- return true;
- }
-
- public override int GetHashCode() {
- int hash = 1;
- hash ^= paths_.GetHashCode();
- return hash;
- }
-
- public override string ToString() {
- return pb::JsonFormatter.Default.Format(this);
- }
-
- public void WriteTo(pb::CodedOutputStream output) {
- paths_.WriteTo(output, _repeated_paths_codec);
- }
-
- public int CalculateSize() {
- int size = 0;
- size += paths_.CalculateSize(_repeated_paths_codec);
- return size;
- }
-
- public void MergeFrom(FieldMask other) {
- if (other == null) {
- return;
- }
- paths_.Add(other.paths_);
- }
-
- public void MergeFrom(pb::CodedInputStream input) {
- uint tag;
- while (input.ReadTag(out tag)) {
- switch(tag) {
- case 0:
- throw pb::InvalidProtocolBufferException.InvalidTag();
- default:
- if (pb::WireFormat.IsEndGroupTag(tag)) {
- return;
- }
- break;
- case 10: {
- paths_.AddEntriesFrom(input, _repeated_paths_codec);
- break;
- }
- }
- }
- }
-
- }
-
- #endregion
-
-}
-
-#endregion Designer generated code
diff --git a/csharp/src/ProtocolBuffers/WellKnownTypes/SourceContext.cs b/csharp/src/ProtocolBuffers/WellKnownTypes/SourceContext.cs
deleted file mode 100644
index ee60fbe9..00000000
--- a/csharp/src/ProtocolBuffers/WellKnownTypes/SourceContext.cs
+++ /dev/null
@@ -1,169 +0,0 @@
-// Generated by the protocol buffer compiler. DO NOT EDIT!
-// source: google/protobuf/source_context.proto
-#pragma warning disable 1591, 0612, 3021
-#region Designer generated code
-
-using pb = global::Google.Protobuf;
-using pbc = global::Google.Protobuf.Collections;
-using pbr = global::Google.Protobuf.Reflection;
-using scg = global::System.Collections.Generic;
-namespace Google.Protobuf.WellKnownTypes {
-
- namespace Proto {
-
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- public static partial class SourceContext {
-
- #region Static variables
- internal static pbr::FieldAccessorTable internal__static_google_protobuf_SourceContext__FieldAccessorTable;
- #endregion
- #region Descriptor
- public static pbr::FileDescriptor Descriptor {
- get { return descriptor; }
- }
- private static pbr::FileDescriptor descriptor;
-
- static SourceContext() {
- byte[] descriptorData = global::System.Convert.FromBase64String(
- string.Concat(
- "CiRnb29nbGUvcHJvdG9idWYvc291cmNlX2NvbnRleHQucHJvdG8SD2dvb2ds",
- "ZS5wcm90b2J1ZiIiCg1Tb3VyY2VDb250ZXh0EhEKCWZpbGVfbmFtZRgBIAEo",
- "CUJSChNjb20uZ29vZ2xlLnByb3RvYnVmQhJTb3VyY2VDb250ZXh0UHJvdG9Q",
- "AaICA0dQQqoCHkdvb2dsZS5Qcm90b2J1Zi5XZWxsS25vd25UeXBlc2IGcHJv",
- "dG8z"));
- descriptor = pbr::FileDescriptor.InternalBuildGeneratedFileFrom(descriptorData,
- new pbr::FileDescriptor[] {
- });
- internal__static_google_protobuf_SourceContext__FieldAccessorTable =
- new pbr::FieldAccessorTable(typeof(global::Google.Protobuf.WellKnownTypes.SourceContext), descriptor.MessageTypes[0],
- new string[] { "FileName", }, new string[] { });
- }
- #endregion
-
- }
- }
- #region Messages
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- public sealed partial class SourceContext : pb::IMessage<SourceContext> {
- private static readonly pb::MessageParser<SourceContext> _parser = new pb::MessageParser<SourceContext>(() => new SourceContext());
- public static pb::MessageParser<SourceContext> Parser { get { return _parser; } }
-
- private static readonly string[] _fieldNames = new string[] { "file_name" };
- private static readonly uint[] _fieldTags = new uint[] { 10 };
- public static pbr::MessageDescriptor Descriptor {
- get { return global::Google.Protobuf.WellKnownTypes.Proto.SourceContext.Descriptor.MessageTypes[0]; }
- }
-
- pbr::FieldAccessorTable pb::IReflectedMessage.Fields {
- get { return global::Google.Protobuf.WellKnownTypes.Proto.SourceContext.internal__static_google_protobuf_SourceContext__FieldAccessorTable; }
- }
-
- private bool _frozen = false;
- public bool IsFrozen { get { return _frozen; } }
-
- public SourceContext() {
- OnConstruction();
- }
-
- partial void OnConstruction();
-
- public SourceContext(SourceContext other) : this() {
- fileName_ = other.fileName_;
- }
-
- public SourceContext Clone() {
- return new SourceContext(this);
- }
-
- public void Freeze() {
- if (IsFrozen) {
- return;
- }
- _frozen = true;
- }
-
- public const int FileNameFieldNumber = 1;
- private string fileName_ = "";
- public string FileName {
- get { return fileName_; }
- set {
- pb::Freezable.CheckMutable(this);
- fileName_ = value ?? "";
- }
- }
-
- public override bool Equals(object other) {
- return Equals(other as SourceContext);
- }
-
- public bool Equals(SourceContext other) {
- if (ReferenceEquals(other, null)) {
- return false;
- }
- if (ReferenceEquals(other, this)) {
- return true;
- }
- if (FileName != other.FileName) return false;
- return true;
- }
-
- public override int GetHashCode() {
- int hash = 1;
- if (FileName.Length != 0) hash ^= FileName.GetHashCode();
- return hash;
- }
-
- public override string ToString() {
- return pb::JsonFormatter.Default.Format(this);
- }
-
- public void WriteTo(pb::CodedOutputStream output) {
- if (FileName.Length != 0) {
- output.WriteRawTag(10);
- output.WriteString(FileName);
- }
- }
-
- public int CalculateSize() {
- int size = 0;
- if (FileName.Length != 0) {
- size += 1 + pb::CodedOutputStream.ComputeStringSize(FileName);
- }
- return size;
- }
-
- public void MergeFrom(SourceContext other) {
- if (other == null) {
- return;
- }
- if (other.FileName.Length != 0) {
- FileName = other.FileName;
- }
- }
-
- public void MergeFrom(pb::CodedInputStream input) {
- uint tag;
- while (input.ReadTag(out tag)) {
- switch(tag) {
- case 0:
- throw pb::InvalidProtocolBufferException.InvalidTag();
- default:
- if (pb::WireFormat.IsEndGroupTag(tag)) {
- return;
- }
- break;
- case 10: {
- FileName = input.ReadString();
- break;
- }
- }
- }
- }
-
- }
-
- #endregion
-
-}
-
-#endregion Designer generated code
diff --git a/csharp/src/ProtocolBuffers/WellKnownTypes/Struct.cs b/csharp/src/ProtocolBuffers/WellKnownTypes/Struct.cs
deleted file mode 100644
index 99f88a96..00000000
--- a/csharp/src/ProtocolBuffers/WellKnownTypes/Struct.cs
+++ /dev/null
@@ -1,601 +0,0 @@
-// Generated by the protocol buffer compiler. DO NOT EDIT!
-// source: google/protobuf/struct.proto
-#pragma warning disable 1591, 0612, 3021
-#region Designer generated code
-
-using pb = global::Google.Protobuf;
-using pbc = global::Google.Protobuf.Collections;
-using pbr = global::Google.Protobuf.Reflection;
-using scg = global::System.Collections.Generic;
-namespace Google.Protobuf.WellKnownTypes {
-
- namespace Proto {
-
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- public static partial class Struct {
-
- #region Static variables
- internal static pbr::FieldAccessorTable internal__static_google_protobuf_Struct__FieldAccessorTable;
- internal static pbr::FieldAccessorTable internal__static_google_protobuf_Value__FieldAccessorTable;
- internal static pbr::FieldAccessorTable internal__static_google_protobuf_ListValue__FieldAccessorTable;
- #endregion
- #region Descriptor
- public static pbr::FileDescriptor Descriptor {
- get { return descriptor; }
- }
- private static pbr::FileDescriptor descriptor;
-
- static Struct() {
- byte[] descriptorData = global::System.Convert.FromBase64String(
- string.Concat(
- "Chxnb29nbGUvcHJvdG9idWYvc3RydWN0LnByb3RvEg9nb29nbGUucHJvdG9i",
- "dWYihAEKBlN0cnVjdBIzCgZmaWVsZHMYASADKAsyIy5nb29nbGUucHJvdG9i",
- "dWYuU3RydWN0LkZpZWxkc0VudHJ5GkUKC0ZpZWxkc0VudHJ5EgsKA2tleRgB",
- "IAEoCRIlCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZToC",
- "OAEi6gEKBVZhbHVlEjAKCm51bGxfdmFsdWUYASABKA4yGi5nb29nbGUucHJv",
- "dG9idWYuTnVsbFZhbHVlSAASFgoMbnVtYmVyX3ZhbHVlGAIgASgBSAASFgoM",
- "c3RyaW5nX3ZhbHVlGAMgASgJSAASFAoKYm9vbF92YWx1ZRgEIAEoCEgAEi8K",
- "DHN0cnVjdF92YWx1ZRgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RI",
- "ABIwCgpsaXN0X3ZhbHVlGAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLkxpc3RW",
- "YWx1ZUgAQgYKBGtpbmQiMwoJTGlzdFZhbHVlEiYKBnZhbHVlcxgBIAMoCzIW",
- "Lmdvb2dsZS5wcm90b2J1Zi5WYWx1ZSobCglOdWxsVmFsdWUSDgoKTlVMTF9W",
- "QUxVRRAAQk4KE2NvbS5nb29nbGUucHJvdG9idWZCC1N0cnVjdFByb3RvUAGg",
- "AQGiAgNHUEKqAh5Hb29nbGUuUHJvdG9idWYuV2VsbEtub3duVHlwZXNiBnBy",
- "b3RvMw=="));
- descriptor = pbr::FileDescriptor.InternalBuildGeneratedFileFrom(descriptorData,
- new pbr::FileDescriptor[] {
- });
- internal__static_google_protobuf_Struct__FieldAccessorTable =
- new pbr::FieldAccessorTable(typeof(global::Google.Protobuf.WellKnownTypes.Struct), descriptor.MessageTypes[0],
- new string[] { "Fields", }, new string[] { });
- internal__static_google_protobuf_Value__FieldAccessorTable =
- new pbr::FieldAccessorTable(typeof(global::Google.Protobuf.WellKnownTypes.Value), descriptor.MessageTypes[1],
- new string[] { "NullValue", "NumberValue", "StringValue", "BoolValue", "StructValue", "ListValue", }, new string[] { "Kind", });
- internal__static_google_protobuf_ListValue__FieldAccessorTable =
- new pbr::FieldAccessorTable(typeof(global::Google.Protobuf.WellKnownTypes.ListValue), descriptor.MessageTypes[2],
- new string[] { "Values", }, new string[] { });
- }
- #endregion
-
- }
- }
- #region Enums
- public enum NullValue {
- NULL_VALUE = 0,
- }
-
- #endregion
-
- #region Messages
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- public sealed partial class Struct : pb::IMessage<Struct> {
- private static readonly pb::MessageParser<Struct> _parser = new pb::MessageParser<Struct>(() => new Struct());
- public static pb::MessageParser<Struct> Parser { get { return _parser; } }
-
- private static readonly string[] _fieldNames = new string[] { "fields" };
- private static readonly uint[] _fieldTags = new uint[] { 10 };
- public static pbr::MessageDescriptor Descriptor {
- get { return global::Google.Protobuf.WellKnownTypes.Proto.Struct.Descriptor.MessageTypes[0]; }
- }
-
- pbr::FieldAccessorTable pb::IReflectedMessage.Fields {
- get { return global::Google.Protobuf.WellKnownTypes.Proto.Struct.internal__static_google_protobuf_Struct__FieldAccessorTable; }
- }
-
- private bool _frozen = false;
- public bool IsFrozen { get { return _frozen; } }
-
- public Struct() {
- OnConstruction();
- }
-
- partial void OnConstruction();
-
- public Struct(Struct other) : this() {
- fields_ = other.fields_.Clone();
- }
-
- public Struct Clone() {
- return new Struct(this);
- }
-
- public void Freeze() {
- if (IsFrozen) {
- return;
- }
- _frozen = true;
- fields_.Freeze();
- }
-
- public const int FieldsFieldNumber = 1;
- private static readonly pbc::MapField<string, global::Google.Protobuf.WellKnownTypes.Value>.Codec _map_fields_codec
- = new pbc::MapField<string, global::Google.Protobuf.WellKnownTypes.Value>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForMessage(18, global::Google.Protobuf.WellKnownTypes.Value.Parser), 10);
- private readonly pbc::MapField<string, global::Google.Protobuf.WellKnownTypes.Value> fields_ = new pbc::MapField<string, global::Google.Protobuf.WellKnownTypes.Value>();
- public pbc::MapField<string, global::Google.Protobuf.WellKnownTypes.Value> Fields {
- get { return fields_; }
- }
-
- public override bool Equals(object other) {
- return Equals(other as Struct);
- }
-
- public bool Equals(Struct other) {
- if (ReferenceEquals(other, null)) {
- return false;
- }
- if (ReferenceEquals(other, this)) {
- return true;
- }
- if (!Fields.Equals(other.Fields)) return false;
- return true;
- }
-
- public override int GetHashCode() {
- int hash = 1;
- hash ^= Fields.GetHashCode();
- return hash;
- }
-
- public override string ToString() {
- return pb::JsonFormatter.Default.Format(this);
- }
-
- public void WriteTo(pb::CodedOutputStream output) {
- fields_.WriteTo(output, _map_fields_codec);
- }
-
- public int CalculateSize() {
- int size = 0;
- size += fields_.CalculateSize(_map_fields_codec);
- return size;
- }
-
- public void MergeFrom(Struct other) {
- if (other == null) {
- return;
- }
- fields_.Add(other.fields_);
- }
-
- public void MergeFrom(pb::CodedInputStream input) {
- uint tag;
- while (input.ReadTag(out tag)) {
- switch(tag) {
- case 0:
- throw pb::InvalidProtocolBufferException.InvalidTag();
- default:
- if (pb::WireFormat.IsEndGroupTag(tag)) {
- return;
- }
- break;
- case 10: {
- fields_.AddEntriesFrom(input, _map_fields_codec);
- break;
- }
- }
- }
- }
-
- }
-
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- public sealed partial class Value : pb::IMessage<Value> {
- private static readonly pb::MessageParser<Value> _parser = new pb::MessageParser<Value>(() => new Value());
- public static pb::MessageParser<Value> Parser { get { return _parser; } }
-
- private static readonly string[] _fieldNames = new string[] { "bool_value", "list_value", "null_value", "number_value", "string_value", "struct_value" };
- private static readonly uint[] _fieldTags = new uint[] { 32, 50, 8, 17, 26, 42 };
- public static pbr::MessageDescriptor Descriptor {
- get { return global::Google.Protobuf.WellKnownTypes.Proto.Struct.Descriptor.MessageTypes[1]; }
- }
-
- pbr::FieldAccessorTable pb::IReflectedMessage.Fields {
- get { return global::Google.Protobuf.WellKnownTypes.Proto.Struct.internal__static_google_protobuf_Value__FieldAccessorTable; }
- }
-
- private bool _frozen = false;
- public bool IsFrozen { get { return _frozen; } }
-
- public Value() {
- OnConstruction();
- }
-
- partial void OnConstruction();
-
- public Value(Value other) : this() {
- switch (other.KindCase) {
- case KindOneofCase.NullValue:
- NullValue = other.NullValue;
- break;
- case KindOneofCase.NumberValue:
- NumberValue = other.NumberValue;
- break;
- case KindOneofCase.StringValue:
- StringValue = other.StringValue;
- break;
- case KindOneofCase.BoolValue:
- BoolValue = other.BoolValue;
- break;
- case KindOneofCase.StructValue:
- StructValue = other.StructValue.Clone();
- break;
- case KindOneofCase.ListValue:
- ListValue = other.ListValue.Clone();
- break;
- }
-
- }
-
- public Value Clone() {
- return new Value(this);
- }
-
- public void Freeze() {
- if (IsFrozen) {
- return;
- }
- _frozen = true;
- if (kind_ is IFreezable) ((IFreezable) kind_).Freeze();
- }
-
- public const int NullValueFieldNumber = 1;
- public global::Google.Protobuf.WellKnownTypes.NullValue NullValue {
- get { return kindCase_ == KindOneofCase.NullValue ? (global::Google.Protobuf.WellKnownTypes.NullValue) kind_ : global::Google.Protobuf.WellKnownTypes.NullValue.NULL_VALUE; }
- set {
- pb::Freezable.CheckMutable(this);
- kind_ = value;
- kindCase_ = KindOneofCase.NullValue;
- }
- }
-
- public const int NumberValueFieldNumber = 2;
- public double NumberValue {
- get { return kindCase_ == KindOneofCase.NumberValue ? (double) kind_ : 0D; }
- set {
- pb::Freezable.CheckMutable(this);
- kind_ = value;
- kindCase_ = KindOneofCase.NumberValue;
- }
- }
-
- public const int StringValueFieldNumber = 3;
- public string StringValue {
- get { return kindCase_ == KindOneofCase.StringValue ? (string) kind_ : ""; }
- set {
- pb::Freezable.CheckMutable(this);
- kind_ = value ?? "";
- kindCase_ = KindOneofCase.StringValue;
- }
- }
-
- public const int BoolValueFieldNumber = 4;
- public bool BoolValue {
- get { return kindCase_ == KindOneofCase.BoolValue ? (bool) kind_ : false; }
- set {
- pb::Freezable.CheckMutable(this);
- kind_ = value;
- kindCase_ = KindOneofCase.BoolValue;
- }
- }
-
- public const int StructValueFieldNumber = 5;
- public global::Google.Protobuf.WellKnownTypes.Struct StructValue {
- get { return kindCase_ == KindOneofCase.StructValue ? (global::Google.Protobuf.WellKnownTypes.Struct) kind_ : null; }
- set {
- pb::Freezable.CheckMutable(this);
- kind_ = value;
- kindCase_ = value == null ? KindOneofCase.None : KindOneofCase.StructValue;
- }
- }
-
- public const int ListValueFieldNumber = 6;
- public global::Google.Protobuf.WellKnownTypes.ListValue ListValue {
- get { return kindCase_ == KindOneofCase.ListValue ? (global::Google.Protobuf.WellKnownTypes.ListValue) kind_ : null; }
- set {
- pb::Freezable.CheckMutable(this);
- kind_ = value;
- kindCase_ = value == null ? KindOneofCase.None : KindOneofCase.ListValue;
- }
- }
-
- private object kind_;
- public enum KindOneofCase {
- None = 0,
- NullValue = 1,
- NumberValue = 2,
- StringValue = 3,
- BoolValue = 4,
- StructValue = 5,
- ListValue = 6,
- }
- private KindOneofCase kindCase_ = KindOneofCase.None;
- public KindOneofCase KindCase {
- get { return kindCase_; }
- }
-
- public void ClearKind() {
- pb::Freezable.CheckMutable(this);
- kindCase_ = KindOneofCase.None;
- kind_ = null;
- }
-
- public override bool Equals(object other) {
- return Equals(other as Value);
- }
-
- public bool Equals(Value other) {
- if (ReferenceEquals(other, null)) {
- return false;
- }
- if (ReferenceEquals(other, this)) {
- return true;
- }
- if (NullValue != other.NullValue) return false;
- if (NumberValue != other.NumberValue) return false;
- if (StringValue != other.StringValue) return false;
- if (BoolValue != other.BoolValue) return false;
- if (!object.Equals(StructValue, other.StructValue)) return false;
- if (!object.Equals(ListValue, other.ListValue)) return false;
- return true;
- }
-
- public override int GetHashCode() {
- int hash = 1;
- if (kindCase_ == KindOneofCase.NullValue) hash ^= NullValue.GetHashCode();
- if (kindCase_ == KindOneofCase.NumberValue) hash ^= NumberValue.GetHashCode();
- if (kindCase_ == KindOneofCase.StringValue) hash ^= StringValue.GetHashCode();
- if (kindCase_ == KindOneofCase.BoolValue) hash ^= BoolValue.GetHashCode();
- if (kindCase_ == KindOneofCase.StructValue) hash ^= StructValue.GetHashCode();
- if (kindCase_ == KindOneofCase.ListValue) hash ^= ListValue.GetHashCode();
- return hash;
- }
-
- public override string ToString() {
- return pb::JsonFormatter.Default.Format(this);
- }
-
- public void WriteTo(pb::CodedOutputStream output) {
- if (kindCase_ == KindOneofCase.NullValue) {
- output.WriteRawTag(8);
- output.WriteEnum((int) NullValue);
- }
- if (kindCase_ == KindOneofCase.NumberValue) {
- output.WriteRawTag(17);
- output.WriteDouble(NumberValue);
- }
- if (kindCase_ == KindOneofCase.StringValue) {
- output.WriteRawTag(26);
- output.WriteString(StringValue);
- }
- if (kindCase_ == KindOneofCase.BoolValue) {
- output.WriteRawTag(32);
- output.WriteBool(BoolValue);
- }
- if (kindCase_ == KindOneofCase.StructValue) {
- output.WriteRawTag(42);
- output.WriteMessage(StructValue);
- }
- if (kindCase_ == KindOneofCase.ListValue) {
- output.WriteRawTag(50);
- output.WriteMessage(ListValue);
- }
- }
-
- public int CalculateSize() {
- int size = 0;
- if (kindCase_ == KindOneofCase.NullValue) {
- size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) NullValue);
- }
- if (kindCase_ == KindOneofCase.NumberValue) {
- size += 1 + 8;
- }
- if (kindCase_ == KindOneofCase.StringValue) {
- size += 1 + pb::CodedOutputStream.ComputeStringSize(StringValue);
- }
- if (kindCase_ == KindOneofCase.BoolValue) {
- size += 1 + 1;
- }
- if (kindCase_ == KindOneofCase.StructValue) {
- size += 1 + pb::CodedOutputStream.ComputeMessageSize(StructValue);
- }
- if (kindCase_ == KindOneofCase.ListValue) {
- size += 1 + pb::CodedOutputStream.ComputeMessageSize(ListValue);
- }
- return size;
- }
-
- public void MergeFrom(Value other) {
- if (other == null) {
- return;
- }
- switch (other.KindCase) {
- case KindOneofCase.NullValue:
- NullValue = other.NullValue;
- break;
- case KindOneofCase.NumberValue:
- NumberValue = other.NumberValue;
- break;
- case KindOneofCase.StringValue:
- StringValue = other.StringValue;
- break;
- case KindOneofCase.BoolValue:
- BoolValue = other.BoolValue;
- break;
- case KindOneofCase.StructValue:
- StructValue = other.StructValue;
- break;
- case KindOneofCase.ListValue:
- ListValue = other.ListValue;
- break;
- }
-
- }
-
- public void MergeFrom(pb::CodedInputStream input) {
- uint tag;
- while (input.ReadTag(out tag)) {
- switch(tag) {
- case 0:
- throw pb::InvalidProtocolBufferException.InvalidTag();
- default:
- if (pb::WireFormat.IsEndGroupTag(tag)) {
- return;
- }
- break;
- case 8: {
- kind_ = input.ReadEnum();
- kindCase_ = KindOneofCase.NullValue;
- break;
- }
- case 17: {
- NumberValue = input.ReadDouble();
- break;
- }
- case 26: {
- StringValue = input.ReadString();
- break;
- }
- case 32: {
- BoolValue = input.ReadBool();
- break;
- }
- case 42: {
- global::Google.Protobuf.WellKnownTypes.Struct subBuilder = new global::Google.Protobuf.WellKnownTypes.Struct();
- if (kindCase_ == KindOneofCase.StructValue) {
- subBuilder.MergeFrom(StructValue);
- }
- input.ReadMessage(subBuilder);
- StructValue = subBuilder;
- break;
- }
- case 50: {
- global::Google.Protobuf.WellKnownTypes.ListValue subBuilder = new global::Google.Protobuf.WellKnownTypes.ListValue();
- if (kindCase_ == KindOneofCase.ListValue) {
- subBuilder.MergeFrom(ListValue);
- }
- input.ReadMessage(subBuilder);
- ListValue = subBuilder;
- break;
- }
- }
- }
- }
-
- }
-
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- public sealed partial class ListValue : pb::IMessage<ListValue> {
- private static readonly pb::MessageParser<ListValue> _parser = new pb::MessageParser<ListValue>(() => new ListValue());
- public static pb::MessageParser<ListValue> Parser { get { return _parser; } }
-
- private static readonly string[] _fieldNames = new string[] { "values" };
- private static readonly uint[] _fieldTags = new uint[] { 10 };
- public static pbr::MessageDescriptor Descriptor {
- get { return global::Google.Protobuf.WellKnownTypes.Proto.Struct.Descriptor.MessageTypes[2]; }
- }
-
- pbr::FieldAccessorTable pb::IReflectedMessage.Fields {
- get { return global::Google.Protobuf.WellKnownTypes.Proto.Struct.internal__static_google_protobuf_ListValue__FieldAccessorTable; }
- }
-
- private bool _frozen = false;
- public bool IsFrozen { get { return _frozen; } }
-
- public ListValue() {
- OnConstruction();
- }
-
- partial void OnConstruction();
-
- public ListValue(ListValue other) : this() {
- values_ = other.values_.Clone();
- }
-
- public ListValue Clone() {
- return new ListValue(this);
- }
-
- public void Freeze() {
- if (IsFrozen) {
- return;
- }
- _frozen = true;
- values_.Freeze();
- }
-
- public const int ValuesFieldNumber = 1;
- private static readonly pb::FieldCodec<global::Google.Protobuf.WellKnownTypes.Value> _repeated_values_codec
- = pb::FieldCodec.ForMessage(10, global::Google.Protobuf.WellKnownTypes.Value.Parser);
- private readonly pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Value> values_ = new pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Value>();
- public pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Value> Values {
- get { return values_; }
- }
-
- public override bool Equals(object other) {
- return Equals(other as ListValue);
- }
-
- public bool Equals(ListValue other) {
- if (ReferenceEquals(other, null)) {
- return false;
- }
- if (ReferenceEquals(other, this)) {
- return true;
- }
- if(!values_.Equals(other.values_)) return false;
- return true;
- }
-
- public override int GetHashCode() {
- int hash = 1;
- hash ^= values_.GetHashCode();
- return hash;
- }
-
- public override string ToString() {
- return pb::JsonFormatter.Default.Format(this);
- }
-
- public void WriteTo(pb::CodedOutputStream output) {
- values_.WriteTo(output, _repeated_values_codec);
- }
-
- public int CalculateSize() {
- int size = 0;
- size += values_.CalculateSize(_repeated_values_codec);
- return size;
- }
-
- public void MergeFrom(ListValue other) {
- if (other == null) {
- return;
- }
- values_.Add(other.values_);
- }
-
- public void MergeFrom(pb::CodedInputStream input) {
- uint tag;
- while (input.ReadTag(out tag)) {
- switch(tag) {
- case 0:
- throw pb::InvalidProtocolBufferException.InvalidTag();
- default:
- if (pb::WireFormat.IsEndGroupTag(tag)) {
- return;
- }
- break;
- case 10: {
- values_.AddEntriesFrom(input, _repeated_values_codec);
- break;
- }
- }
- }
- }
-
- }
-
- #endregion
-
-}
-
-#endregion Designer generated code
diff --git a/csharp/src/ProtocolBuffers/WellKnownTypes/Timestamp.cs b/csharp/src/ProtocolBuffers/WellKnownTypes/Timestamp.cs
deleted file mode 100644
index e3bb3c37..00000000
--- a/csharp/src/ProtocolBuffers/WellKnownTypes/Timestamp.cs
+++ /dev/null
@@ -1,196 +0,0 @@
-// Generated by the protocol buffer compiler. DO NOT EDIT!
-// source: google/protobuf/timestamp.proto
-#pragma warning disable 1591, 0612, 3021
-#region Designer generated code
-
-using pb = global::Google.Protobuf;
-using pbc = global::Google.Protobuf.Collections;
-using pbr = global::Google.Protobuf.Reflection;
-using scg = global::System.Collections.Generic;
-namespace Google.Protobuf.WellKnownTypes {
-
- namespace Proto {
-
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- public static partial class Timestamp {
-
- #region Static variables
- internal static pbr::FieldAccessorTable internal__static_google_protobuf_Timestamp__FieldAccessorTable;
- #endregion
- #region Descriptor
- public static pbr::FileDescriptor Descriptor {
- get { return descriptor; }
- }
- private static pbr::FileDescriptor descriptor;
-
- static Timestamp() {
- byte[] descriptorData = global::System.Convert.FromBase64String(
- string.Concat(
- "Ch9nb29nbGUvcHJvdG9idWYvdGltZXN0YW1wLnByb3RvEg9nb29nbGUucHJv",
- "dG9idWYiKwoJVGltZXN0YW1wEg8KB3NlY29uZHMYASABKAMSDQoFbmFub3MY",
- "AiABKAVCUQoTY29tLmdvb2dsZS5wcm90b2J1ZkIOVGltZXN0YW1wUHJvdG9Q",
- "AaABAaICA0dQQqoCHkdvb2dsZS5Qcm90b2J1Zi5XZWxsS25vd25UeXBlc2IG",
- "cHJvdG8z"));
- descriptor = pbr::FileDescriptor.InternalBuildGeneratedFileFrom(descriptorData,
- new pbr::FileDescriptor[] {
- });
- internal__static_google_protobuf_Timestamp__FieldAccessorTable =
- new pbr::FieldAccessorTable(typeof(global::Google.Protobuf.WellKnownTypes.Timestamp), descriptor.MessageTypes[0],
- new string[] { "Seconds", "Nanos", }, new string[] { });
- }
- #endregion
-
- }
- }
- #region Messages
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- public sealed partial class Timestamp : pb::IMessage<Timestamp> {
- private static readonly pb::MessageParser<Timestamp> _parser = new pb::MessageParser<Timestamp>(() => new Timestamp());
- public static pb::MessageParser<Timestamp> Parser { get { return _parser; } }
-
- private static readonly string[] _fieldNames = new string[] { "nanos", "seconds" };
- private static readonly uint[] _fieldTags = new uint[] { 16, 8 };
- public static pbr::MessageDescriptor Descriptor {
- get { return global::Google.Protobuf.WellKnownTypes.Proto.Timestamp.Descriptor.MessageTypes[0]; }
- }
-
- pbr::FieldAccessorTable pb::IReflectedMessage.Fields {
- get { return global::Google.Protobuf.WellKnownTypes.Proto.Timestamp.internal__static_google_protobuf_Timestamp__FieldAccessorTable; }
- }
-
- private bool _frozen = false;
- public bool IsFrozen { get { return _frozen; } }
-
- public Timestamp() {
- OnConstruction();
- }
-
- partial void OnConstruction();
-
- public Timestamp(Timestamp other) : this() {
- seconds_ = other.seconds_;
- nanos_ = other.nanos_;
- }
-
- public Timestamp Clone() {
- return new Timestamp(this);
- }
-
- public void Freeze() {
- if (IsFrozen) {
- return;
- }
- _frozen = true;
- }
-
- public const int SecondsFieldNumber = 1;
- private long seconds_;
- public long Seconds {
- get { return seconds_; }
- set {
- pb::Freezable.CheckMutable(this);
- seconds_ = value;
- }
- }
-
- public const int NanosFieldNumber = 2;
- private int nanos_;
- public int Nanos {
- get { return nanos_; }
- set {
- pb::Freezable.CheckMutable(this);
- nanos_ = value;
- }
- }
-
- public override bool Equals(object other) {
- return Equals(other as Timestamp);
- }
-
- public bool Equals(Timestamp other) {
- if (ReferenceEquals(other, null)) {
- return false;
- }
- if (ReferenceEquals(other, this)) {
- return true;
- }
- if (Seconds != other.Seconds) return false;
- if (Nanos != other.Nanos) return false;
- return true;
- }
-
- public override int GetHashCode() {
- int hash = 1;
- if (Seconds != 0L) hash ^= Seconds.GetHashCode();
- if (Nanos != 0) hash ^= Nanos.GetHashCode();
- return hash;
- }
-
- public override string ToString() {
- return pb::JsonFormatter.Default.Format(this);
- }
-
- public void WriteTo(pb::CodedOutputStream output) {
- if (Seconds != 0L) {
- output.WriteRawTag(8);
- output.WriteInt64(Seconds);
- }
- if (Nanos != 0) {
- output.WriteRawTag(16);
- output.WriteInt32(Nanos);
- }
- }
-
- public int CalculateSize() {
- int size = 0;
- if (Seconds != 0L) {
- size += 1 + pb::CodedOutputStream.ComputeInt64Size(Seconds);
- }
- if (Nanos != 0) {
- size += 1 + pb::CodedOutputStream.ComputeInt32Size(Nanos);
- }
- return size;
- }
-
- public void MergeFrom(Timestamp other) {
- if (other == null) {
- return;
- }
- if (other.Seconds != 0L) {
- Seconds = other.Seconds;
- }
- if (other.Nanos != 0) {
- Nanos = other.Nanos;
- }
- }
-
- public void MergeFrom(pb::CodedInputStream input) {
- uint tag;
- while (input.ReadTag(out tag)) {
- switch(tag) {
- case 0:
- throw pb::InvalidProtocolBufferException.InvalidTag();
- default:
- if (pb::WireFormat.IsEndGroupTag(tag)) {
- return;
- }
- break;
- case 8: {
- Seconds = input.ReadInt64();
- break;
- }
- case 16: {
- Nanos = input.ReadInt32();
- break;
- }
- }
- }
- }
-
- }
-
- #endregion
-
-}
-
-#endregion Designer generated code
diff --git a/csharp/src/ProtocolBuffers/WellKnownTypes/Type.cs b/csharp/src/ProtocolBuffers/WellKnownTypes/Type.cs
deleted file mode 100644
index dbc1ee0d..00000000
--- a/csharp/src/ProtocolBuffers/WellKnownTypes/Type.cs
+++ /dev/null
@@ -1,1147 +0,0 @@
-// Generated by the protocol buffer compiler. DO NOT EDIT!
-// source: google/protobuf/type.proto
-#pragma warning disable 1591, 0612, 3021
-#region Designer generated code
-
-using pb = global::Google.Protobuf;
-using pbc = global::Google.Protobuf.Collections;
-using pbr = global::Google.Protobuf.Reflection;
-using scg = global::System.Collections.Generic;
-namespace Google.Protobuf.WellKnownTypes {
-
- namespace Proto {
-
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- public static partial class Type {
-
- #region Static variables
- internal static pbr::FieldAccessorTable internal__static_google_protobuf_Type__FieldAccessorTable;
- internal static pbr::FieldAccessorTable internal__static_google_protobuf_Field__FieldAccessorTable;
- internal static pbr::FieldAccessorTable internal__static_google_protobuf_Enum__FieldAccessorTable;
- internal static pbr::FieldAccessorTable internal__static_google_protobuf_EnumValue__FieldAccessorTable;
- internal static pbr::FieldAccessorTable internal__static_google_protobuf_Option__FieldAccessorTable;
- #endregion
- #region Descriptor
- public static pbr::FileDescriptor Descriptor {
- get { return descriptor; }
- }
- private static pbr::FileDescriptor descriptor;
-
- static Type() {
- byte[] descriptorData = global::System.Convert.FromBase64String(
- string.Concat(
- "Chpnb29nbGUvcHJvdG9idWYvdHlwZS5wcm90bxIPZ29vZ2xlLnByb3RvYnVm",
- "Ghlnb29nbGUvcHJvdG9idWYvYW55LnByb3RvGiRnb29nbGUvcHJvdG9idWYv",
- "c291cmNlX2NvbnRleHQucHJvdG8irgEKBFR5cGUSDAoEbmFtZRgBIAEoCRIm",
- "CgZmaWVsZHMYAiADKAsyFi5nb29nbGUucHJvdG9idWYuRmllbGQSDgoGb25l",
- "b2ZzGAMgAygJEigKB29wdGlvbnMYBCADKAsyFy5nb29nbGUucHJvdG9idWYu",
- "T3B0aW9uEjYKDnNvdXJjZV9jb250ZXh0GAUgASgLMh4uZ29vZ2xlLnByb3Rv",
- "YnVmLlNvdXJjZUNvbnRleHQimwUKBUZpZWxkEikKBGtpbmQYASABKA4yGy5n",
- "b29nbGUucHJvdG9idWYuRmllbGQuS2luZBI3CgtjYXJkaW5hbGl0eRgCIAEo",
- "DjIiLmdvb2dsZS5wcm90b2J1Zi5GaWVsZC5DYXJkaW5hbGl0eRIOCgZudW1i",
- "ZXIYAyABKAUSDAoEbmFtZRgEIAEoCRIQCgh0eXBlX3VybBgGIAEoCRITCgtv",
- "bmVvZl9pbmRleBgHIAEoBRIOCgZwYWNrZWQYCCABKAgSKAoHb3B0aW9ucxgJ",
- "IAMoCzIXLmdvb2dsZS5wcm90b2J1Zi5PcHRpb24iuAIKBEtpbmQSEAoMVFlQ",
- "RV9VTktOT1dOEAASDwoLVFlQRV9ET1VCTEUQARIOCgpUWVBFX0ZMT0FUEAIS",
- "DgoKVFlQRV9JTlQ2NBADEg8KC1RZUEVfVUlOVDY0EAQSDgoKVFlQRV9JTlQz",
- "MhAFEhAKDFRZUEVfRklYRUQ2NBAGEhAKDFRZUEVfRklYRUQzMhAHEg0KCVRZ",
- "UEVfQk9PTBAIEg8KC1RZUEVfU1RSSU5HEAkSEAoMVFlQRV9NRVNTQUdFEAsS",
- "DgoKVFlQRV9CWVRFUxAMEg8KC1RZUEVfVUlOVDMyEA0SDQoJVFlQRV9FTlVN",
- "EA4SEQoNVFlQRV9TRklYRUQzMhAPEhEKDVRZUEVfU0ZJWEVENjQQEBIPCgtU",
- "WVBFX1NJTlQzMhAREg8KC1RZUEVfU0lOVDY0EBIidAoLQ2FyZGluYWxpdHkS",
- "FwoTQ0FSRElOQUxJVFlfVU5LTk9XThAAEhgKFENBUkRJTkFMSVRZX09QVElP",
- "TkFMEAESGAoUQ0FSRElOQUxJVFlfUkVRVUlSRUQQAhIYChRDQVJESU5BTElU",
- "WV9SRVBFQVRFRBADIqUBCgRFbnVtEgwKBG5hbWUYASABKAkSLQoJZW51bXZh",
- "bHVlGAIgAygLMhouZ29vZ2xlLnByb3RvYnVmLkVudW1WYWx1ZRIoCgdvcHRp",
- "b25zGAMgAygLMhcuZ29vZ2xlLnByb3RvYnVmLk9wdGlvbhI2Cg5zb3VyY2Vf",
- "Y29udGV4dBgEIAEoCzIeLmdvb2dsZS5wcm90b2J1Zi5Tb3VyY2VDb250ZXh0",
- "IlMKCUVudW1WYWx1ZRIMCgRuYW1lGAEgASgJEg4KBm51bWJlchgCIAEoBRIo",
- "CgdvcHRpb25zGAMgAygLMhcuZ29vZ2xlLnByb3RvYnVmLk9wdGlvbiI7CgZP",
- "cHRpb24SDAoEbmFtZRgBIAEoCRIjCgV2YWx1ZRgCIAEoCzIULmdvb2dsZS5w",
- "cm90b2J1Zi5BbnlCSQoTY29tLmdvb2dsZS5wcm90b2J1ZkIJVHlwZVByb3Rv",
- "UAGiAgNHUEKqAh5Hb29nbGUuUHJvdG9idWYuV2VsbEtub3duVHlwZXNiBnBy",
- "b3RvMw=="));
- descriptor = pbr::FileDescriptor.InternalBuildGeneratedFileFrom(descriptorData,
- new pbr::FileDescriptor[] {
- global::Google.Protobuf.WellKnownTypes.Proto.Any.Descriptor,
- global::Google.Protobuf.WellKnownTypes.Proto.SourceContext.Descriptor,
- });
- internal__static_google_protobuf_Type__FieldAccessorTable =
- new pbr::FieldAccessorTable(typeof(global::Google.Protobuf.WellKnownTypes.Type), descriptor.MessageTypes[0],
- new string[] { "Name", "Fields", "Oneofs", "Options", "SourceContext", }, new string[] { });
- internal__static_google_protobuf_Field__FieldAccessorTable =
- new pbr::FieldAccessorTable(typeof(global::Google.Protobuf.WellKnownTypes.Field), descriptor.MessageTypes[1],
- new string[] { "Kind", "Cardinality", "Number", "Name", "TypeUrl", "OneofIndex", "Packed", "Options", }, new string[] { });
- internal__static_google_protobuf_Enum__FieldAccessorTable =
- new pbr::FieldAccessorTable(typeof(global::Google.Protobuf.WellKnownTypes.Enum), descriptor.MessageTypes[2],
- new string[] { "Name", "Enumvalue", "Options", "SourceContext", }, new string[] { });
- internal__static_google_protobuf_EnumValue__FieldAccessorTable =
- new pbr::FieldAccessorTable(typeof(global::Google.Protobuf.WellKnownTypes.EnumValue), descriptor.MessageTypes[3],
- new string[] { "Name", "Number", "Options", }, new string[] { });
- internal__static_google_protobuf_Option__FieldAccessorTable =
- new pbr::FieldAccessorTable(typeof(global::Google.Protobuf.WellKnownTypes.Option), descriptor.MessageTypes[4],
- new string[] { "Name", "Value", }, new string[] { });
- }
- #endregion
-
- }
- }
- #region Messages
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- public sealed partial class Type : pb::IMessage<Type> {
- private static readonly pb::MessageParser<Type> _parser = new pb::MessageParser<Type>(() => new Type());
- public static pb::MessageParser<Type> Parser { get { return _parser; } }
-
- private static readonly string[] _fieldNames = new string[] { "fields", "name", "oneofs", "options", "source_context" };
- private static readonly uint[] _fieldTags = new uint[] { 18, 10, 26, 34, 42 };
- public static pbr::MessageDescriptor Descriptor {
- get { return global::Google.Protobuf.WellKnownTypes.Proto.Type.Descriptor.MessageTypes[0]; }
- }
-
- pbr::FieldAccessorTable pb::IReflectedMessage.Fields {
- get { return global::Google.Protobuf.WellKnownTypes.Proto.Type.internal__static_google_protobuf_Type__FieldAccessorTable; }
- }
-
- private bool _frozen = false;
- public bool IsFrozen { get { return _frozen; } }
-
- public Type() {
- OnConstruction();
- }
-
- partial void OnConstruction();
-
- public Type(Type other) : this() {
- name_ = other.name_;
- fields_ = other.fields_.Clone();
- oneofs_ = other.oneofs_.Clone();
- options_ = other.options_.Clone();
- SourceContext = other.sourceContext_ != null ? other.SourceContext.Clone() : null;
- }
-
- public Type Clone() {
- return new Type(this);
- }
-
- public void Freeze() {
- if (IsFrozen) {
- return;
- }
- _frozen = true;
- fields_.Freeze();
- oneofs_.Freeze();
- options_.Freeze();
- if (sourceContext_ != null) SourceContext.Freeze();
- }
-
- public const int NameFieldNumber = 1;
- private string name_ = "";
- public string Name {
- get { return name_; }
- set {
- pb::Freezable.CheckMutable(this);
- name_ = value ?? "";
- }
- }
-
- public const int FieldsFieldNumber = 2;
- private static readonly pb::FieldCodec<global::Google.Protobuf.WellKnownTypes.Field> _repeated_fields_codec
- = pb::FieldCodec.ForMessage(18, global::Google.Protobuf.WellKnownTypes.Field.Parser);
- private readonly pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Field> fields_ = new pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Field>();
- public pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Field> Fields {
- get { return fields_; }
- }
-
- public const int OneofsFieldNumber = 3;
- private static readonly pb::FieldCodec<string> _repeated_oneofs_codec
- = pb::FieldCodec.ForString(26);
- private readonly pbc::RepeatedField<string> oneofs_ = new pbc::RepeatedField<string>();
- public pbc::RepeatedField<string> Oneofs {
- get { return oneofs_; }
- }
-
- public const int OptionsFieldNumber = 4;
- private static readonly pb::FieldCodec<global::Google.Protobuf.WellKnownTypes.Option> _repeated_options_codec
- = pb::FieldCodec.ForMessage(34, global::Google.Protobuf.WellKnownTypes.Option.Parser);
- private readonly pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Option> options_ = new pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Option>();
- public pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Option> Options {
- get { return options_; }
- }
-
- public const int SourceContextFieldNumber = 5;
- private global::Google.Protobuf.WellKnownTypes.SourceContext sourceContext_;
- public global::Google.Protobuf.WellKnownTypes.SourceContext SourceContext {
- get { return sourceContext_; }
- set {
- pb::Freezable.CheckMutable(this);
- sourceContext_ = value;
- }
- }
-
- public override bool Equals(object other) {
- return Equals(other as Type);
- }
-
- public bool Equals(Type other) {
- if (ReferenceEquals(other, null)) {
- return false;
- }
- if (ReferenceEquals(other, this)) {
- return true;
- }
- if (Name != other.Name) return false;
- if(!fields_.Equals(other.fields_)) return false;
- if(!oneofs_.Equals(other.oneofs_)) return false;
- if(!options_.Equals(other.options_)) return false;
- if (!object.Equals(SourceContext, other.SourceContext)) return false;
- return true;
- }
-
- public override int GetHashCode() {
- int hash = 1;
- if (Name.Length != 0) hash ^= Name.GetHashCode();
- hash ^= fields_.GetHashCode();
- hash ^= oneofs_.GetHashCode();
- hash ^= options_.GetHashCode();
- if (sourceContext_ != null) hash ^= SourceContext.GetHashCode();
- return hash;
- }
-
- public override string ToString() {
- return pb::JsonFormatter.Default.Format(this);
- }
-
- public void WriteTo(pb::CodedOutputStream output) {
- if (Name.Length != 0) {
- output.WriteRawTag(10);
- output.WriteString(Name);
- }
- fields_.WriteTo(output, _repeated_fields_codec);
- oneofs_.WriteTo(output, _repeated_oneofs_codec);
- options_.WriteTo(output, _repeated_options_codec);
- if (sourceContext_ != null) {
- output.WriteRawTag(42);
- output.WriteMessage(SourceContext);
- }
- }
-
- public int CalculateSize() {
- int size = 0;
- if (Name.Length != 0) {
- size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
- }
- size += fields_.CalculateSize(_repeated_fields_codec);
- size += oneofs_.CalculateSize(_repeated_oneofs_codec);
- size += options_.CalculateSize(_repeated_options_codec);
- if (sourceContext_ != null) {
- size += 1 + pb::CodedOutputStream.ComputeMessageSize(SourceContext);
- }
- return size;
- }
-
- public void MergeFrom(Type other) {
- if (other == null) {
- return;
- }
- if (other.Name.Length != 0) {
- Name = other.Name;
- }
- fields_.Add(other.fields_);
- oneofs_.Add(other.oneofs_);
- options_.Add(other.options_);
- if (other.sourceContext_ != null) {
- if (sourceContext_ == null) {
- sourceContext_ = new global::Google.Protobuf.WellKnownTypes.SourceContext();
- }
- SourceContext.MergeFrom(other.SourceContext);
- }
- }
-
- public void MergeFrom(pb::CodedInputStream input) {
- uint tag;
- while (input.ReadTag(out tag)) {
- switch(tag) {
- case 0:
- throw pb::InvalidProtocolBufferException.InvalidTag();
- default:
- if (pb::WireFormat.IsEndGroupTag(tag)) {
- return;
- }
- break;
- case 10: {
- Name = input.ReadString();
- break;
- }
- case 18: {
- fields_.AddEntriesFrom(input, _repeated_fields_codec);
- break;
- }
- case 26: {
- oneofs_.AddEntriesFrom(input, _repeated_oneofs_codec);
- break;
- }
- case 34: {
- options_.AddEntriesFrom(input, _repeated_options_codec);
- break;
- }
- case 42: {
- if (sourceContext_ == null) {
- sourceContext_ = new global::Google.Protobuf.WellKnownTypes.SourceContext();
- }
- input.ReadMessage(sourceContext_);
- break;
- }
- }
- }
- }
-
- }
-
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- public sealed partial class Field : pb::IMessage<Field> {
- private static readonly pb::MessageParser<Field> _parser = new pb::MessageParser<Field>(() => new Field());
- public static pb::MessageParser<Field> Parser { get { return _parser; } }
-
- private static readonly string[] _fieldNames = new string[] { "cardinality", "kind", "name", "number", "oneof_index", "options", "packed", "type_url" };
- private static readonly uint[] _fieldTags = new uint[] { 16, 8, 34, 24, 56, 74, 64, 50 };
- public static pbr::MessageDescriptor Descriptor {
- get { return global::Google.Protobuf.WellKnownTypes.Proto.Type.Descriptor.MessageTypes[1]; }
- }
-
- pbr::FieldAccessorTable pb::IReflectedMessage.Fields {
- get { return global::Google.Protobuf.WellKnownTypes.Proto.Type.internal__static_google_protobuf_Field__FieldAccessorTable; }
- }
-
- private bool _frozen = false;
- public bool IsFrozen { get { return _frozen; } }
-
- public Field() {
- OnConstruction();
- }
-
- partial void OnConstruction();
-
- public Field(Field other) : this() {
- kind_ = other.kind_;
- cardinality_ = other.cardinality_;
- number_ = other.number_;
- name_ = other.name_;
- typeUrl_ = other.typeUrl_;
- oneofIndex_ = other.oneofIndex_;
- packed_ = other.packed_;
- options_ = other.options_.Clone();
- }
-
- public Field Clone() {
- return new Field(this);
- }
-
- public void Freeze() {
- if (IsFrozen) {
- return;
- }
- _frozen = true;
- options_.Freeze();
- }
-
- public const int KindFieldNumber = 1;
- private global::Google.Protobuf.WellKnownTypes.Field.Types.Kind kind_ = global::Google.Protobuf.WellKnownTypes.Field.Types.Kind.TYPE_UNKNOWN;
- public global::Google.Protobuf.WellKnownTypes.Field.Types.Kind Kind {
- get { return kind_; }
- set {
- pb::Freezable.CheckMutable(this);
- kind_ = value;
- }
- }
-
- public const int CardinalityFieldNumber = 2;
- private global::Google.Protobuf.WellKnownTypes.Field.Types.Cardinality cardinality_ = global::Google.Protobuf.WellKnownTypes.Field.Types.Cardinality.CARDINALITY_UNKNOWN;
- public global::Google.Protobuf.WellKnownTypes.Field.Types.Cardinality Cardinality {
- get { return cardinality_; }
- set {
- pb::Freezable.CheckMutable(this);
- cardinality_ = value;
- }
- }
-
- public const int NumberFieldNumber = 3;
- private int number_;
- public int Number {
- get { return number_; }
- set {
- pb::Freezable.CheckMutable(this);
- number_ = value;
- }
- }
-
- public const int NameFieldNumber = 4;
- private string name_ = "";
- public string Name {
- get { return name_; }
- set {
- pb::Freezable.CheckMutable(this);
- name_ = value ?? "";
- }
- }
-
- public const int TypeUrlFieldNumber = 6;
- private string typeUrl_ = "";
- public string TypeUrl {
- get { return typeUrl_; }
- set {
- pb::Freezable.CheckMutable(this);
- typeUrl_ = value ?? "";
- }
- }
-
- public const int OneofIndexFieldNumber = 7;
- private int oneofIndex_;
- public int OneofIndex {
- get { return oneofIndex_; }
- set {
- pb::Freezable.CheckMutable(this);
- oneofIndex_ = value;
- }
- }
-
- public const int PackedFieldNumber = 8;
- private bool packed_;
- public bool Packed {
- get { return packed_; }
- set {
- pb::Freezable.CheckMutable(this);
- packed_ = value;
- }
- }
-
- public const int OptionsFieldNumber = 9;
- private static readonly pb::FieldCodec<global::Google.Protobuf.WellKnownTypes.Option> _repeated_options_codec
- = pb::FieldCodec.ForMessage(74, global::Google.Protobuf.WellKnownTypes.Option.Parser);
- private readonly pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Option> options_ = new pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Option>();
- public pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Option> Options {
- get { return options_; }
- }
-
- public override bool Equals(object other) {
- return Equals(other as Field);
- }
-
- public bool Equals(Field other) {
- if (ReferenceEquals(other, null)) {
- return false;
- }
- if (ReferenceEquals(other, this)) {
- return true;
- }
- if (Kind != other.Kind) return false;
- if (Cardinality != other.Cardinality) return false;
- if (Number != other.Number) return false;
- if (Name != other.Name) return false;
- if (TypeUrl != other.TypeUrl) return false;
- if (OneofIndex != other.OneofIndex) return false;
- if (Packed != other.Packed) return false;
- if(!options_.Equals(other.options_)) return false;
- return true;
- }
-
- public override int GetHashCode() {
- int hash = 1;
- if (Kind != global::Google.Protobuf.WellKnownTypes.Field.Types.Kind.TYPE_UNKNOWN) hash ^= Kind.GetHashCode();
- if (Cardinality != global::Google.Protobuf.WellKnownTypes.Field.Types.Cardinality.CARDINALITY_UNKNOWN) hash ^= Cardinality.GetHashCode();
- if (Number != 0) hash ^= Number.GetHashCode();
- if (Name.Length != 0) hash ^= Name.GetHashCode();
- if (TypeUrl.Length != 0) hash ^= TypeUrl.GetHashCode();
- if (OneofIndex != 0) hash ^= OneofIndex.GetHashCode();
- if (Packed != false) hash ^= Packed.GetHashCode();
- hash ^= options_.GetHashCode();
- return hash;
- }
-
- public override string ToString() {
- return pb::JsonFormatter.Default.Format(this);
- }
-
- public void WriteTo(pb::CodedOutputStream output) {
- if (Kind != global::Google.Protobuf.WellKnownTypes.Field.Types.Kind.TYPE_UNKNOWN) {
- output.WriteRawTag(8);
- output.WriteEnum((int) Kind);
- }
- if (Cardinality != global::Google.Protobuf.WellKnownTypes.Field.Types.Cardinality.CARDINALITY_UNKNOWN) {
- output.WriteRawTag(16);
- output.WriteEnum((int) Cardinality);
- }
- if (Number != 0) {
- output.WriteRawTag(24);
- output.WriteInt32(Number);
- }
- if (Name.Length != 0) {
- output.WriteRawTag(34);
- output.WriteString(Name);
- }
- if (TypeUrl.Length != 0) {
- output.WriteRawTag(50);
- output.WriteString(TypeUrl);
- }
- if (OneofIndex != 0) {
- output.WriteRawTag(56);
- output.WriteInt32(OneofIndex);
- }
- if (Packed != false) {
- output.WriteRawTag(64);
- output.WriteBool(Packed);
- }
- options_.WriteTo(output, _repeated_options_codec);
- }
-
- public int CalculateSize() {
- int size = 0;
- if (Kind != global::Google.Protobuf.WellKnownTypes.Field.Types.Kind.TYPE_UNKNOWN) {
- size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Kind);
- }
- if (Cardinality != global::Google.Protobuf.WellKnownTypes.Field.Types.Cardinality.CARDINALITY_UNKNOWN) {
- size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Cardinality);
- }
- if (Number != 0) {
- size += 1 + pb::CodedOutputStream.ComputeInt32Size(Number);
- }
- if (Name.Length != 0) {
- size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
- }
- if (TypeUrl.Length != 0) {
- size += 1 + pb::CodedOutputStream.ComputeStringSize(TypeUrl);
- }
- if (OneofIndex != 0) {
- size += 1 + pb::CodedOutputStream.ComputeInt32Size(OneofIndex);
- }
- if (Packed != false) {
- size += 1 + 1;
- }
- size += options_.CalculateSize(_repeated_options_codec);
- return size;
- }
-
- public void MergeFrom(Field other) {
- if (other == null) {
- return;
- }
- if (other.Kind != global::Google.Protobuf.WellKnownTypes.Field.Types.Kind.TYPE_UNKNOWN) {
- Kind = other.Kind;
- }
- if (other.Cardinality != global::Google.Protobuf.WellKnownTypes.Field.Types.Cardinality.CARDINALITY_UNKNOWN) {
- Cardinality = other.Cardinality;
- }
- if (other.Number != 0) {
- Number = other.Number;
- }
- if (other.Name.Length != 0) {
- Name = other.Name;
- }
- if (other.TypeUrl.Length != 0) {
- TypeUrl = other.TypeUrl;
- }
- if (other.OneofIndex != 0) {
- OneofIndex = other.OneofIndex;
- }
- if (other.Packed != false) {
- Packed = other.Packed;
- }
- options_.Add(other.options_);
- }
-
- public void MergeFrom(pb::CodedInputStream input) {
- uint tag;
- while (input.ReadTag(out tag)) {
- switch(tag) {
- case 0:
- throw pb::InvalidProtocolBufferException.InvalidTag();
- default:
- if (pb::WireFormat.IsEndGroupTag(tag)) {
- return;
- }
- break;
- case 8: {
- kind_ = (global::Google.Protobuf.WellKnownTypes.Field.Types.Kind) input.ReadEnum();
- break;
- }
- case 16: {
- cardinality_ = (global::Google.Protobuf.WellKnownTypes.Field.Types.Cardinality) input.ReadEnum();
- break;
- }
- case 24: {
- Number = input.ReadInt32();
- break;
- }
- case 34: {
- Name = input.ReadString();
- break;
- }
- case 50: {
- TypeUrl = input.ReadString();
- break;
- }
- case 56: {
- OneofIndex = input.ReadInt32();
- break;
- }
- case 64: {
- Packed = input.ReadBool();
- break;
- }
- case 74: {
- options_.AddEntriesFrom(input, _repeated_options_codec);
- break;
- }
- }
- }
- }
-
- #region Nested types
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- public static partial class Types {
- public enum Kind {
- TYPE_UNKNOWN = 0,
- TYPE_DOUBLE = 1,
- TYPE_FLOAT = 2,
- TYPE_INT64 = 3,
- TYPE_UINT64 = 4,
- TYPE_INT32 = 5,
- TYPE_FIXED64 = 6,
- TYPE_FIXED32 = 7,
- TYPE_BOOL = 8,
- TYPE_STRING = 9,
- TYPE_MESSAGE = 11,
- TYPE_BYTES = 12,
- TYPE_UINT32 = 13,
- TYPE_ENUM = 14,
- TYPE_SFIXED32 = 15,
- TYPE_SFIXED64 = 16,
- TYPE_SINT32 = 17,
- TYPE_SINT64 = 18,
- }
-
- public enum Cardinality {
- CARDINALITY_UNKNOWN = 0,
- CARDINALITY_OPTIONAL = 1,
- CARDINALITY_REQUIRED = 2,
- CARDINALITY_REPEATED = 3,
- }
-
- }
- #endregion
-
- }
-
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- public sealed partial class Enum : pb::IMessage<Enum> {
- private static readonly pb::MessageParser<Enum> _parser = new pb::MessageParser<Enum>(() => new Enum());
- public static pb::MessageParser<Enum> Parser { get { return _parser; } }
-
- private static readonly string[] _fieldNames = new string[] { "enumvalue", "name", "options", "source_context" };
- private static readonly uint[] _fieldTags = new uint[] { 18, 10, 26, 34 };
- public static pbr::MessageDescriptor Descriptor {
- get { return global::Google.Protobuf.WellKnownTypes.Proto.Type.Descriptor.MessageTypes[2]; }
- }
-
- pbr::FieldAccessorTable pb::IReflectedMessage.Fields {
- get { return global::Google.Protobuf.WellKnownTypes.Proto.Type.internal__static_google_protobuf_Enum__FieldAccessorTable; }
- }
-
- private bool _frozen = false;
- public bool IsFrozen { get { return _frozen; } }
-
- public Enum() {
- OnConstruction();
- }
-
- partial void OnConstruction();
-
- public Enum(Enum other) : this() {
- name_ = other.name_;
- enumvalue_ = other.enumvalue_.Clone();
- options_ = other.options_.Clone();
- SourceContext = other.sourceContext_ != null ? other.SourceContext.Clone() : null;
- }
-
- public Enum Clone() {
- return new Enum(this);
- }
-
- public void Freeze() {
- if (IsFrozen) {
- return;
- }
- _frozen = true;
- enumvalue_.Freeze();
- options_.Freeze();
- if (sourceContext_ != null) SourceContext.Freeze();
- }
-
- public const int NameFieldNumber = 1;
- private string name_ = "";
- public string Name {
- get { return name_; }
- set {
- pb::Freezable.CheckMutable(this);
- name_ = value ?? "";
- }
- }
-
- public const int EnumvalueFieldNumber = 2;
- private static readonly pb::FieldCodec<global::Google.Protobuf.WellKnownTypes.EnumValue> _repeated_enumvalue_codec
- = pb::FieldCodec.ForMessage(18, global::Google.Protobuf.WellKnownTypes.EnumValue.Parser);
- private readonly pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.EnumValue> enumvalue_ = new pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.EnumValue>();
- public pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.EnumValue> Enumvalue {
- get { return enumvalue_; }
- }
-
- public const int OptionsFieldNumber = 3;
- private static readonly pb::FieldCodec<global::Google.Protobuf.WellKnownTypes.Option> _repeated_options_codec
- = pb::FieldCodec.ForMessage(26, global::Google.Protobuf.WellKnownTypes.Option.Parser);
- private readonly pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Option> options_ = new pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Option>();
- public pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Option> Options {
- get { return options_; }
- }
-
- public const int SourceContextFieldNumber = 4;
- private global::Google.Protobuf.WellKnownTypes.SourceContext sourceContext_;
- public global::Google.Protobuf.WellKnownTypes.SourceContext SourceContext {
- get { return sourceContext_; }
- set {
- pb::Freezable.CheckMutable(this);
- sourceContext_ = value;
- }
- }
-
- public override bool Equals(object other) {
- return Equals(other as Enum);
- }
-
- public bool Equals(Enum other) {
- if (ReferenceEquals(other, null)) {
- return false;
- }
- if (ReferenceEquals(other, this)) {
- return true;
- }
- if (Name != other.Name) return false;
- if(!enumvalue_.Equals(other.enumvalue_)) return false;
- if(!options_.Equals(other.options_)) return false;
- if (!object.Equals(SourceContext, other.SourceContext)) return false;
- return true;
- }
-
- public override int GetHashCode() {
- int hash = 1;
- if (Name.Length != 0) hash ^= Name.GetHashCode();
- hash ^= enumvalue_.GetHashCode();
- hash ^= options_.GetHashCode();
- if (sourceContext_ != null) hash ^= SourceContext.GetHashCode();
- return hash;
- }
-
- public override string ToString() {
- return pb::JsonFormatter.Default.Format(this);
- }
-
- public void WriteTo(pb::CodedOutputStream output) {
- if (Name.Length != 0) {
- output.WriteRawTag(10);
- output.WriteString(Name);
- }
- enumvalue_.WriteTo(output, _repeated_enumvalue_codec);
- options_.WriteTo(output, _repeated_options_codec);
- if (sourceContext_ != null) {
- output.WriteRawTag(34);
- output.WriteMessage(SourceContext);
- }
- }
-
- public int CalculateSize() {
- int size = 0;
- if (Name.Length != 0) {
- size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
- }
- size += enumvalue_.CalculateSize(_repeated_enumvalue_codec);
- size += options_.CalculateSize(_repeated_options_codec);
- if (sourceContext_ != null) {
- size += 1 + pb::CodedOutputStream.ComputeMessageSize(SourceContext);
- }
- return size;
- }
-
- public void MergeFrom(Enum other) {
- if (other == null) {
- return;
- }
- if (other.Name.Length != 0) {
- Name = other.Name;
- }
- enumvalue_.Add(other.enumvalue_);
- options_.Add(other.options_);
- if (other.sourceContext_ != null) {
- if (sourceContext_ == null) {
- sourceContext_ = new global::Google.Protobuf.WellKnownTypes.SourceContext();
- }
- SourceContext.MergeFrom(other.SourceContext);
- }
- }
-
- public void MergeFrom(pb::CodedInputStream input) {
- uint tag;
- while (input.ReadTag(out tag)) {
- switch(tag) {
- case 0:
- throw pb::InvalidProtocolBufferException.InvalidTag();
- default:
- if (pb::WireFormat.IsEndGroupTag(tag)) {
- return;
- }
- break;
- case 10: {
- Name = input.ReadString();
- break;
- }
- case 18: {
- enumvalue_.AddEntriesFrom(input, _repeated_enumvalue_codec);
- break;
- }
- case 26: {
- options_.AddEntriesFrom(input, _repeated_options_codec);
- break;
- }
- case 34: {
- if (sourceContext_ == null) {
- sourceContext_ = new global::Google.Protobuf.WellKnownTypes.SourceContext();
- }
- input.ReadMessage(sourceContext_);
- break;
- }
- }
- }
- }
-
- }
-
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- public sealed partial class EnumValue : pb::IMessage<EnumValue> {
- private static readonly pb::MessageParser<EnumValue> _parser = new pb::MessageParser<EnumValue>(() => new EnumValue());
- public static pb::MessageParser<EnumValue> Parser { get { return _parser; } }
-
- private static readonly string[] _fieldNames = new string[] { "name", "number", "options" };
- private static readonly uint[] _fieldTags = new uint[] { 10, 16, 26 };
- public static pbr::MessageDescriptor Descriptor {
- get { return global::Google.Protobuf.WellKnownTypes.Proto.Type.Descriptor.MessageTypes[3]; }
- }
-
- pbr::FieldAccessorTable pb::IReflectedMessage.Fields {
- get { return global::Google.Protobuf.WellKnownTypes.Proto.Type.internal__static_google_protobuf_EnumValue__FieldAccessorTable; }
- }
-
- private bool _frozen = false;
- public bool IsFrozen { get { return _frozen; } }
-
- public EnumValue() {
- OnConstruction();
- }
-
- partial void OnConstruction();
-
- public EnumValue(EnumValue other) : this() {
- name_ = other.name_;
- number_ = other.number_;
- options_ = other.options_.Clone();
- }
-
- public EnumValue Clone() {
- return new EnumValue(this);
- }
-
- public void Freeze() {
- if (IsFrozen) {
- return;
- }
- _frozen = true;
- options_.Freeze();
- }
-
- public const int NameFieldNumber = 1;
- private string name_ = "";
- public string Name {
- get { return name_; }
- set {
- pb::Freezable.CheckMutable(this);
- name_ = value ?? "";
- }
- }
-
- public const int NumberFieldNumber = 2;
- private int number_;
- public int Number {
- get { return number_; }
- set {
- pb::Freezable.CheckMutable(this);
- number_ = value;
- }
- }
-
- public const int OptionsFieldNumber = 3;
- private static readonly pb::FieldCodec<global::Google.Protobuf.WellKnownTypes.Option> _repeated_options_codec
- = pb::FieldCodec.ForMessage(26, global::Google.Protobuf.WellKnownTypes.Option.Parser);
- private readonly pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Option> options_ = new pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Option>();
- public pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Option> Options {
- get { return options_; }
- }
-
- public override bool Equals(object other) {
- return Equals(other as EnumValue);
- }
-
- public bool Equals(EnumValue other) {
- if (ReferenceEquals(other, null)) {
- return false;
- }
- if (ReferenceEquals(other, this)) {
- return true;
- }
- if (Name != other.Name) return false;
- if (Number != other.Number) return false;
- if(!options_.Equals(other.options_)) return false;
- return true;
- }
-
- public override int GetHashCode() {
- int hash = 1;
- if (Name.Length != 0) hash ^= Name.GetHashCode();
- if (Number != 0) hash ^= Number.GetHashCode();
- hash ^= options_.GetHashCode();
- return hash;
- }
-
- public override string ToString() {
- return pb::JsonFormatter.Default.Format(this);
- }
-
- public void WriteTo(pb::CodedOutputStream output) {
- if (Name.Length != 0) {
- output.WriteRawTag(10);
- output.WriteString(Name);
- }
- if (Number != 0) {
- output.WriteRawTag(16);
- output.WriteInt32(Number);
- }
- options_.WriteTo(output, _repeated_options_codec);
- }
-
- public int CalculateSize() {
- int size = 0;
- if (Name.Length != 0) {
- size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
- }
- if (Number != 0) {
- size += 1 + pb::CodedOutputStream.ComputeInt32Size(Number);
- }
- size += options_.CalculateSize(_repeated_options_codec);
- return size;
- }
-
- public void MergeFrom(EnumValue other) {
- if (other == null) {
- return;
- }
- if (other.Name.Length != 0) {
- Name = other.Name;
- }
- if (other.Number != 0) {
- Number = other.Number;
- }
- options_.Add(other.options_);
- }
-
- public void MergeFrom(pb::CodedInputStream input) {
- uint tag;
- while (input.ReadTag(out tag)) {
- switch(tag) {
- case 0:
- throw pb::InvalidProtocolBufferException.InvalidTag();
- default:
- if (pb::WireFormat.IsEndGroupTag(tag)) {
- return;
- }
- break;
- case 10: {
- Name = input.ReadString();
- break;
- }
- case 16: {
- Number = input.ReadInt32();
- break;
- }
- case 26: {
- options_.AddEntriesFrom(input, _repeated_options_codec);
- break;
- }
- }
- }
- }
-
- }
-
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- public sealed partial class Option : pb::IMessage<Option> {
- private static readonly pb::MessageParser<Option> _parser = new pb::MessageParser<Option>(() => new Option());
- public static pb::MessageParser<Option> Parser { get { return _parser; } }
-
- private static readonly string[] _fieldNames = new string[] { "name", "value" };
- private static readonly uint[] _fieldTags = new uint[] { 10, 18 };
- public static pbr::MessageDescriptor Descriptor {
- get { return global::Google.Protobuf.WellKnownTypes.Proto.Type.Descriptor.MessageTypes[4]; }
- }
-
- pbr::FieldAccessorTable pb::IReflectedMessage.Fields {
- get { return global::Google.Protobuf.WellKnownTypes.Proto.Type.internal__static_google_protobuf_Option__FieldAccessorTable; }
- }
-
- private bool _frozen = false;
- public bool IsFrozen { get { return _frozen; } }
-
- public Option() {
- OnConstruction();
- }
-
- partial void OnConstruction();
-
- public Option(Option other) : this() {
- name_ = other.name_;
- Value = other.value_ != null ? other.Value.Clone() : null;
- }
-
- public Option Clone() {
- return new Option(this);
- }
-
- public void Freeze() {
- if (IsFrozen) {
- return;
- }
- _frozen = true;
- if (value_ != null) Value.Freeze();
- }
-
- public const int NameFieldNumber = 1;
- private string name_ = "";
- public string Name {
- get { return name_; }
- set {
- pb::Freezable.CheckMutable(this);
- name_ = value ?? "";
- }
- }
-
- public const int ValueFieldNumber = 2;
- private global::Google.Protobuf.WellKnownTypes.Any value_;
- public global::Google.Protobuf.WellKnownTypes.Any Value {
- get { return value_; }
- set {
- pb::Freezable.CheckMutable(this);
- value_ = value;
- }
- }
-
- public override bool Equals(object other) {
- return Equals(other as Option);
- }
-
- public bool Equals(Option other) {
- if (ReferenceEquals(other, null)) {
- return false;
- }
- if (ReferenceEquals(other, this)) {
- return true;
- }
- if (Name != other.Name) return false;
- if (!object.Equals(Value, other.Value)) return false;
- return true;
- }
-
- public override int GetHashCode() {
- int hash = 1;
- if (Name.Length != 0) hash ^= Name.GetHashCode();
- if (value_ != null) hash ^= Value.GetHashCode();
- return hash;
- }
-
- public override string ToString() {
- return pb::JsonFormatter.Default.Format(this);
- }
-
- public void WriteTo(pb::CodedOutputStream output) {
- if (Name.Length != 0) {
- output.WriteRawTag(10);
- output.WriteString(Name);
- }
- if (value_ != null) {
- output.WriteRawTag(18);
- output.WriteMessage(Value);
- }
- }
-
- public int CalculateSize() {
- int size = 0;
- if (Name.Length != 0) {
- size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
- }
- if (value_ != null) {
- size += 1 + pb::CodedOutputStream.ComputeMessageSize(Value);
- }
- return size;
- }
-
- public void MergeFrom(Option other) {
- if (other == null) {
- return;
- }
- if (other.Name.Length != 0) {
- Name = other.Name;
- }
- if (other.value_ != null) {
- if (value_ == null) {
- value_ = new global::Google.Protobuf.WellKnownTypes.Any();
- }
- Value.MergeFrom(other.Value);
- }
- }
-
- public void MergeFrom(pb::CodedInputStream input) {
- uint tag;
- while (input.ReadTag(out tag)) {
- switch(tag) {
- case 0:
- throw pb::InvalidProtocolBufferException.InvalidTag();
- default:
- if (pb::WireFormat.IsEndGroupTag(tag)) {
- return;
- }
- break;
- case 10: {
- Name = input.ReadString();
- break;
- }
- case 18: {
- if (value_ == null) {
- value_ = new global::Google.Protobuf.WellKnownTypes.Any();
- }
- input.ReadMessage(value_);
- break;
- }
- }
- }
- }
-
- }
-
- #endregion
-
-}
-
-#endregion Designer generated code
diff --git a/csharp/src/ProtocolBuffers/WellKnownTypes/Wrappers.cs b/csharp/src/ProtocolBuffers/WellKnownTypes/Wrappers.cs
deleted file mode 100644
index c26f874d..00000000
--- a/csharp/src/ProtocolBuffers/WellKnownTypes/Wrappers.cs
+++ /dev/null
@@ -1,1154 +0,0 @@
-// Generated by the protocol buffer compiler. DO NOT EDIT!
-// source: google/protobuf/wrappers.proto
-#pragma warning disable 1591, 0612, 3021
-#region Designer generated code
-
-using pb = global::Google.Protobuf;
-using pbc = global::Google.Protobuf.Collections;
-using pbr = global::Google.Protobuf.Reflection;
-using scg = global::System.Collections.Generic;
-namespace Google.Protobuf.WellKnownTypes {
-
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- public static partial class Wrappers {
-
- #region Static variables
- internal static pbr::FieldAccessorTable internal__static_google_protobuf_DoubleValue__FieldAccessorTable;
- internal static pbr::FieldAccessorTable internal__static_google_protobuf_FloatValue__FieldAccessorTable;
- internal static pbr::FieldAccessorTable internal__static_google_protobuf_Int64Value__FieldAccessorTable;
- internal static pbr::FieldAccessorTable internal__static_google_protobuf_UInt64Value__FieldAccessorTable;
- internal static pbr::FieldAccessorTable internal__static_google_protobuf_Int32Value__FieldAccessorTable;
- internal static pbr::FieldAccessorTable internal__static_google_protobuf_UInt32Value__FieldAccessorTable;
- internal static pbr::FieldAccessorTable internal__static_google_protobuf_BoolValue__FieldAccessorTable;
- internal static pbr::FieldAccessorTable internal__static_google_protobuf_StringValue__FieldAccessorTable;
- internal static pbr::FieldAccessorTable internal__static_google_protobuf_BytesValue__FieldAccessorTable;
- #endregion
- #region Descriptor
- public static pbr::FileDescriptor Descriptor {
- get { return descriptor; }
- }
- private static pbr::FileDescriptor descriptor;
-
- static Wrappers() {
- byte[] descriptorData = global::System.Convert.FromBase64String(
- string.Concat(
- "Ch5nb29nbGUvcHJvdG9idWYvd3JhcHBlcnMucHJvdG8SD2dvb2dsZS5wcm90",
- "b2J1ZiIcCgtEb3VibGVWYWx1ZRINCgV2YWx1ZRgBIAEoASIbCgpGbG9hdFZh",
- "bHVlEg0KBXZhbHVlGAEgASgCIhsKCkludDY0VmFsdWUSDQoFdmFsdWUYASAB",
- "KAMiHAoLVUludDY0VmFsdWUSDQoFdmFsdWUYASABKAQiGwoKSW50MzJWYWx1",
- "ZRINCgV2YWx1ZRgBIAEoBSIcCgtVSW50MzJWYWx1ZRINCgV2YWx1ZRgBIAEo",
- "DSIaCglCb29sVmFsdWUSDQoFdmFsdWUYASABKAgiHAoLU3RyaW5nVmFsdWUS",
- "DQoFdmFsdWUYASABKAkiGwoKQnl0ZXNWYWx1ZRINCgV2YWx1ZRgBIAEoDEJN",
- "ChNjb20uZ29vZ2xlLnByb3RvYnVmQg1XcmFwcGVyc1Byb3RvUAGiAgNHUEKq",
- "Ah5Hb29nbGUuUHJvdG9idWYuV2VsbEtub3duVHlwZXNiBnByb3RvMw=="));
- descriptor = pbr::FileDescriptor.InternalBuildGeneratedFileFrom(descriptorData,
- new pbr::FileDescriptor[] {
- });
- internal__static_google_protobuf_DoubleValue__FieldAccessorTable =
- new pbr::FieldAccessorTable(typeof(global::Google.Protobuf.WellKnownTypes.DoubleValue), descriptor.MessageTypes[0],
- new string[] { "Value", }, new string[] { });
- internal__static_google_protobuf_FloatValue__FieldAccessorTable =
- new pbr::FieldAccessorTable(typeof(global::Google.Protobuf.WellKnownTypes.FloatValue), descriptor.MessageTypes[1],
- new string[] { "Value", }, new string[] { });
- internal__static_google_protobuf_Int64Value__FieldAccessorTable =
- new pbr::FieldAccessorTable(typeof(global::Google.Protobuf.WellKnownTypes.Int64Value), descriptor.MessageTypes[2],
- new string[] { "Value", }, new string[] { });
- internal__static_google_protobuf_UInt64Value__FieldAccessorTable =
- new pbr::FieldAccessorTable(typeof(global::Google.Protobuf.WellKnownTypes.UInt64Value), descriptor.MessageTypes[3],
- new string[] { "Value", }, new string[] { });
- internal__static_google_protobuf_Int32Value__FieldAccessorTable =
- new pbr::FieldAccessorTable(typeof(global::Google.Protobuf.WellKnownTypes.Int32Value), descriptor.MessageTypes[4],
- new string[] { "Value", }, new string[] { });
- internal__static_google_protobuf_UInt32Value__FieldAccessorTable =
- new pbr::FieldAccessorTable(typeof(global::Google.Protobuf.WellKnownTypes.UInt32Value), descriptor.MessageTypes[5],
- new string[] { "Value", }, new string[] { });
- internal__static_google_protobuf_BoolValue__FieldAccessorTable =
- new pbr::FieldAccessorTable(typeof(global::Google.Protobuf.WellKnownTypes.BoolValue), descriptor.MessageTypes[6],
- new string[] { "Value", }, new string[] { });
- internal__static_google_protobuf_StringValue__FieldAccessorTable =
- new pbr::FieldAccessorTable(typeof(global::Google.Protobuf.WellKnownTypes.StringValue), descriptor.MessageTypes[7],
- new string[] { "Value", }, new string[] { });
- internal__static_google_protobuf_BytesValue__FieldAccessorTable =
- new pbr::FieldAccessorTable(typeof(global::Google.Protobuf.WellKnownTypes.BytesValue), descriptor.MessageTypes[8],
- new string[] { "Value", }, new string[] { });
- }
- #endregion
-
- }
- #region Messages
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- public sealed partial class DoubleValue : pb::IMessage<DoubleValue> {
- private static readonly pb::MessageParser<DoubleValue> _parser = new pb::MessageParser<DoubleValue>(() => new DoubleValue());
- public static pb::MessageParser<DoubleValue> Parser { get { return _parser; } }
-
- private static readonly string[] _fieldNames = new string[] { "value" };
- private static readonly uint[] _fieldTags = new uint[] { 9 };
- public static pbr::MessageDescriptor Descriptor {
- get { return global::Google.Protobuf.WellKnownTypes.Wrappers.Descriptor.MessageTypes[0]; }
- }
-
- pbr::FieldAccessorTable pb::IReflectedMessage.Fields {
- get { return global::Google.Protobuf.WellKnownTypes.Wrappers.internal__static_google_protobuf_DoubleValue__FieldAccessorTable; }
- }
-
- private bool _frozen = false;
- public bool IsFrozen { get { return _frozen; } }
-
- public DoubleValue() {
- OnConstruction();
- }
-
- partial void OnConstruction();
-
- public DoubleValue(DoubleValue other) : this() {
- value_ = other.value_;
- }
-
- public DoubleValue Clone() {
- return new DoubleValue(this);
- }
-
- public void Freeze() {
- if (IsFrozen) {
- return;
- }
- _frozen = true;
- }
-
- public const int ValueFieldNumber = 1;
- private double value_;
- public double Value {
- get { return value_; }
- set {
- pb::Freezable.CheckMutable(this);
- value_ = value;
- }
- }
-
- public override bool Equals(object other) {
- return Equals(other as DoubleValue);
- }
-
- public bool Equals(DoubleValue other) {
- if (ReferenceEquals(other, null)) {
- return false;
- }
- if (ReferenceEquals(other, this)) {
- return true;
- }
- if (Value != other.Value) return false;
- return true;
- }
-
- public override int GetHashCode() {
- int hash = 1;
- if (Value != 0D) hash ^= Value.GetHashCode();
- return hash;
- }
-
- public override string ToString() {
- return pb::JsonFormatter.Default.Format(this);
- }
-
- public void WriteTo(pb::CodedOutputStream output) {
- if (Value != 0D) {
- output.WriteRawTag(9);
- output.WriteDouble(Value);
- }
- }
-
- public int CalculateSize() {
- int size = 0;
- if (Value != 0D) {
- size += 1 + 8;
- }
- return size;
- }
-
- public void MergeFrom(DoubleValue other) {
- if (other == null) {
- return;
- }
- if (other.Value != 0D) {
- Value = other.Value;
- }
- }
-
- public void MergeFrom(pb::CodedInputStream input) {
- uint tag;
- while (input.ReadTag(out tag)) {
- switch(tag) {
- case 0:
- throw pb::InvalidProtocolBufferException.InvalidTag();
- default:
- if (pb::WireFormat.IsEndGroupTag(tag)) {
- return;
- }
- break;
- case 9: {
- Value = input.ReadDouble();
- break;
- }
- }
- }
- }
-
- }
-
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- public sealed partial class FloatValue : pb::IMessage<FloatValue> {
- private static readonly pb::MessageParser<FloatValue> _parser = new pb::MessageParser<FloatValue>(() => new FloatValue());
- public static pb::MessageParser<FloatValue> Parser { get { return _parser; } }
-
- private static readonly string[] _fieldNames = new string[] { "value" };
- private static readonly uint[] _fieldTags = new uint[] { 13 };
- public static pbr::MessageDescriptor Descriptor {
- get { return global::Google.Protobuf.WellKnownTypes.Wrappers.Descriptor.MessageTypes[1]; }
- }
-
- pbr::FieldAccessorTable pb::IReflectedMessage.Fields {
- get { return global::Google.Protobuf.WellKnownTypes.Wrappers.internal__static_google_protobuf_FloatValue__FieldAccessorTable; }
- }
-
- private bool _frozen = false;
- public bool IsFrozen { get { return _frozen; } }
-
- public FloatValue() {
- OnConstruction();
- }
-
- partial void OnConstruction();
-
- public FloatValue(FloatValue other) : this() {
- value_ = other.value_;
- }
-
- public FloatValue Clone() {
- return new FloatValue(this);
- }
-
- public void Freeze() {
- if (IsFrozen) {
- return;
- }
- _frozen = true;
- }
-
- public const int ValueFieldNumber = 1;
- private float value_;
- public float Value {
- get { return value_; }
- set {
- pb::Freezable.CheckMutable(this);
- value_ = value;
- }
- }
-
- public override bool Equals(object other) {
- return Equals(other as FloatValue);
- }
-
- public bool Equals(FloatValue other) {
- if (ReferenceEquals(other, null)) {
- return false;
- }
- if (ReferenceEquals(other, this)) {
- return true;
- }
- if (Value != other.Value) return false;
- return true;
- }
-
- public override int GetHashCode() {
- int hash = 1;
- if (Value != 0F) hash ^= Value.GetHashCode();
- return hash;
- }
-
- public override string ToString() {
- return pb::JsonFormatter.Default.Format(this);
- }
-
- public void WriteTo(pb::CodedOutputStream output) {
- if (Value != 0F) {
- output.WriteRawTag(13);
- output.WriteFloat(Value);
- }
- }
-
- public int CalculateSize() {
- int size = 0;
- if (Value != 0F) {
- size += 1 + 4;
- }
- return size;
- }
-
- public void MergeFrom(FloatValue other) {
- if (other == null) {
- return;
- }
- if (other.Value != 0F) {
- Value = other.Value;
- }
- }
-
- public void MergeFrom(pb::CodedInputStream input) {
- uint tag;
- while (input.ReadTag(out tag)) {
- switch(tag) {
- case 0:
- throw pb::InvalidProtocolBufferException.InvalidTag();
- default:
- if (pb::WireFormat.IsEndGroupTag(tag)) {
- return;
- }
- break;
- case 13: {
- Value = input.ReadFloat();
- break;
- }
- }
- }
- }
-
- }
-
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- public sealed partial class Int64Value : pb::IMessage<Int64Value> {
- private static readonly pb::MessageParser<Int64Value> _parser = new pb::MessageParser<Int64Value>(() => new Int64Value());
- public static pb::MessageParser<Int64Value> Parser { get { return _parser; } }
-
- private static readonly string[] _fieldNames = new string[] { "value" };
- private static readonly uint[] _fieldTags = new uint[] { 8 };
- public static pbr::MessageDescriptor Descriptor {
- get { return global::Google.Protobuf.WellKnownTypes.Wrappers.Descriptor.MessageTypes[2]; }
- }
-
- pbr::FieldAccessorTable pb::IReflectedMessage.Fields {
- get { return global::Google.Protobuf.WellKnownTypes.Wrappers.internal__static_google_protobuf_Int64Value__FieldAccessorTable; }
- }
-
- private bool _frozen = false;
- public bool IsFrozen { get { return _frozen; } }
-
- public Int64Value() {
- OnConstruction();
- }
-
- partial void OnConstruction();
-
- public Int64Value(Int64Value other) : this() {
- value_ = other.value_;
- }
-
- public Int64Value Clone() {
- return new Int64Value(this);
- }
-
- public void Freeze() {
- if (IsFrozen) {
- return;
- }
- _frozen = true;
- }
-
- public const int ValueFieldNumber = 1;
- private long value_;
- public long Value {
- get { return value_; }
- set {
- pb::Freezable.CheckMutable(this);
- value_ = value;
- }
- }
-
- public override bool Equals(object other) {
- return Equals(other as Int64Value);
- }
-
- public bool Equals(Int64Value other) {
- if (ReferenceEquals(other, null)) {
- return false;
- }
- if (ReferenceEquals(other, this)) {
- return true;
- }
- if (Value != other.Value) return false;
- return true;
- }
-
- public override int GetHashCode() {
- int hash = 1;
- if (Value != 0L) hash ^= Value.GetHashCode();
- return hash;
- }
-
- public override string ToString() {
- return pb::JsonFormatter.Default.Format(this);
- }
-
- public void WriteTo(pb::CodedOutputStream output) {
- if (Value != 0L) {
- output.WriteRawTag(8);
- output.WriteInt64(Value);
- }
- }
-
- public int CalculateSize() {
- int size = 0;
- if (Value != 0L) {
- size += 1 + pb::CodedOutputStream.ComputeInt64Size(Value);
- }
- return size;
- }
-
- public void MergeFrom(Int64Value other) {
- if (other == null) {
- return;
- }
- if (other.Value != 0L) {
- Value = other.Value;
- }
- }
-
- public void MergeFrom(pb::CodedInputStream input) {
- uint tag;
- while (input.ReadTag(out tag)) {
- switch(tag) {
- case 0:
- throw pb::InvalidProtocolBufferException.InvalidTag();
- default:
- if (pb::WireFormat.IsEndGroupTag(tag)) {
- return;
- }
- break;
- case 8: {
- Value = input.ReadInt64();
- break;
- }
- }
- }
- }
-
- }
-
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- public sealed partial class UInt64Value : pb::IMessage<UInt64Value> {
- private static readonly pb::MessageParser<UInt64Value> _parser = new pb::MessageParser<UInt64Value>(() => new UInt64Value());
- public static pb::MessageParser<UInt64Value> Parser { get { return _parser; } }
-
- private static readonly string[] _fieldNames = new string[] { "value" };
- private static readonly uint[] _fieldTags = new uint[] { 8 };
- public static pbr::MessageDescriptor Descriptor {
- get { return global::Google.Protobuf.WellKnownTypes.Wrappers.Descriptor.MessageTypes[3]; }
- }
-
- pbr::FieldAccessorTable pb::IReflectedMessage.Fields {
- get { return global::Google.Protobuf.WellKnownTypes.Wrappers.internal__static_google_protobuf_UInt64Value__FieldAccessorTable; }
- }
-
- private bool _frozen = false;
- public bool IsFrozen { get { return _frozen; } }
-
- public UInt64Value() {
- OnConstruction();
- }
-
- partial void OnConstruction();
-
- public UInt64Value(UInt64Value other) : this() {
- value_ = other.value_;
- }
-
- public UInt64Value Clone() {
- return new UInt64Value(this);
- }
-
- public void Freeze() {
- if (IsFrozen) {
- return;
- }
- _frozen = true;
- }
-
- public const int ValueFieldNumber = 1;
- private ulong value_;
- public ulong Value {
- get { return value_; }
- set {
- pb::Freezable.CheckMutable(this);
- value_ = value;
- }
- }
-
- public override bool Equals(object other) {
- return Equals(other as UInt64Value);
- }
-
- public bool Equals(UInt64Value other) {
- if (ReferenceEquals(other, null)) {
- return false;
- }
- if (ReferenceEquals(other, this)) {
- return true;
- }
- if (Value != other.Value) return false;
- return true;
- }
-
- public override int GetHashCode() {
- int hash = 1;
- if (Value != 0UL) hash ^= Value.GetHashCode();
- return hash;
- }
-
- public override string ToString() {
- return pb::JsonFormatter.Default.Format(this);
- }
-
- public void WriteTo(pb::CodedOutputStream output) {
- if (Value != 0UL) {
- output.WriteRawTag(8);
- output.WriteUInt64(Value);
- }
- }
-
- public int CalculateSize() {
- int size = 0;
- if (Value != 0UL) {
- size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Value);
- }
- return size;
- }
-
- public void MergeFrom(UInt64Value other) {
- if (other == null) {
- return;
- }
- if (other.Value != 0UL) {
- Value = other.Value;
- }
- }
-
- public void MergeFrom(pb::CodedInputStream input) {
- uint tag;
- while (input.ReadTag(out tag)) {
- switch(tag) {
- case 0:
- throw pb::InvalidProtocolBufferException.InvalidTag();
- default:
- if (pb::WireFormat.IsEndGroupTag(tag)) {
- return;
- }
- break;
- case 8: {
- Value = input.ReadUInt64();
- break;
- }
- }
- }
- }
-
- }
-
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- public sealed partial class Int32Value : pb::IMessage<Int32Value> {
- private static readonly pb::MessageParser<Int32Value> _parser = new pb::MessageParser<Int32Value>(() => new Int32Value());
- public static pb::MessageParser<Int32Value> Parser { get { return _parser; } }
-
- private static readonly string[] _fieldNames = new string[] { "value" };
- private static readonly uint[] _fieldTags = new uint[] { 8 };
- public static pbr::MessageDescriptor Descriptor {
- get { return global::Google.Protobuf.WellKnownTypes.Wrappers.Descriptor.MessageTypes[4]; }
- }
-
- pbr::FieldAccessorTable pb::IReflectedMessage.Fields {
- get { return global::Google.Protobuf.WellKnownTypes.Wrappers.internal__static_google_protobuf_Int32Value__FieldAccessorTable; }
- }
-
- private bool _frozen = false;
- public bool IsFrozen { get { return _frozen; } }
-
- public Int32Value() {
- OnConstruction();
- }
-
- partial void OnConstruction();
-
- public Int32Value(Int32Value other) : this() {
- value_ = other.value_;
- }
-
- public Int32Value Clone() {
- return new Int32Value(this);
- }
-
- public void Freeze() {
- if (IsFrozen) {
- return;
- }
- _frozen = true;
- }
-
- public const int ValueFieldNumber = 1;
- private int value_;
- public int Value {
- get { return value_; }
- set {
- pb::Freezable.CheckMutable(this);
- value_ = value;
- }
- }
-
- public override bool Equals(object other) {
- return Equals(other as Int32Value);
- }
-
- public bool Equals(Int32Value other) {
- if (ReferenceEquals(other, null)) {
- return false;
- }
- if (ReferenceEquals(other, this)) {
- return true;
- }
- if (Value != other.Value) return false;
- return true;
- }
-
- public override int GetHashCode() {
- int hash = 1;
- if (Value != 0) hash ^= Value.GetHashCode();
- return hash;
- }
-
- public override string ToString() {
- return pb::JsonFormatter.Default.Format(this);
- }
-
- public void WriteTo(pb::CodedOutputStream output) {
- if (Value != 0) {
- output.WriteRawTag(8);
- output.WriteInt32(Value);
- }
- }
-
- public int CalculateSize() {
- int size = 0;
- if (Value != 0) {
- size += 1 + pb::CodedOutputStream.ComputeInt32Size(Value);
- }
- return size;
- }
-
- public void MergeFrom(Int32Value other) {
- if (other == null) {
- return;
- }
- if (other.Value != 0) {
- Value = other.Value;
- }
- }
-
- public void MergeFrom(pb::CodedInputStream input) {
- uint tag;
- while (input.ReadTag(out tag)) {
- switch(tag) {
- case 0:
- throw pb::InvalidProtocolBufferException.InvalidTag();
- default:
- if (pb::WireFormat.IsEndGroupTag(tag)) {
- return;
- }
- break;
- case 8: {
- Value = input.ReadInt32();
- break;
- }
- }
- }
- }
-
- }
-
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- public sealed partial class UInt32Value : pb::IMessage<UInt32Value> {
- private static readonly pb::MessageParser<UInt32Value> _parser = new pb::MessageParser<UInt32Value>(() => new UInt32Value());
- public static pb::MessageParser<UInt32Value> Parser { get { return _parser; } }
-
- private static readonly string[] _fieldNames = new string[] { "value" };
- private static readonly uint[] _fieldTags = new uint[] { 8 };
- public static pbr::MessageDescriptor Descriptor {
- get { return global::Google.Protobuf.WellKnownTypes.Wrappers.Descriptor.MessageTypes[5]; }
- }
-
- pbr::FieldAccessorTable pb::IReflectedMessage.Fields {
- get { return global::Google.Protobuf.WellKnownTypes.Wrappers.internal__static_google_protobuf_UInt32Value__FieldAccessorTable; }
- }
-
- private bool _frozen = false;
- public bool IsFrozen { get { return _frozen; } }
-
- public UInt32Value() {
- OnConstruction();
- }
-
- partial void OnConstruction();
-
- public UInt32Value(UInt32Value other) : this() {
- value_ = other.value_;
- }
-
- public UInt32Value Clone() {
- return new UInt32Value(this);
- }
-
- public void Freeze() {
- if (IsFrozen) {
- return;
- }
- _frozen = true;
- }
-
- public const int ValueFieldNumber = 1;
- private uint value_;
- public uint Value {
- get { return value_; }
- set {
- pb::Freezable.CheckMutable(this);
- value_ = value;
- }
- }
-
- public override bool Equals(object other) {
- return Equals(other as UInt32Value);
- }
-
- public bool Equals(UInt32Value other) {
- if (ReferenceEquals(other, null)) {
- return false;
- }
- if (ReferenceEquals(other, this)) {
- return true;
- }
- if (Value != other.Value) return false;
- return true;
- }
-
- public override int GetHashCode() {
- int hash = 1;
- if (Value != 0) hash ^= Value.GetHashCode();
- return hash;
- }
-
- public override string ToString() {
- return pb::JsonFormatter.Default.Format(this);
- }
-
- public void WriteTo(pb::CodedOutputStream output) {
- if (Value != 0) {
- output.WriteRawTag(8);
- output.WriteUInt32(Value);
- }
- }
-
- public int CalculateSize() {
- int size = 0;
- if (Value != 0) {
- size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Value);
- }
- return size;
- }
-
- public void MergeFrom(UInt32Value other) {
- if (other == null) {
- return;
- }
- if (other.Value != 0) {
- Value = other.Value;
- }
- }
-
- public void MergeFrom(pb::CodedInputStream input) {
- uint tag;
- while (input.ReadTag(out tag)) {
- switch(tag) {
- case 0:
- throw pb::InvalidProtocolBufferException.InvalidTag();
- default:
- if (pb::WireFormat.IsEndGroupTag(tag)) {
- return;
- }
- break;
- case 8: {
- Value = input.ReadUInt32();
- break;
- }
- }
- }
- }
-
- }
-
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- public sealed partial class BoolValue : pb::IMessage<BoolValue> {
- private static readonly pb::MessageParser<BoolValue> _parser = new pb::MessageParser<BoolValue>(() => new BoolValue());
- public static pb::MessageParser<BoolValue> Parser { get { return _parser; } }
-
- private static readonly string[] _fieldNames = new string[] { "value" };
- private static readonly uint[] _fieldTags = new uint[] { 8 };
- public static pbr::MessageDescriptor Descriptor {
- get { return global::Google.Protobuf.WellKnownTypes.Wrappers.Descriptor.MessageTypes[6]; }
- }
-
- pbr::FieldAccessorTable pb::IReflectedMessage.Fields {
- get { return global::Google.Protobuf.WellKnownTypes.Wrappers.internal__static_google_protobuf_BoolValue__FieldAccessorTable; }
- }
-
- private bool _frozen = false;
- public bool IsFrozen { get { return _frozen; } }
-
- public BoolValue() {
- OnConstruction();
- }
-
- partial void OnConstruction();
-
- public BoolValue(BoolValue other) : this() {
- value_ = other.value_;
- }
-
- public BoolValue Clone() {
- return new BoolValue(this);
- }
-
- public void Freeze() {
- if (IsFrozen) {
- return;
- }
- _frozen = true;
- }
-
- public const int ValueFieldNumber = 1;
- private bool value_;
- public bool Value {
- get { return value_; }
- set {
- pb::Freezable.CheckMutable(this);
- value_ = value;
- }
- }
-
- public override bool Equals(object other) {
- return Equals(other as BoolValue);
- }
-
- public bool Equals(BoolValue other) {
- if (ReferenceEquals(other, null)) {
- return false;
- }
- if (ReferenceEquals(other, this)) {
- return true;
- }
- if (Value != other.Value) return false;
- return true;
- }
-
- public override int GetHashCode() {
- int hash = 1;
- if (Value != false) hash ^= Value.GetHashCode();
- return hash;
- }
-
- public override string ToString() {
- return pb::JsonFormatter.Default.Format(this);
- }
-
- public void WriteTo(pb::CodedOutputStream output) {
- if (Value != false) {
- output.WriteRawTag(8);
- output.WriteBool(Value);
- }
- }
-
- public int CalculateSize() {
- int size = 0;
- if (Value != false) {
- size += 1 + 1;
- }
- return size;
- }
-
- public void MergeFrom(BoolValue other) {
- if (other == null) {
- return;
- }
- if (other.Value != false) {
- Value = other.Value;
- }
- }
-
- public void MergeFrom(pb::CodedInputStream input) {
- uint tag;
- while (input.ReadTag(out tag)) {
- switch(tag) {
- case 0:
- throw pb::InvalidProtocolBufferException.InvalidTag();
- default:
- if (pb::WireFormat.IsEndGroupTag(tag)) {
- return;
- }
- break;
- case 8: {
- Value = input.ReadBool();
- break;
- }
- }
- }
- }
-
- }
-
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- public sealed partial class StringValue : pb::IMessage<StringValue> {
- private static readonly pb::MessageParser<StringValue> _parser = new pb::MessageParser<StringValue>(() => new StringValue());
- public static pb::MessageParser<StringValue> Parser { get { return _parser; } }
-
- private static readonly string[] _fieldNames = new string[] { "value" };
- private static readonly uint[] _fieldTags = new uint[] { 10 };
- public static pbr::MessageDescriptor Descriptor {
- get { return global::Google.Protobuf.WellKnownTypes.Wrappers.Descriptor.MessageTypes[7]; }
- }
-
- pbr::FieldAccessorTable pb::IReflectedMessage.Fields {
- get { return global::Google.Protobuf.WellKnownTypes.Wrappers.internal__static_google_protobuf_StringValue__FieldAccessorTable; }
- }
-
- private bool _frozen = false;
- public bool IsFrozen { get { return _frozen; } }
-
- public StringValue() {
- OnConstruction();
- }
-
- partial void OnConstruction();
-
- public StringValue(StringValue other) : this() {
- value_ = other.value_;
- }
-
- public StringValue Clone() {
- return new StringValue(this);
- }
-
- public void Freeze() {
- if (IsFrozen) {
- return;
- }
- _frozen = true;
- }
-
- public const int ValueFieldNumber = 1;
- private string value_ = "";
- public string Value {
- get { return value_; }
- set {
- pb::Freezable.CheckMutable(this);
- value_ = value ?? "";
- }
- }
-
- public override bool Equals(object other) {
- return Equals(other as StringValue);
- }
-
- public bool Equals(StringValue other) {
- if (ReferenceEquals(other, null)) {
- return false;
- }
- if (ReferenceEquals(other, this)) {
- return true;
- }
- if (Value != other.Value) return false;
- return true;
- }
-
- public override int GetHashCode() {
- int hash = 1;
- if (Value.Length != 0) hash ^= Value.GetHashCode();
- return hash;
- }
-
- public override string ToString() {
- return pb::JsonFormatter.Default.Format(this);
- }
-
- public void WriteTo(pb::CodedOutputStream output) {
- if (Value.Length != 0) {
- output.WriteRawTag(10);
- output.WriteString(Value);
- }
- }
-
- public int CalculateSize() {
- int size = 0;
- if (Value.Length != 0) {
- size += 1 + pb::CodedOutputStream.ComputeStringSize(Value);
- }
- return size;
- }
-
- public void MergeFrom(StringValue other) {
- if (other == null) {
- return;
- }
- if (other.Value.Length != 0) {
- Value = other.Value;
- }
- }
-
- public void MergeFrom(pb::CodedInputStream input) {
- uint tag;
- while (input.ReadTag(out tag)) {
- switch(tag) {
- case 0:
- throw pb::InvalidProtocolBufferException.InvalidTag();
- default:
- if (pb::WireFormat.IsEndGroupTag(tag)) {
- return;
- }
- break;
- case 10: {
- Value = input.ReadString();
- break;
- }
- }
- }
- }
-
- }
-
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- public sealed partial class BytesValue : pb::IMessage<BytesValue> {
- private static readonly pb::MessageParser<BytesValue> _parser = new pb::MessageParser<BytesValue>(() => new BytesValue());
- public static pb::MessageParser<BytesValue> Parser { get { return _parser; } }
-
- private static readonly string[] _fieldNames = new string[] { "value" };
- private static readonly uint[] _fieldTags = new uint[] { 10 };
- public static pbr::MessageDescriptor Descriptor {
- get { return global::Google.Protobuf.WellKnownTypes.Wrappers.Descriptor.MessageTypes[8]; }
- }
-
- pbr::FieldAccessorTable pb::IReflectedMessage.Fields {
- get { return global::Google.Protobuf.WellKnownTypes.Wrappers.internal__static_google_protobuf_BytesValue__FieldAccessorTable; }
- }
-
- private bool _frozen = false;
- public bool IsFrozen { get { return _frozen; } }
-
- public BytesValue() {
- OnConstruction();
- }
-
- partial void OnConstruction();
-
- public BytesValue(BytesValue other) : this() {
- value_ = other.value_;
- }
-
- public BytesValue Clone() {
- return new BytesValue(this);
- }
-
- public void Freeze() {
- if (IsFrozen) {
- return;
- }
- _frozen = true;
- }
-
- public const int ValueFieldNumber = 1;
- private pb::ByteString value_ = pb::ByteString.Empty;
- public pb::ByteString Value {
- get { return value_; }
- set {
- pb::Freezable.CheckMutable(this);
- value_ = value ?? pb::ByteString.Empty;
- }
- }
-
- public override bool Equals(object other) {
- return Equals(other as BytesValue);
- }
-
- public bool Equals(BytesValue other) {
- if (ReferenceEquals(other, null)) {
- return false;
- }
- if (ReferenceEquals(other, this)) {
- return true;
- }
- if (Value != other.Value) return false;
- return true;
- }
-
- public override int GetHashCode() {
- int hash = 1;
- if (Value.Length != 0) hash ^= Value.GetHashCode();
- return hash;
- }
-
- public override string ToString() {
- return pb::JsonFormatter.Default.Format(this);
- }
-
- public void WriteTo(pb::CodedOutputStream output) {
- if (Value.Length != 0) {
- output.WriteRawTag(10);
- output.WriteBytes(Value);
- }
- }
-
- public int CalculateSize() {
- int size = 0;
- if (Value.Length != 0) {
- size += 1 + pb::CodedOutputStream.ComputeBytesSize(Value);
- }
- return size;
- }
-
- public void MergeFrom(BytesValue other) {
- if (other == null) {
- return;
- }
- if (other.Value.Length != 0) {
- Value = other.Value;
- }
- }
-
- public void MergeFrom(pb::CodedInputStream input) {
- uint tag;
- while (input.ReadTag(out tag)) {
- switch(tag) {
- case 0:
- throw pb::InvalidProtocolBufferException.InvalidTag();
- default:
- if (pb::WireFormat.IsEndGroupTag(tag)) {
- return;
- }
- break;
- case 10: {
- Value = input.ReadBytes();
- break;
- }
- }
- }
- }
-
- }
-
- #endregion
-
-}
-
-#endregion Designer generated code
diff --git a/csharp/src/ProtocolBuffers/WireFormat.cs b/csharp/src/ProtocolBuffers/WireFormat.cs
deleted file mode 100644
index c1712daa..00000000
--- a/csharp/src/ProtocolBuffers/WireFormat.cs
+++ /dev/null
@@ -1,162 +0,0 @@
-#region Copyright notice and license
-// Protocol Buffers - Google's data interchange format
-// Copyright 2008 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
-// 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.
-#endregion
-
-using System;
-using Google.Protobuf.Reflection;
-
-namespace Google.Protobuf
-{
- /// <summary>
- /// This class is used internally by the Protocol Buffer Library and generated
- /// message implementations. It is public only for the sake of those generated
- /// messages. Others should not use this class directly.
- /// <para>
- /// This class contains constants and helper functions useful for dealing with
- /// the Protocol Buffer wire format.
- /// </para>
- /// </summary>
- public static class WireFormat
- {
- #region Fixed sizes.
-
- // TODO(jonskeet): Move these somewhere else. They're messy. Consider making FieldType a smarter kind of enum
- internal const int Fixed32Size = 4;
- internal const int Fixed64Size = 8;
- internal const int SFixed32Size = 4;
- internal const int SFixed64Size = 8;
- internal const int FloatSize = 4;
- internal const int DoubleSize = 8;
- internal const int BoolSize = 1;
-
- #endregion
-
- public enum WireType : uint
- {
- Varint = 0,
- Fixed64 = 1,
- LengthDelimited = 2,
- StartGroup = 3,
- EndGroup = 4,
- Fixed32 = 5
- }
-
- private const int TagTypeBits = 3;
- private const uint TagTypeMask = (1 << TagTypeBits) - 1;
-
- /// <summary>
- /// Given a tag value, determines the wire type (lower 3 bits).
- /// </summary>
- public static WireType GetTagWireType(uint tag)
- {
- return (WireType) (tag & TagTypeMask);
- }
-
- public static bool IsEndGroupTag(uint tag)
- {
- return (WireType) (tag & TagTypeMask) == WireType.EndGroup;
- }
-
- /// <summary>
- /// Given a tag value, determines the field number (the upper 29 bits).
- /// </summary>
- public static int GetTagFieldNumber(uint tag)
- {
- return (int) tag >> TagTypeBits;
- }
-
- /// <summary>
- /// Makes a tag value given a field number and wire type.
- /// </summary>
- public static uint MakeTag(int fieldNumber, WireType wireType)
- {
- return (uint) (fieldNumber << TagTypeBits) | (uint) wireType;
- }
-
- public static uint MakeTag(FieldDescriptor field)
- {
- return MakeTag(field.FieldNumber, GetWireType(field));
- }
-
- /// <summary>
- /// Returns the wire type for the given field descriptor. This differs
- /// from GetWireType(FieldType) for packed repeated fields.
- /// </summary>
- internal static WireType GetWireType(FieldDescriptor descriptor)
- {
- return descriptor.IsPacked ? WireType.LengthDelimited : GetWireType(descriptor.FieldType);
- }
-
- /// <summary>
- /// Converts a field type to its wire type. Done with a switch for the sake
- /// of speed - this is significantly faster than a dictionary lookup.
- /// </summary>
- public static WireType GetWireType(FieldType fieldType)
- {
- switch (fieldType)
- {
- case FieldType.Double:
- return WireType.Fixed64;
- case FieldType.Float:
- return WireType.Fixed32;
- case FieldType.Int64:
- case FieldType.UInt64:
- case FieldType.Int32:
- return WireType.Varint;
- case FieldType.Fixed64:
- return WireType.Fixed64;
- case FieldType.Fixed32:
- return WireType.Fixed32;
- case FieldType.Bool:
- return WireType.Varint;
- case FieldType.String:
- return WireType.LengthDelimited;
- case FieldType.Group:
- return WireType.StartGroup;
- case FieldType.Message:
- case FieldType.Bytes:
- return WireType.LengthDelimited;
- case FieldType.UInt32:
- return WireType.Varint;
- case FieldType.SFixed32:
- return WireType.Fixed32;
- case FieldType.SFixed64:
- return WireType.Fixed64;
- case FieldType.SInt32:
- case FieldType.SInt64:
- case FieldType.Enum:
- return WireType.Varint;
- default:
- throw new ArgumentOutOfRangeException("fieldType", "No such field type");
- }
- }
- }
-} \ No newline at end of file