Browse Source

Changes from code review

csharptest 14 năm trước cách đây
mục cha
commit
353b0fad90

+ 1 - 18
src/ProtocolBuffers.Serialization/AbstractWriter.cs

@@ -12,18 +12,8 @@ namespace Google.ProtocolBuffers.Serialization
     /// <summary>
     /// Provides a base class for writers that performs some basic type dispatching
     /// </summary>
-    public abstract class AbstractWriter : ICodedOutputStream, IDisposable
+    public abstract class AbstractWriter : ICodedOutputStream
     {
-        /// <summary>
-        /// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
-        /// </summary>
-        public void Dispose()
-        {
-            GC.SuppressFinalize(this);
-            Flush();
-            Dispose(true);
-        }
-
         /// <summary>
         /// Completes any pending write operations
         /// </summary>
@@ -31,13 +21,6 @@ namespace Google.ProtocolBuffers.Serialization
         {
         }
 
-        /// <summary>
-        /// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
-        /// </summary>
-        protected virtual void Dispose(bool disposing)
-        {
-        }
-
         /// <summary>
         /// Writes the message to the the formatted stream.
         /// </summary>

+ 1 - 1
src/ProtocolBuffers.Serialization/Http/MessageFormatOptions.cs

@@ -8,7 +8,7 @@ namespace Google.ProtocolBuffers.Serialization.Http
     /// <summary>
     /// Defines control information for the various formatting used with HTTP services
     /// </summary>
-    public struct MessageFormatOptions
+    public class MessageFormatOptions
     {
         /// <summary>The mime type for xml content</summary>
         /// <remarks>Other valid xml mime types include: application/binary, application/x-protobuf</remarks>

+ 1 - 17
src/ProtocolBuffers.Serialization/JsonFormatWriter.cs

@@ -239,27 +239,11 @@ namespace Google.ProtocolBuffers.Serialization
         /// <summary> Gets or sets the whitespace to use to separate the text, default = empty </summary>
         public string Whitespace { get; set; }
 
-        /// <summary>
-        /// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
-        /// </summary>
-        protected override void Dispose(bool disposing)
-        {
-            if (disposing)
-            {
-                while (_counter.Count > 1)
-                {
-                    WriteMessageEnd();
-                }
-            }
-
-            base.Dispose(disposing);
-        }
-
         private void Seperator()
         {
             if (_counter.Count == 0)
             {
-                throw new InvalidOperationException("Missmatched open/close in Json writer.");
+                throw new InvalidOperationException("Mismatched open/close in Json writer.");
             }
 
             int index = _counter.Count - 1;

+ 8 - 8
src/ProtocolBuffers.Serialization/XmlFormatReader.cs

@@ -14,16 +14,16 @@ namespace Google.ProtocolBuffers.Serialization
     {
         public const string DefaultRootElementName = XmlFormatWriter.DefaultRootElementName;
         private readonly XmlReader _input;
-        private readonly Stack<ElementStack> _elements;
+        private readonly Stack<ElementStackEntry> _elements;
         private string _rootElementName;
 
-        private struct ElementStack
+        private struct ElementStackEntry
         {
             public readonly string LocalName;
             public readonly int Depth;
             public readonly bool IsEmpty;
 
-            public ElementStack(string localName, int depth, bool isEmpty) : this()
+            public ElementStackEntry(string localName, int depth, bool isEmpty) : this()
             {
                 LocalName = localName;
                 IsEmpty = isEmpty;
@@ -87,7 +87,7 @@ namespace Google.ProtocolBuffers.Serialization
         {
             _input = input;
             _rootElementName = DefaultRootElementName;
-            _elements = new Stack<ElementStack>();
+            _elements = new Stack<ElementStackEntry>();
             Options = XmlReaderOptions.None;
         }
 
@@ -144,7 +144,7 @@ namespace Google.ProtocolBuffers.Serialization
                 continue;
             }
             Assert(_input.IsStartElement() && _input.LocalName == element);
-            _elements.Push(new ElementStack(element, _input.Depth, _input.IsEmptyElement));
+            _elements.Push(new ElementStackEntry(element, _input.Depth, _input.IsEmptyElement));
             _input.Read();
         }
 
@@ -156,7 +156,7 @@ namespace Google.ProtocolBuffers.Serialization
         {
             Assert(_elements.Count > 0);
 
-            ElementStack stop = _elements.Peek();
+            ElementStackEntry stop = _elements.Peek();
             while (_input.NodeType != XmlNodeType.EndElement && _input.NodeType != XmlNodeType.Element
                    && _input.Depth > stop.Depth && _input.Read())
             {
@@ -211,10 +211,10 @@ namespace Google.ProtocolBuffers.Serialization
         /// </remarks>
         protected override bool PeekNext(out string field)
         {
-            ElementStack stopNode;
+            ElementStackEntry stopNode;
             if (_elements.Count == 0)
             {
-                stopNode = new ElementStack(null, _input.Depth - 1, false);
+                stopNode = new ElementStackEntry(null, _input.Depth - 1, false);
             }
             else
             {

+ 0 - 18
src/ProtocolBuffers.Serialization/XmlFormatWriter.cs

@@ -71,24 +71,6 @@ namespace Google.ProtocolBuffers.Serialization
             _rootElementName = DefaultRootElementName;
         }
 
-        /// <summary>
-        /// Closes the underlying XmlTextWriter
-        /// </summary>
-        protected override void Dispose(bool disposing)
-        {
-            if (disposing)
-            {
-                while (_messageOpenCount > 0)
-                {
-                    WriteMessageEnd();
-                }
-
-                _output.Close();
-            }
-
-            base.Dispose(disposing);
-        }
-
         /// <summary>
         /// Gets or sets the default element name to use when using the Merge&lt;TBuilder>()
         /// </summary>

+ 1 - 1
src/ProtocolBuffers.Test/TestWriterFormatJson.cs

@@ -43,8 +43,8 @@ namespace Google.ProtocolBuffers
                 .Build();
 
             using (TextWriter output = new StringWriter())
-            using (AbstractWriter writer = JsonFormatWriter.CreateInstance(output))
             {
+                ICodedOutputStream writer = JsonFormatWriter.CreateInstance(output);
                 writer.WriteMessageStart();      //manually begin the message, output is '{'
                 
                 writer.Flush();

+ 1 - 1
src/ProtocolBuffers.Test/TestWriterFormatXml.cs

@@ -46,8 +46,8 @@ namespace Google.ProtocolBuffers
                 .Build();
 
             using (TextWriter output = new StringWriter())
-            using (AbstractWriter writer = XmlFormatWriter.CreateInstance(output))
             {
+                ICodedOutputStream writer = XmlFormatWriter.CreateInstance(output);
                 writer.WriteMessageStart();      //manually begin the message, output is '{'
 
                 ICodedOutputStream stream = writer;

+ 1 - 13
src/ProtocolBuffers/CodedOutputStream.cs

@@ -57,7 +57,7 @@ namespace Google.ProtocolBuffers
     /// 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 : ICodedOutputStream, IDisposable
+    public sealed partial class CodedOutputStream : ICodedOutputStream
     {
         /// <summary>
         /// The buffer size used by CreateInstance(Stream).
@@ -126,18 +126,6 @@ namespace Google.ProtocolBuffers
 
         #endregion
         
-        public void Dispose()
-        {
-            if (output != null)
-            {
-                if (position > 0)
-                {
-                    Flush();
-                }
-                output.Dispose();
-            }
-        }
-
         void ICodedOutputStream.WriteMessageStart() { }
         void ICodedOutputStream.WriteMessageEnd() { Flush(); }
 

+ 1 - 1
src/ProtocolBuffers/ICodedOutputStream.cs

@@ -49,7 +49,7 @@ namespace Google.ProtocolBuffers
     /// in their binary form by creating a instance via the CodedOutputStream.CreateInstance
     /// static factory.
     /// </summary>
-    public interface ICodedOutputStream : IDisposable
+    public interface ICodedOutputStream
     {
         /// <summary>
         /// Writes any message initialization data needed to the output stream