Browse Source

Remove CLS compliance from runtime code.
We need to remove it from the generator too; I'll raise a github issue for that.

Jon Skeet 10 years ago
parent
commit
f015b860b7
24 changed files with 1 additions and 151 deletions
  1. 0 2
      csharp/src/ProtocolBuffers.Serialization/AbstractReader.cs
  2. 0 2
      csharp/src/ProtocolBuffers.Serialization/AbstractTextReader.cs
  3. 0 2
      csharp/src/ProtocolBuffers.Serialization/AbstractTextWriter.cs
  4. 0 4
      csharp/src/ProtocolBuffers.Serialization/AbstractWriter.cs
  5. 0 2
      csharp/src/ProtocolBuffers.Serialization/DictionaryReader.cs
  6. 0 2
      csharp/src/ProtocolBuffers.Serialization/DictionaryWriter.cs
  7. 0 2
      csharp/src/ProtocolBuffers.Serialization/Properties/AssemblyInfo.cs
  8. 0 5
      csharp/src/ProtocolBuffers.Test/Properties/AssemblyInfo.cs
  9. 0 36
      csharp/src/ProtocolBuffers/CodedInputStream.cs
  10. 0 10
      csharp/src/ProtocolBuffers/CodedOutputStream.ComputeSize.cs
  11. 0 19
      csharp/src/ProtocolBuffers/CodedOutputStream.cs
  12. 0 10
      csharp/src/ProtocolBuffers/Descriptors/FieldDescriptor.cs
  13. 0 1
      csharp/src/ProtocolBuffers/Descriptors/FieldMappingAttribute.cs
  14. 0 1
      csharp/src/ProtocolBuffers/ExtendableBuilder.cs
  15. 0 1
      csharp/src/ProtocolBuffers/ExtendableBuilderLite.cs
  16. 0 1
      csharp/src/ProtocolBuffers/GeneratedBuilder.cs
  17. 0 1
      csharp/src/ProtocolBuffers/GeneratedBuilderLite.cs
  18. 0 27
      csharp/src/ProtocolBuffers/ICodedInputStream.cs
  19. 1 7
      csharp/src/ProtocolBuffers/ICodedOutputStream.cs
  20. 0 2
      csharp/src/ProtocolBuffers/Properties/AssemblyInfo.cs
  21. 0 2
      csharp/src/ProtocolBuffers/TextFormat.cs
  22. 0 3
      csharp/src/ProtocolBuffers/UnknownField.cs
  23. 0 2
      csharp/src/ProtocolBuffers/UnknownFieldSet.cs
  24. 0 7
      csharp/src/ProtocolBuffers/WireFormat.cs

+ 0 - 2
csharp/src/ProtocolBuffers.Serialization/AbstractReader.cs

@@ -63,7 +63,6 @@ namespace Google.ProtocolBuffers.Serialization
         /// <summary>
         /// Returns true if it was able to read a UInt32 from the input
         /// </summary>
-        [CLSCompliant(false)]
         protected abstract bool Read(ref uint value);
 
         /// <summary>
@@ -74,7 +73,6 @@ namespace Google.ProtocolBuffers.Serialization
         /// <summary>
         /// Returns true if it was able to read a UInt64 from the input
         /// </summary>
-        [CLSCompliant(false)]
         protected abstract bool Read(ref ulong value);
 
         /// <summary>

+ 0 - 2
csharp/src/ProtocolBuffers.Serialization/AbstractTextReader.cs

@@ -62,7 +62,6 @@ namespace Google.ProtocolBuffers.Serialization
         /// <summary>
         /// Returns true if it was able to read a UInt32 from the input
         /// </summary>
-        [CLSCompliant(false)]
         protected override bool Read(ref uint value)
         {
             string text = null;
@@ -91,7 +90,6 @@ namespace Google.ProtocolBuffers.Serialization
         /// <summary>
         /// Returns true if it was able to read a UInt64 from the input
         /// </summary>
-        [CLSCompliant(false)]
         protected override bool Read(ref ulong value)
         {
             string text = null;

+ 0 - 2
csharp/src/ProtocolBuffers.Serialization/AbstractTextWriter.cs

@@ -48,7 +48,6 @@ namespace Google.ProtocolBuffers.Serialization
         /// <summary>
         /// Writes a UInt32 value
         /// </summary>
-        [CLSCompliant(false)]
         protected override void Write(string field, uint value)
         {
             WriteAsText(field, XmlConvert.ToString(value), value);
@@ -65,7 +64,6 @@ namespace Google.ProtocolBuffers.Serialization
         /// <summary>
         /// Writes a UInt64 value
         /// </summary>
-        [CLSCompliant(false)]
         protected override void Write(string field, ulong value)
         {
             WriteAsText(field, XmlConvert.ToString(value), value);

+ 0 - 4
csharp/src/ProtocolBuffers.Serialization/AbstractWriter.cs

@@ -59,7 +59,6 @@ namespace Google.ProtocolBuffers.Serialization
         /// <summary>
         /// Writes a UInt32 value
         /// </summary>
-        [CLSCompliant(false)]
         protected abstract void Write(string field, UInt32 value);
 
         /// <summary>
@@ -70,7 +69,6 @@ namespace Google.ProtocolBuffers.Serialization
         /// <summary>
         /// Writes a UInt64 value
         /// </summary>
-        [CLSCompliant(false)]
         protected abstract void Write(string field, UInt64 value);
 
         /// <summary>
@@ -185,7 +183,6 @@ namespace Google.ProtocolBuffers.Serialization
         /// <summary>
         /// Writes a numeric unknown field of wire type: Fixed32, Fixed64, or Variant
         /// </summary>
-        [CLSCompliant(false)]
         protected virtual void WriteUnknown(WireFormat.WireType wireType, int fieldNumber, ulong value)
         {
         }
@@ -193,7 +190,6 @@ namespace Google.ProtocolBuffers.Serialization
         /// <summary>
         /// Writes an unknown field, Expect WireType of GroupStart or LengthPrefix
         /// </summary>
-        [CLSCompliant(false)]
         protected virtual void WriteUnknown(WireFormat.WireType wireType, int fieldNumber, ByteString value)
         {
         }

+ 0 - 2
csharp/src/ProtocolBuffers.Serialization/DictionaryReader.cs

@@ -118,7 +118,6 @@ namespace Google.ProtocolBuffers.Serialization
         /// <summary>
         /// Returns true if it was able to read a UInt32 from the input
         /// </summary>
-        [CLSCompliant(false)]
         protected override bool Read(ref uint value)
         {
             return GetValue(ref value);
@@ -135,7 +134,6 @@ namespace Google.ProtocolBuffers.Serialization
         /// <summary>
         /// Returns true if it was able to read a UInt64 from the input
         /// </summary>
-        [CLSCompliant(false)]
         protected override bool Read(ref ulong value)
         {
             return GetValue(ref value);

+ 0 - 2
csharp/src/ProtocolBuffers.Serialization/DictionaryWriter.cs

@@ -85,7 +85,6 @@ namespace Google.ProtocolBuffers.Serialization
         /// <summary>
         /// Writes a UInt32 value
         /// </summary>
-        [CLSCompliant(false)]
         protected override void Write(string field, uint value)
         {
             _output[field] = value;
@@ -102,7 +101,6 @@ namespace Google.ProtocolBuffers.Serialization
         /// <summary>
         /// Writes a UInt64 value
         /// </summary>
-        [CLSCompliant(false)]
         protected override void Write(string field, ulong value)
         {
             _output[field] = value;

+ 0 - 2
csharp/src/ProtocolBuffers.Serialization/Properties/AssemblyInfo.cs

@@ -63,5 +63,3 @@ using System.Runtime.CompilerServices;
 #if !NOFILEVERSION
 [assembly: AssemblyFileVersion("2.4.1.555")]
 #endif
-
-[assembly: CLSCompliant(true)]

+ 0 - 5
csharp/src/ProtocolBuffers.Test/Properties/AssemblyInfo.cs

@@ -28,8 +28,3 @@ using System.Runtime.InteropServices;
 // [assembly: AssemblyVersion("2.4.1.555")]
 
 [assembly: AssemblyVersion("2.4.1.555")]
-
-// We don't really need CLSCompliance, but if the assembly builds with no warnings,
-// that means the generator is okay.
-
-[assembly: CLSCompliant(false)]

+ 0 - 36
csharp/src/ProtocolBuffers/CodedInputStream.cs

@@ -186,7 +186,6 @@ namespace Google.ProtocolBuffers
         /// </summary>
         /// <exception cref="InvalidProtocolBufferException">The last
         /// tag read was not the one specified</exception>
-        [CLSCompliant(false)]
         public void CheckLastTagWas(uint value)
         {
             if (lastTag != value)
@@ -202,7 +201,6 @@ namespace Google.ProtocolBuffers
         /// <summary>
         /// Attempt to peek at the next field tag.
         /// </summary>
-        [CLSCompliant(false)]
         public bool PeekNextTag(out uint fieldTag, out string fieldName)
         {
             if (hasNextTag)
@@ -226,7 +224,6 @@ namespace Google.ProtocolBuffers
         /// <param name="fieldTag">The 'tag' of the field (id * 8 + wire-format)</param>
         /// <param name="fieldName">Not Supported - For protobuffer streams, this parameter is always null</param>
         /// <returns>true if the next fieldTag was read</returns>
-        [CLSCompliant(false)]
         public bool ReadTag(out uint fieldTag, out string fieldName)
         {
             fieldName = null;
@@ -290,7 +287,6 @@ namespace Google.ProtocolBuffers
         /// <summary>
         /// Read a uint64 field from the stream.
         /// </summary>
-        [CLSCompliant(false)]
         public bool ReadUInt64(ref ulong value)
         {
             value = ReadRawVarint64();
@@ -318,7 +314,6 @@ namespace Google.ProtocolBuffers
         /// <summary>
         /// Read a fixed64 field from the stream.
         /// </summary>
-        [CLSCompliant(false)]
         public bool ReadFixed64(ref ulong value)
         {
             value = ReadRawLittleEndian64();
@@ -328,7 +323,6 @@ namespace Google.ProtocolBuffers
         /// <summary>
         /// Read a fixed32 field from the stream.
         /// </summary>
-        [CLSCompliant(false)]
         public bool ReadFixed32(ref uint value)
         {
             value = ReadRawLittleEndian32();
@@ -447,7 +441,6 @@ namespace Google.ProtocolBuffers
         /// <summary>
         /// Reads a uint32 field value from the stream.
         /// </summary>   
-        [CLSCompliant(false)]
         public bool ReadUInt32(ref uint value)
         {
             value = ReadRawVarint32();
@@ -477,7 +470,6 @@ namespace Google.ProtocolBuffers
         /// then the ref value is set and it returns true.  Otherwise the unknown output
         /// value is set and this method returns false.
         /// </summary>   
-        [CLSCompliant(false)]
         public bool ReadEnum<T>(ref T value, out object unknown)
             where T : struct, IComparable, IFormattable
         {
@@ -593,7 +585,6 @@ namespace Google.ProtocolBuffers
             return false;
         }
 
-        [CLSCompliant(false)]
         public void ReadPrimitiveArray(FieldType fieldType, uint fieldTag, string fieldName, ICollection<object> list)
         {
             WireFormat.WireType normal = WireFormat.GetWireType(fieldType);
@@ -627,7 +618,6 @@ namespace Google.ProtocolBuffers
             }
         }
 
-        [CLSCompliant(false)]
         public void ReadStringArray(uint fieldTag, string fieldName, ICollection<string> list)
         {
             string tmp = null;
@@ -638,7 +628,6 @@ namespace Google.ProtocolBuffers
             } while (ContinueArray(fieldTag));
         }
 
-        [CLSCompliant(false)]
         public void ReadBytesArray(uint fieldTag, string fieldName, ICollection<ByteString> list)
         {
             ByteString tmp = null;
@@ -649,7 +638,6 @@ namespace Google.ProtocolBuffers
             } while (ContinueArray(fieldTag));
         }
 
-        [CLSCompliant(false)]
         public void ReadBoolArray(uint fieldTag, string fieldName, ICollection<bool> list)
         {
             bool isPacked;
@@ -665,7 +653,6 @@ namespace Google.ProtocolBuffers
             }
         }
 
-        [CLSCompliant(false)]
         public void ReadInt32Array(uint fieldTag, string fieldName, ICollection<int> list)
         {
             bool isPacked;
@@ -681,7 +668,6 @@ namespace Google.ProtocolBuffers
             }
         }
 
-        [CLSCompliant(false)]
         public void ReadSInt32Array(uint fieldTag, string fieldName, ICollection<int> list)
         {
             bool isPacked;
@@ -697,7 +683,6 @@ namespace Google.ProtocolBuffers
             }
         }
 
-        [CLSCompliant(false)]
         public void ReadUInt32Array(uint fieldTag, string fieldName, ICollection<uint> list)
         {
             bool isPacked;
@@ -713,7 +698,6 @@ namespace Google.ProtocolBuffers
             }
         }
 
-        [CLSCompliant(false)]
         public void ReadFixed32Array(uint fieldTag, string fieldName, ICollection<uint> list)
         {
             bool isPacked;
@@ -729,7 +713,6 @@ namespace Google.ProtocolBuffers
             }
         }
 
-        [CLSCompliant(false)]
         public void ReadSFixed32Array(uint fieldTag, string fieldName, ICollection<int> list)
         {
             bool isPacked;
@@ -745,7 +728,6 @@ namespace Google.ProtocolBuffers
             }
         }
 
-        [CLSCompliant(false)]
         public void ReadInt64Array(uint fieldTag, string fieldName, ICollection<long> list)
         {
             bool isPacked;
@@ -761,7 +743,6 @@ namespace Google.ProtocolBuffers
             }
         }
 
-        [CLSCompliant(false)]
         public void ReadSInt64Array(uint fieldTag, string fieldName, ICollection<long> list)
         {
             bool isPacked;
@@ -777,7 +758,6 @@ namespace Google.ProtocolBuffers
             }
         }
 
-        [CLSCompliant(false)]
         public void ReadUInt64Array(uint fieldTag, string fieldName, ICollection<ulong> list)
         {
             bool isPacked;
@@ -793,7 +773,6 @@ namespace Google.ProtocolBuffers
             }
         }
 
-        [CLSCompliant(false)]
         public void ReadFixed64Array(uint fieldTag, string fieldName, ICollection<ulong> list)
         {
             bool isPacked;
@@ -809,7 +788,6 @@ namespace Google.ProtocolBuffers
             }
         }
 
-        [CLSCompliant(false)]
         public void ReadSFixed64Array(uint fieldTag, string fieldName, ICollection<long> list)
         {
             bool isPacked;
@@ -825,7 +803,6 @@ namespace Google.ProtocolBuffers
             }
         }
 
-        [CLSCompliant(false)]
         public void ReadDoubleArray(uint fieldTag, string fieldName, ICollection<double> list)
         {
             bool isPacked;
@@ -841,7 +818,6 @@ namespace Google.ProtocolBuffers
             }
         }
 
-        [CLSCompliant(false)]
         public void ReadFloatArray(uint fieldTag, string fieldName, ICollection<float> list)
         {
             bool isPacked;
@@ -857,7 +833,6 @@ namespace Google.ProtocolBuffers
             }
         }
 
-        [CLSCompliant(false)]
         public void ReadEnumArray(uint fieldTag, string fieldName, ICollection<IEnumLite> list,
                                   out ICollection<object> unknown, IEnumLiteMap mapping)
         {
@@ -908,7 +883,6 @@ namespace Google.ProtocolBuffers
             }
         }
 
-        [CLSCompliant(false)]
         public void ReadEnumArray<T>(uint fieldTag, string fieldName, ICollection<T> list,
                                      out ICollection<object> unknown)
             where T : struct, IComparable, IFormattable
@@ -960,7 +934,6 @@ namespace Google.ProtocolBuffers
             }
         }
 
-        [CLSCompliant(false)]
         public void ReadMessageArray<T>(uint fieldTag, string fieldName, ICollection<T> list, T messageType,
                                         ExtensionRegistry registry) where T : IMessageLite
         {
@@ -972,7 +945,6 @@ namespace Google.ProtocolBuffers
             } while (ContinueArray(fieldTag));
         }
 
-        [CLSCompliant(false)]
         public void ReadGroupArray<T>(uint fieldTag, string fieldName, ICollection<T> list, T messageType,
                                       ExtensionRegistry registry) where T : IMessageLite
         {
@@ -1217,7 +1189,6 @@ namespace Google.ProtocolBuffers
         /// That means we can check the size just once, then just read directly from the buffer
         /// without constant rechecking of the buffer length.
         /// </summary>
-        [CLSCompliant(false)]
         public uint ReadRawVarint32()
         {
             if (bufferPos + 5 > bufferSize)
@@ -1283,7 +1254,6 @@ namespace Google.ProtocolBuffers
         /// </summary>
         /// <param name="input"></param>
         /// <returns></returns>
-        [CLSCompliant(false)]
         public static uint ReadRawVarint32(Stream input)
         {
             int result = 0;
@@ -1320,7 +1290,6 @@ namespace Google.ProtocolBuffers
         /// <summary>
         /// Read a raw varint from the stream.
         /// </summary>
-        [CLSCompliant(false)]
         public ulong ReadRawVarint64()
         {
             int shift = 0;
@@ -1341,7 +1310,6 @@ namespace Google.ProtocolBuffers
         /// <summary>
         /// Read a 32-bit little-endian integer from the stream.
         /// </summary>
-        [CLSCompliant(false)]
         public uint ReadRawLittleEndian32()
         {
             uint b1 = ReadRawByte();
@@ -1354,7 +1322,6 @@ namespace Google.ProtocolBuffers
         /// <summary>
         /// Read a 64-bit little-endian integer from the stream.
         /// </summary>
-        [CLSCompliant(false)]
         public ulong ReadRawLittleEndian64()
         {
             ulong b1 = ReadRawByte();
@@ -1380,7 +1347,6 @@ namespace Google.ProtocolBuffers
         /// sign-extended to 64 bits to be varint encoded, thus always taking
         /// 10 bytes on the wire.)
         /// </remarks>
-        [CLSCompliant(false)]
         public static int DecodeZigZag32(uint n)
         {
             return (int) (n >> 1) ^ -(int) (n & 1);
@@ -1395,7 +1361,6 @@ namespace Google.ProtocolBuffers
         /// sign-extended to 64 bits to be varint encoded, thus always taking
         /// 10 bytes on the wire.)
         /// </remarks>
-        [CLSCompliant(false)]
         public static long DecodeZigZag64(ulong n)
         {
             return (long) (n >> 1) ^ -(long) (n & 1);
@@ -1732,7 +1697,6 @@ namespace Google.ProtocolBuffers
         /// </summary>
         /// <returns>false if the tag is an end-group tag, in which case
         /// nothing is skipped. Otherwise, returns true.</returns>
-        [CLSCompliant(false)]
         public bool SkipField()
         {
             uint tag = lastTag;

+ 0 - 10
csharp/src/ProtocolBuffers/CodedOutputStream.ComputeSize.cs

@@ -71,7 +71,6 @@ namespace Google.ProtocolBuffers
         /// Compute the number of bytes that would be needed to encode a
         /// uint64 field, including the tag.
         /// </summary>
-        [CLSCompliant(false)]
         public static int ComputeUInt64Size(int fieldNumber, ulong value)
         {
             return ComputeTagSize(fieldNumber) + ComputeRawVarint64Size(value);
@@ -107,7 +106,6 @@ namespace Google.ProtocolBuffers
         /// Compute the number of bytes that would be needed to encode a
         /// fixed64 field, including the tag.
         /// </summary>
-        [CLSCompliant(false)]
         public static int ComputeFixed64Size(int fieldNumber, ulong value)
         {
             return ComputeTagSize(fieldNumber) + LittleEndian64Size;
@@ -117,7 +115,6 @@ namespace Google.ProtocolBuffers
         /// Compute the number of bytes that would be needed to encode a
         /// fixed32 field, including the tag.
         /// </summary>
-        [CLSCompliant(false)]
         public static int ComputeFixed32Size(int fieldNumber, uint value)
         {
             return ComputeTagSize(fieldNumber) + LittleEndian32Size;
@@ -189,7 +186,6 @@ namespace Google.ProtocolBuffers
         /// Compute the number of bytes that would be needed to encode a
         /// uint32 field, including the tag.
         /// </summary>
-        [CLSCompliant(false)]
         public static int ComputeUInt32Size(int fieldNumber, uint value)
         {
             return ComputeTagSize(fieldNumber) + ComputeRawVarint32Size(value);
@@ -263,7 +259,6 @@ namespace Google.ProtocolBuffers
         /// Compute the number of bytes that would be needed to encode a
         /// uint64 field, including the tag.
         /// </summary>
-        [CLSCompliant(false)]
         public static int ComputeUInt64SizeNoTag(ulong value)
         {
             return ComputeRawVarint64Size(value);
@@ -299,7 +294,6 @@ namespace Google.ProtocolBuffers
         /// Compute the number of bytes that would be needed to encode a
         /// fixed64 field, including the tag.
         /// </summary>
-        [CLSCompliant(false)]
         public static int ComputeFixed64SizeNoTag(ulong value)
         {
             return LittleEndian64Size;
@@ -309,7 +303,6 @@ namespace Google.ProtocolBuffers
         /// Compute the number of bytes that would be needed to encode a
         /// fixed32 field, including the tag.
         /// </summary>
-        [CLSCompliant(false)]
         public static int ComputeFixed32SizeNoTag(uint value)
         {
             return LittleEndian32Size;
@@ -378,7 +371,6 @@ namespace Google.ProtocolBuffers
         /// Compute the number of bytes that would be needed to encode a
         /// uint32 field, including the tag.
         /// </summary>
-        [CLSCompliant(false)]
         public static int ComputeUInt32SizeNoTag(uint value)
         {
             return ComputeRawVarint32Size(value);
@@ -463,7 +455,6 @@ namespace Google.ProtocolBuffers
         /// <summary>
         /// Compute the number of bytes that would be needed to encode a varint.
         /// </summary>
-        [CLSCompliant(false)]
         public static int ComputeRawVarint32Size(uint value)
         {
             if ((value & (0xffffffff << 7)) == 0)
@@ -488,7 +479,6 @@ namespace Google.ProtocolBuffers
         /// <summary>
         /// Compute the number of bytes that would be needed to encode a varint.
         /// </summary>
-        [CLSCompliant(false)]
         public static int ComputeRawVarint64Size(ulong value)
         {
             if ((value & (0xffffffffffffffffL << 7)) == 0)

+ 0 - 19
csharp/src/ProtocolBuffers/CodedOutputStream.cs

@@ -159,7 +159,6 @@ namespace Google.ProtocolBuffers
             WriteBytes(fieldNumber, null /*not used*/, value);
         }
 
-        [CLSCompliant(false)]
         public void WriteUnknownField(int fieldNumber, WireFormat.WireType wireType, ulong value)
         {
             if (wireType == WireFormat.WireType.Varint)
@@ -273,7 +272,6 @@ namespace Google.ProtocolBuffers
         /// <summary>
         /// Writes a uint64 field value, including tag, to the stream.
         /// </summary>
-        [CLSCompliant(false)]
         public void WriteUInt64(int fieldNumber, string fieldName, ulong value)
         {
             WriteTag(fieldNumber, WireFormat.WireType.Varint);
@@ -309,7 +307,6 @@ namespace Google.ProtocolBuffers
         /// <summary>
         /// Writes a fixed64 field value, including tag, to the stream.
         /// </summary>
-        [CLSCompliant(false)]
         public void WriteFixed64(int fieldNumber, string fieldName, ulong value)
         {
             WriteTag(fieldNumber, WireFormat.WireType.Fixed64);
@@ -319,7 +316,6 @@ namespace Google.ProtocolBuffers
         /// <summary>
         /// Writes a fixed32 field value, including tag, to the stream.
         /// </summary>
-        [CLSCompliant(false)]
         public void WriteFixed32(int fieldNumber, string fieldName, uint value)
         {
             WriteTag(fieldNumber, WireFormat.WireType.Fixed32);
@@ -381,7 +377,6 @@ namespace Google.ProtocolBuffers
             value.WriteRawBytesTo(this);
         }
 
-        [CLSCompliant(false)]
         public void WriteUInt32(int fieldNumber, string fieldName, uint value)
         {
             WriteTag(fieldNumber, WireFormat.WireType.Varint);
@@ -541,7 +536,6 @@ namespace Google.ProtocolBuffers
         /// <summary>
         /// Writes a uint64 field value, without a tag, to the stream.
         /// </summary>
-        [CLSCompliant(false)]
         public void WriteUInt64NoTag(ulong value)
         {
             WriteRawVarint64(value);
@@ -574,7 +568,6 @@ namespace Google.ProtocolBuffers
         /// <summary>
         /// Writes a fixed64 field value, without a tag, to the stream.
         /// </summary>
-        [CLSCompliant(false)]
         public void WriteFixed64NoTag(ulong value)
         {
             WriteRawLittleEndian64(value);
@@ -583,7 +576,6 @@ namespace Google.ProtocolBuffers
         /// <summary>
         /// Writes a fixed32 field value, without a tag, to the stream.
         /// </summary>
-        [CLSCompliant(false)]
         public void WriteFixed32NoTag(uint value)
         {
             WriteRawLittleEndian32(value);
@@ -638,7 +630,6 @@ namespace Google.ProtocolBuffers
             value.WriteRawBytesTo(this);
         }
 
-        [CLSCompliant(false)]
         public void WriteUInt32NoTag(uint value)
         {
             WriteRawVarint32(value);
@@ -819,7 +810,6 @@ namespace Google.ProtocolBuffers
             }
         }
 
-        [CLSCompliant(false)]
         public void WriteEnumArray<T>(int fieldNumber, string fieldName, IEnumerable<T> list)
             where T : struct, IComparable, IFormattable
         {
@@ -1041,7 +1031,6 @@ namespace Google.ProtocolBuffers
             }
         }
 
-        [CLSCompliant(false)]
         public void WritePackedEnumArray<T>(int fieldNumber, string fieldName, int calculatedSize, IEnumerable<T> list)
             where T : struct, IComparable, IFormattable
         {
@@ -1070,7 +1059,6 @@ namespace Google.ProtocolBuffers
         /// <summary>
         /// Encodes and writes a tag.
         /// </summary>
-        [CLSCompliant(false)]
         public void WriteTag(int fieldNumber, WireFormat.WireType type)
         {
             WriteRawVarint32(WireFormat.MakeTag(fieldNumber, type));
@@ -1081,7 +1069,6 @@ namespace Google.ProtocolBuffers
         /// there's enough buffer space left to whizz through without checking
         /// for each byte; otherwise, we resort to calling WriteRawByte each time.
         /// </summary>
-        [CLSCompliant(false)]
         public void WriteRawVarint32(uint value)
         {
             while (value > 127 && position < limit)
@@ -1104,7 +1091,6 @@ namespace Google.ProtocolBuffers
             }
         }
 
-        [CLSCompliant(false)]
         public void WriteRawVarint64(ulong value)
         {
             while (value > 127 && position < limit)
@@ -1127,7 +1113,6 @@ namespace Google.ProtocolBuffers
             }
         }
 
-        [CLSCompliant(false)]
         public void WriteRawLittleEndian32(uint value)
         {
             if (position + 4 > limit)
@@ -1146,7 +1131,6 @@ namespace Google.ProtocolBuffers
             }
         }
 
-        [CLSCompliant(false)]
         public void WriteRawLittleEndian64(ulong value)
         {
             if (position + 8 > limit)
@@ -1183,7 +1167,6 @@ namespace Google.ProtocolBuffers
             buffer[position++] = value;
         }
 
-        [CLSCompliant(false)]
         public void WriteRawByte(uint value)
         {
             WriteRawByte((byte) value);
@@ -1247,7 +1230,6 @@ namespace Google.ProtocolBuffers
         /// sign-extended to 64 bits to be varint encoded, thus always taking
         /// 10 bytes on the wire.)
         /// </remarks>
-        [CLSCompliant(false)]
         public static uint EncodeZigZag32(int n)
         {
             // Note:  the right-shift must be arithmetic
@@ -1263,7 +1245,6 @@ namespace Google.ProtocolBuffers
         /// sign-extended to 64 bits to be varint encoded, thus always taking
         /// 10 bytes on the wire.)
         /// </remarks>
-        [CLSCompliant(false)]
         public static ulong EncodeZigZag64(long n)
         {
             return (ulong) ((n << 1) ^ (n >> 63));

+ 0 - 10
csharp/src/ProtocolBuffers/Descriptors/FieldDescriptor.cs

@@ -298,16 +298,6 @@ namespace Google.ProtocolBuffers.Descriptors
             get { return fieldType; }
         }
 
-        public bool IsCLSCompliant
-        {
-            get 
-            { 
-                return mappedType != MappedType.UInt32 && 
-                    mappedType != MappedType.UInt64 &&
-                    !NameHelpers.UnderscoresToPascalCase(Name).StartsWith("_");
-            }
-        }
-
         public int FieldNumber
         {
             get { return Proto.Number; }

+ 0 - 1
csharp/src/ProtocolBuffers/Descriptors/FieldMappingAttribute.cs

@@ -40,7 +40,6 @@ namespace Google.ProtocolBuffers.Descriptors
     /// Defined specifically for the <see cref="FieldType" /> enumeration,
     /// this allows each field type to specify the mapped type and wire type.
     /// </summary>
-    [CLSCompliant(false)]
     [AttributeUsage(AttributeTargets.Field)]
     public sealed class FieldMappingAttribute : Attribute
     {

+ 0 - 1
csharp/src/ProtocolBuffers/ExtendableBuilder.cs

@@ -129,7 +129,6 @@ namespace Google.ProtocolBuffers
         /// Called by subclasses to parse an unknown field or an extension.
         /// </summary>
         /// <returns>true unless the tag is an end-group tag</returns>
-        [CLSCompliant(false)]
         protected override bool ParseUnknownField(ICodedInputStream input, UnknownFieldSet.Builder unknownFields,
                                                   ExtensionRegistry extensionRegistry, uint tag, string fieldName)
         {

+ 0 - 1
csharp/src/ProtocolBuffers/ExtendableBuilderLite.cs

@@ -132,7 +132,6 @@ namespace Google.ProtocolBuffers
         /// Called by subclasses to parse an unknown field or an extension.
         /// </summary>
         /// <returns>true unless the tag is an end-group tag</returns>
-        [CLSCompliant(false)]
         protected override bool ParseUnknownField(ICodedInputStream input,
                                                   ExtensionRegistry extensionRegistry, uint tag, string fieldName)
         {

+ 0 - 1
csharp/src/ProtocolBuffers/GeneratedBuilder.cs

@@ -83,7 +83,6 @@ namespace Google.ProtocolBuffers
         /// Called by derived classes to parse an unknown field.
         /// </summary>
         /// <returns>true unless the tag is an end-group tag</returns>
-        [CLSCompliant(false)]
         protected virtual bool ParseUnknownField(ICodedInputStream input, UnknownFieldSet.Builder unknownFields,
                                                  ExtensionRegistry extensionRegistry, uint tag, string fieldName)
         {

+ 0 - 1
csharp/src/ProtocolBuffers/GeneratedBuilderLite.cs

@@ -65,7 +65,6 @@ namespace Google.ProtocolBuffers
         /// Called by derived classes to parse an unknown field.
         /// </summary>
         /// <returns>true unless the tag is an end-group tag</returns>
-        [CLSCompliant(false)]
         protected virtual bool ParseUnknownField(ICodedInputStream input,
                                                  ExtensionRegistry extensionRegistry, uint tag, string fieldName)
         {

+ 0 - 27
csharp/src/ProtocolBuffers/ICodedInputStream.cs

@@ -78,7 +78,6 @@ namespace Google.ProtocolBuffers
         /// builders will always prefer the fieldTag over fieldName.
         /// </para>
         /// </remarks>
-        [CLSCompliant(false)]
         bool ReadTag(out uint fieldTag, out string fieldName);
 
         /// <summary>
@@ -94,7 +93,6 @@ namespace Google.ProtocolBuffers
         /// <summary>
         /// Read a uint64 field from the stream.
         /// </summary>
-        [CLSCompliant(false)]
         bool ReadUInt64(ref ulong value);
 
         /// <summary>
@@ -110,13 +108,11 @@ namespace Google.ProtocolBuffers
         /// <summary>
         /// Read a fixed64 field from the stream.
         /// </summary>
-        [CLSCompliant(false)]
         bool ReadFixed64(ref ulong value);
 
         /// <summary>
         /// Read a fixed32 field from the stream.
         /// </summary>
-        [CLSCompliant(false)]
         bool ReadFixed32(ref uint value);
 
         /// <summary>
@@ -155,7 +151,6 @@ namespace Google.ProtocolBuffers
         /// <summary>
         /// Reads a uint32 field value from the stream.
         /// </summary>   
-        [CLSCompliant(false)]
         bool ReadUInt32(ref uint value);
 
         /// <summary>
@@ -169,7 +164,6 @@ namespace Google.ProtocolBuffers
         /// then the ref value is set and it returns true.  Otherwise the unkown output
         /// value is set and this method returns false.
         /// </summary>   
-        [CLSCompliant(false)]
         bool ReadEnum<T>(ref T value, out object unknown)
             where T : struct, IComparable, IFormattable;
 
@@ -197,14 +191,12 @@ namespace Google.ProtocolBuffers
         /// Reads an array of primitive values into the list, if the wire-type of fieldTag is length-prefixed and the 
         /// type is numeric, it will read a packed array.
         /// </summary>
-        [CLSCompliant(false)]
         void ReadPrimitiveArray(FieldType fieldType, uint fieldTag, string fieldName, ICollection<object> list);
 
         /// <summary>
         /// Reads an array of primitive values into the list, if the wire-type of fieldTag is length-prefixed, it will
         /// read a packed array.
         /// </summary>
-        [CLSCompliant(false)]
         void ReadEnumArray(uint fieldTag, string fieldName, ICollection<IEnumLite> list, out ICollection<object> unknown,
                            IEnumLiteMap mapping);
 
@@ -212,7 +204,6 @@ namespace Google.ProtocolBuffers
         /// Reads an array of primitive values into the list, if the wire-type of fieldTag is length-prefixed, it will
         /// read a packed array.
         /// </summary>
-        [CLSCompliant(false)]
         void ReadEnumArray<T>(uint fieldTag, string fieldName, ICollection<T> list, out ICollection<object> unknown)
             where T : struct, IComparable, IFormattable;
 
@@ -220,14 +211,12 @@ namespace Google.ProtocolBuffers
         /// Reads a set of messages using the <paramref name="messageType"/> as a template.  T is not guaranteed to be 
         /// the most derived type, it is only the type specifier for the collection.
         /// </summary>
-        [CLSCompliant(false)]
         void ReadMessageArray<T>(uint fieldTag, string fieldName, ICollection<T> list, T messageType,
                                  ExtensionRegistry registry) where T : IMessageLite;
 
         /// <summary>
         /// Reads a set of messages using the <paramref name="messageType"/> as a template.
         /// </summary>
-        [CLSCompliant(false)]
         void ReadGroupArray<T>(uint fieldTag, string fieldName, ICollection<T> list, T messageType,
                                ExtensionRegistry registry) where T : IMessageLite;
 
@@ -249,97 +238,81 @@ namespace Google.ProtocolBuffers
         /// </summary>
         /// <returns>false if the tag is an end-group tag, in which case
         /// nothing is skipped. Otherwise, returns true.</returns>
-        [CLSCompliant(false)]
         bool SkipField();
 
         /// <summary>
         /// Reads one or more repeated string field values from the stream.
         /// </summary>   
-        [CLSCompliant(false)]
         void ReadStringArray(uint fieldTag, string fieldName, ICollection<string> list);
 
         /// <summary>
         /// Reads one or more repeated ByteString field values from the stream.
         /// </summary>   
-        [CLSCompliant(false)]
         void ReadBytesArray(uint fieldTag, string fieldName, ICollection<ByteString> list);
 
         /// <summary>
         /// Reads one or more repeated boolean field values from the stream.
         /// </summary>
-        [CLSCompliant(false)]
         void ReadBoolArray(uint fieldTag, string fieldName, ICollection<bool> list);
 
         /// <summary>
         /// Reads one or more repeated Int32 field values from the stream.
         /// </summary>
-        [CLSCompliant(false)]
         void ReadInt32Array(uint fieldTag, string fieldName, ICollection<int> list);
 
         /// <summary>
         /// Reads one or more repeated SInt32 field values from the stream.
         /// </summary>
-        [CLSCompliant(false)]
         void ReadSInt32Array(uint fieldTag, string fieldName, ICollection<int> list);
 
         /// <summary>
         /// Reads one or more repeated UInt32 field values from the stream.
         /// </summary>
-        [CLSCompliant(false)]
         void ReadUInt32Array(uint fieldTag, string fieldName, ICollection<uint> list);
 
         /// <summary>
         /// Reads one or more repeated Fixed32 field values from the stream.
         /// </summary>
-        [CLSCompliant(false)]
         void ReadFixed32Array(uint fieldTag, string fieldName, ICollection<uint> list);
 
         /// <summary>
         /// Reads one or more repeated SFixed32 field values from the stream.
         /// </summary>
-        [CLSCompliant(false)]
         void ReadSFixed32Array(uint fieldTag, string fieldName, ICollection<int> list);
 
         /// <summary>
         /// Reads one or more repeated Int64 field values from the stream.
         /// </summary>
-        [CLSCompliant(false)]
         void ReadInt64Array(uint fieldTag, string fieldName, ICollection<long> list);
 
         /// <summary>
         /// Reads one or more repeated SInt64 field values from the stream.
         /// </summary>
-        [CLSCompliant(false)]
         void ReadSInt64Array(uint fieldTag, string fieldName, ICollection<long> list);
 
         /// <summary>
         /// Reads one or more repeated UInt64 field values from the stream.
         /// </summary>
-        [CLSCompliant(false)]
         void ReadUInt64Array(uint fieldTag, string fieldName, ICollection<ulong> list);
 
         /// <summary>
         /// Reads one or more repeated Fixed64 field values from the stream.
         /// </summary>
-        [CLSCompliant(false)]
         void ReadFixed64Array(uint fieldTag, string fieldName, ICollection<ulong> list);
 
         /// <summary>
         /// Reads one or more repeated SFixed64 field values from the stream.
         /// </summary>
-        [CLSCompliant(false)]
         void ReadSFixed64Array(uint fieldTag, string fieldName, ICollection<long> list);
 
         /// <summary>
         /// Reads one or more repeated Double field values from the stream.
         /// </summary>
-        [CLSCompliant(false)]
         void ReadDoubleArray(uint fieldTag, string fieldName, ICollection<double> list);
 
         /// <summary>
         /// Reads one or more repeated Float field values from the stream.
         /// </summary>
-        [CLSCompliant(false)]
         void ReadFloatArray(uint fieldTag, string fieldName, ICollection<float> list);
     }
 }

+ 1 - 7
csharp/src/ProtocolBuffers/ICodedOutputStream.cs

@@ -85,7 +85,7 @@ namespace Google.ProtocolBuffers
         /// <summary>
         /// Writes an unknown field of a primitive type
         /// </summary>
-        [CLSCompliant(false)]
+
         void WriteUnknownField(int fieldNumber, WireFormat.WireType wireType, ulong value);
         /// <summary>
         /// Writes an extension as a message-set group
@@ -114,7 +114,6 @@ namespace Google.ProtocolBuffers
         /// <summary>
         /// Writes a uint64 field value, including tag, to the stream.
         /// </summary>
-        [CLSCompliant(false)]
         void WriteUInt64(int fieldNumber, string fieldName, ulong value);
 
         /// <summary>
@@ -130,13 +129,11 @@ namespace Google.ProtocolBuffers
         /// <summary>
         /// Writes a fixed64 field value, including tag, to the stream.
         /// </summary>
-        [CLSCompliant(false)]
         void WriteFixed64(int fieldNumber, string fieldName, ulong value);
 
         /// <summary>
         /// Writes a fixed32 field value, including tag, to the stream.
         /// </summary>
-        [CLSCompliant(false)]
         void WriteFixed32(int fieldNumber, string fieldName, uint value);
 
         /// <summary>
@@ -167,7 +164,6 @@ namespace Google.ProtocolBuffers
         /// <summary>
         /// Writes a UInt32 field value, including tag, to the stream.
         /// </summary>
-        [CLSCompliant(false)]
         void WriteUInt32(int fieldNumber, string fieldName, uint value);
 
         /// <summary>
@@ -290,7 +286,6 @@ namespace Google.ProtocolBuffers
         /// <summary>
         /// Writes a repeated enumeration value of type T, including tag(s), to the stream.
         /// </summary>
-        [CLSCompliant(false)]
         void WriteEnumArray<T>(int fieldNumber, string fieldName, IEnumerable<T> list)
             where T : struct, IComparable, IFormattable;
 
@@ -367,7 +362,6 @@ namespace Google.ProtocolBuffers
         /// <summary>
         /// Writes a packed repeated enumeration of type T, including tag and length, to the stream.
         /// </summary>
-        [CLSCompliant(false)]
         void WritePackedEnumArray<T>(int fieldNumber, string fieldName, int calculatedSize, IEnumerable<T> list)
             where T : struct, IComparable, IFormattable;
     }

+ 0 - 2
csharp/src/ProtocolBuffers/Properties/AssemblyInfo.cs

@@ -65,8 +65,6 @@ using System.Security;
 [assembly: AssemblyFileVersion("2.4.1.555")]
 #endif
 
-[assembly: CLSCompliant(true)]
-
 #if CLIENTPROFILE // ROK - not defined in SL, CF, or PL
 [assembly: AllowPartiallyTrustedCallers]
 #endif

+ 0 - 2
csharp/src/ProtocolBuffers/TextFormat.cs

@@ -300,7 +300,6 @@ namespace Google.ProtocolBuffers
             }
         }
 
-        [CLSCompliant(false)]
         public static ulong ParseUInt64(string text)
         {
             return (ulong) ParseInteger(text, false, true);
@@ -311,7 +310,6 @@ namespace Google.ProtocolBuffers
             return ParseInteger(text, true, true);
         }
 
-        [CLSCompliant(false)]
         public static uint ParseUInt32(string text)
         {
             return (uint) ParseInteger(text, false, false);

+ 0 - 3
csharp/src/ProtocolBuffers/UnknownField.cs

@@ -339,7 +339,6 @@ namespace Google.ProtocolBuffers
             /// <summary>
             /// Adds a varint value.
             /// </summary>
-            [CLSCompliant(false)]
             public Builder AddVarint(ulong value)
             {
                 varintList = Add(varintList, value);
@@ -349,7 +348,6 @@ namespace Google.ProtocolBuffers
             /// <summary>
             /// Adds a fixed32 value.
             /// </summary>
-            [CLSCompliant(false)]
             public Builder AddFixed32(uint value)
             {
                 fixed32List = Add(fixed32List, value);
@@ -359,7 +357,6 @@ namespace Google.ProtocolBuffers
             /// <summary>
             /// Adds a fixed64 value.
             /// </summary>
-            [CLSCompliant(false)]
             public Builder AddFixed64(ulong value)
             {
                 fixed64List = Add(fixed64List, value);

+ 0 - 2
csharp/src/ProtocolBuffers/UnknownFieldSet.cs

@@ -446,7 +446,6 @@ namespace Google.ProtocolBuffers
             /// <param name="tag">The field's tag number, which was already parsed.</param>
             /// <param name="input">The coded input stream containing the field</param>
             /// <returns>false if the tag is an "end group" tag, true otherwise</returns>
-            [CLSCompliant(false)]
             public bool MergeFieldFrom(uint tag, ICodedInputStream input)
             {
                 if (tag == 0)
@@ -554,7 +553,6 @@ namespace Google.ProtocolBuffers
             /// value.  This is used in particular when an unknown enum value is
             /// encountered.
             /// </summary>
-            [CLSCompliant(false)]
             public Builder MergeVarintField(int number, ulong value)
             {
                 if (number == 0)

+ 0 - 7
csharp/src/ProtocolBuffers/WireFormat.cs

@@ -63,7 +63,6 @@ namespace Google.ProtocolBuffers
 
         #endregion
 
-        [CLSCompliant(false)]
         public enum WireType : uint
         {
             Varint = 0,
@@ -95,13 +94,11 @@ namespace Google.ProtocolBuffers
         /// <summary>
         /// Given a tag value, determines the wire type (lower 3 bits).
         /// </summary>
-        [CLSCompliant(false)]
         public static WireType GetTagWireType(uint tag)
         {
             return (WireType) (tag & TagTypeMask);
         }
 
-        [CLSCompliant(false)]
         public static bool IsEndGroupTag(uint tag)
         {
             return (WireType) (tag & TagTypeMask) == WireType.EndGroup;
@@ -110,7 +107,6 @@ namespace Google.ProtocolBuffers
         /// <summary>
         /// Given a tag value, determines the field number (the upper 29 bits).
         /// </summary>
-        [CLSCompliant(false)]
         public static int GetTagFieldNumber(uint tag)
         {
             return (int) tag >> TagTypeBits;
@@ -120,14 +116,12 @@ namespace Google.ProtocolBuffers
         /// Makes a tag value given a field number and wire type.
         /// TODO(jonskeet): Should we just have a Tag structure?
         /// </summary>
-        [CLSCompliant(false)]
         public static uint MakeTag(int fieldNumber, WireType wireType)
         {
             return (uint) (fieldNumber << TagTypeBits) | (uint) wireType;
         }
 
 #if !LITE
-        [CLSCompliant(false)]
         public static uint MakeTag(FieldDescriptor field)
         {
             return MakeTag(field.FieldNumber, GetWireType(field));
@@ -148,7 +142,6 @@ namespace Google.ProtocolBuffers
         /// 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>
-        [CLSCompliant(false)]
         public static WireType GetWireType(FieldType fieldType)
         {
             switch (fieldType)