Merge pull request #691 from jskeet/xml-documentation

Document everything, and turn on errors if we fail to document anything in the future
diff --git a/csharp/src/Google.Protobuf.Test/FieldCodecTest.cs b/csharp/src/Google.Protobuf.Test/FieldCodecTest.cs
index 6f145a4..38ba227 100644
--- a/csharp/src/Google.Protobuf.Test/FieldCodecTest.cs
+++ b/csharp/src/Google.Protobuf.Test/FieldCodecTest.cs
@@ -39,6 +39,7 @@
 {
     public class FieldCodecTest
     {
+#pragma warning disable 0414 // Used by tests via reflection - do not remove!
         private static readonly List<ICodecTestData> Codecs = new List<ICodecTestData>
         {
             new FieldCodecTestData<bool>(FieldCodec.ForBool(100), true, "Bool"),
@@ -61,6 +62,7 @@
             new FieldCodecTestData<ForeignMessage>(
                 FieldCodec.ForMessage(100, ForeignMessage.Parser), new ForeignMessage { C = 10 }, "Message"),
         };
+#pragma warning restore 0414
 
         [Test, TestCaseSource("Codecs")]
         public void RoundTripWithTag(ICodecTestData codec)
diff --git a/csharp/src/Google.Protobuf.Test/IssuesTest.cs b/csharp/src/Google.Protobuf.Test/IssuesTest.cs
index 47a10c5..a035003 100644
--- a/csharp/src/Google.Protobuf.Test/IssuesTest.cs
+++ b/csharp/src/Google.Protobuf.Test/IssuesTest.cs
@@ -49,8 +49,7 @@
             ItemField message = new ItemField { Item = 3 };

             FieldDescriptor field = ItemField.Descriptor.FindFieldByName("item");

             Assert.NotNull(field);

-            // TODO(jonskeet): Reflection...

-            // Assert.AreEqual(3, (int)message[field]);

+            Assert.AreEqual(3, (int)field.Accessor.GetValue(message));

         }

 

         [Test]

diff --git a/csharp/src/Google.Protobuf/JsonFormatter.cs b/csharp/src/Google.Protobuf/JsonFormatter.cs
index edc4718..7c4894b 100644
--- a/csharp/src/Google.Protobuf/JsonFormatter.cs
+++ b/csharp/src/Google.Protobuf/JsonFormatter.cs
@@ -748,7 +748,6 @@
         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]);