From 1c78914320b0e45d7b7b2b189b366885f7c9b881 Mon Sep 17 00:00:00 2001 From: csharptest Date: Sat, 5 Nov 2011 01:07:47 +0000 Subject: Corrected last release version --- CHANGES.txt | 196 ++++++++++++++++++++++++++++++------------------------------ 1 file changed, 98 insertions(+), 98 deletions(-) diff --git a/CHANGES.txt b/CHANGES.txt index 2e9ec6ee..d80368c7 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,99 +1,99 @@ -=============================================================================== -Welcome to the C# port of Google Protocol Buffers, written by Jon Skeet -(skeet@pobox.com) based on the work of many talented people. - -For more information about this port, visit its homepage: -http://protobuf-csharp-port.googlecode.com - -For more information about Protocol Buffers in general, visit the project page -for the C++, Java and Python project: -http://protobuf.googlecode.com -=============================================================================== -RELEASE NOTES - Version 2.4.1.TBD -=============================================================================== - -Features: -- Added option service_generator_type to control service generation with - NONE, GENERIC, INTERFACE, or IRPCDISPATCH -- Added interfaces IRpcDispatch and IRpcServerStub to provide for blocking - services and implementations. -- Added ProtoGen.exe command-line argument "--protoc_dir=" to specify the - location of protoc.exe. -- Extracted interfaces for ICodedInputStream and ICodedOutputStream to allow - custom implementation of writers with both speed and size optimizations. -- Addition of the "Google.ProtoBuffers.Serialization" assembly to support - reading and writing messages to/from XML, JSON, IDictionary<,> and others. -- Several performance related fixes and tweeks -- Issue 3: Add option to mark generated code with attribute -- Issue 20: Support for decorating classes [Serializable] -- Issue 21: Decorate fields with [deprecated=true] as [System.Obsolete] -- Issue 22: Reusable Builder classes -- Issue 24: Support for using Json/Xml formats with ICodedInputStream -- Issue 25: Added support for NuGet packages -- Issue 31: Upgraded protoc.exe and descriptor to 2.4.1 - -Fixes: -- Issue 13: Message with Field same name as message causes uncompilable .cs -- Issue 16: Does not integrate well with other tooling -- Issue 19: Support for negative enum values -- Issue 26: AddRange in GeneratedBuilder iterates twice. -- Issue 27: Remove XML documentation output from test projects to clear - warnings/errors. -- Issue 28: Circular message dependencies result in null default values for - Message fields. -- Issue 29: Message classes generated have a public default constructor. You - can disable private ctor generation with the option generate_private_ctor. -- Issue 35: Fixed a bug in ProtoGen handling of arguments with trailing \ -- Big-endian support for float, and double on Silverlight -- Packed and Unpacked parsing allow for all repeated, as per version 2.3 -- Fix for leaving Builder a public ctor on internal classes for use with - generic "where T: new()" constraints. - -Other: -- Changed the code signing key to a privately held key -- Reformatted all code and line-endings to C# defaults -- Reworking of performance benchmarks to produce reliable results, option /v2 -- Issue 34: Silverlight assemblies are now unit tested - -=============================================================================== -RELEASE NOTES - Version 2.3.0.277 -=============================================================================== - -Features: -- Added cls_compliance option to generate attributes indicating - non-CLS-compliance. -- Added file_extension option to control the generated output file's extension. -- Added umbrella_namespace option to place the umbrella class into a nested - namespace to address issues with proto files having the same name as a - message it contains. -- Added output_directory option to set the output path for the source file(s). -- Added ignore_google_protobuf option to avoid generating code for includes - from the google.protobuf package. -- Added the LITE framework (Google.ProtoBuffersLite.dll) and the ability to - generate code with "option optimize_for = LITE_RUNTIME;". -- Added ability to invoke protoc.exe from within ProtoGen.exe. -- Upgraded to protoc.exe (2.3) compiler. - -Fixes: -- Issue 9: Class cannot be static and sealed error -- Issue 12: default value for enumerate fields must be filled out - -Other: -- Rewrite of build using MSBbuild instead of NAnt -- Moved to NUnit Version 2.2.8.0 -- Changed to using secure .snk for releases - -=============================================================================== -RELEASE NOTES - Version 0.9.1 -=============================================================================== - -Fixes: -- issue 10: Incorrect encoding of packed fields when serialized - -=============================================================================== -RELEASE NOTES - Version 0.9.0 -=============================================================================== - -- Initial release - +=============================================================================== +Welcome to the C# port of Google Protocol Buffers, written by Jon Skeet +(skeet@pobox.com) based on the work of many talented people. + +For more information about this port, visit its homepage: +http://protobuf-csharp-port.googlecode.com + +For more information about Protocol Buffers in general, visit the project page +for the C++, Java and Python project: +http://protobuf.googlecode.com +=============================================================================== +RELEASE NOTES - Version 2.4.1.473 +=============================================================================== + +Features: +- Added option service_generator_type to control service generation with + NONE, GENERIC, INTERFACE, or IRPCDISPATCH +- Added interfaces IRpcDispatch and IRpcServerStub to provide for blocking + services and implementations. +- Added ProtoGen.exe command-line argument "--protoc_dir=" to specify the + location of protoc.exe. +- Extracted interfaces for ICodedInputStream and ICodedOutputStream to allow + custom implementation of writers with both speed and size optimizations. +- Addition of the "Google.ProtoBuffers.Serialization" assembly to support + reading and writing messages to/from XML, JSON, IDictionary<,> and others. +- Several performance related fixes and tweeks +- Issue 3: Add option to mark generated code with attribute +- Issue 20: Support for decorating classes [Serializable] +- Issue 21: Decorate fields with [deprecated=true] as [System.Obsolete] +- Issue 22: Reusable Builder classes +- Issue 24: Support for using Json/Xml formats with ICodedInputStream +- Issue 25: Added support for NuGet packages +- Issue 31: Upgraded protoc.exe and descriptor to 2.4.1 + +Fixes: +- Issue 13: Message with Field same name as message causes uncompilable .cs +- Issue 16: Does not integrate well with other tooling +- Issue 19: Support for negative enum values +- Issue 26: AddRange in GeneratedBuilder iterates twice. +- Issue 27: Remove XML documentation output from test projects to clear + warnings/errors. +- Issue 28: Circular message dependencies result in null default values for + Message fields. +- Issue 29: Message classes generated have a public default constructor. You + can disable private ctor generation with the option generate_private_ctor. +- Issue 35: Fixed a bug in ProtoGen handling of arguments with trailing \ +- Big-endian support for float, and double on Silverlight +- Packed and Unpacked parsing allow for all repeated, as per version 2.3 +- Fix for leaving Builder a public ctor on internal classes for use with + generic "where T: new()" constraints. + +Other: +- Changed the code signing key to a privately held key +- Reformatted all code and line-endings to C# defaults +- Reworking of performance benchmarks to produce reliable results, option /v2 +- Issue 34: Silverlight assemblies are now unit tested + +=============================================================================== +RELEASE NOTES - Version 2.3.0.277 +=============================================================================== + +Features: +- Added cls_compliance option to generate attributes indicating + non-CLS-compliance. +- Added file_extension option to control the generated output file's extension. +- Added umbrella_namespace option to place the umbrella class into a nested + namespace to address issues with proto files having the same name as a + message it contains. +- Added output_directory option to set the output path for the source file(s). +- Added ignore_google_protobuf option to avoid generating code for includes + from the google.protobuf package. +- Added the LITE framework (Google.ProtoBuffersLite.dll) and the ability to + generate code with "option optimize_for = LITE_RUNTIME;". +- Added ability to invoke protoc.exe from within ProtoGen.exe. +- Upgraded to protoc.exe (2.3) compiler. + +Fixes: +- Issue 9: Class cannot be static and sealed error +- Issue 12: default value for enumerate fields must be filled out + +Other: +- Rewrite of build using MSBbuild instead of NAnt +- Moved to NUnit Version 2.2.8.0 +- Changed to using secure .snk for releases + +=============================================================================== +RELEASE NOTES - Version 0.9.1 +=============================================================================== + +Fixes: +- issue 10: Incorrect encoding of packed fields when serialized + +=============================================================================== +RELEASE NOTES - Version 0.9.0 +=============================================================================== + +- Initial release + =============================================================================== \ No newline at end of file -- cgit v1.2.3 From 34378b49b5b7a2cac2305cd32a041b3ec29c66f8 Mon Sep 17 00:00:00 2001 From: Jon Skeet Date: Mon, 4 Jun 2012 10:35:59 +0100 Subject: Test and fix for issue 45. When we fetch properties, explicitly state that we don't want any arguments, to avoid ambiguity with indexers. (Also, change a few "typeof (Foo)" to "typeof(Foo)". Fuller replacement coming.) --- protos/extest/unittest_issues.proto | 12 +- src/ProtocolBuffers.Test/IssuesTest.cs | 59 +++++ .../ProtocolBuffers.Test.csproj | 1 + .../TestProtos/UnitTestExtrasIssuesProtoFile.cs | 251 ++++++++++++++++++++- src/ProtocolBuffers/FieldAccess/ReflectionUtil.cs | 5 + .../FieldAccess/RepeatedPrimitiveAccessor.cs | 18 +- .../FieldAccess/SingleMessageAccessor.cs | 2 +- .../FieldAccess/SinglePrimitiveAccessor.cs | 16 +- 8 files changed, 338 insertions(+), 26 deletions(-) create mode 100644 src/ProtocolBuffers.Test/IssuesTest.cs diff --git a/protos/extest/unittest_issues.proto b/protos/extest/unittest_issues.proto index 459e58f8..6d2bcf3f 100644 --- a/protos/extest/unittest_issues.proto +++ b/protos/extest/unittest_issues.proto @@ -70,19 +70,23 @@ service TestGenericService { // Issue 13: http://code.google.com/p/protobuf-csharp-port/issues/detail?id=13 message A { - optional int32 _A = 1; + optional int32 _A = 1; } message B { - optional int32 B_ = 1; + optional int32 B_ = 1; } message AB { - optional int32 a_b = 1; + optional int32 a_b = 1; } // Similar issue with numeric names message NumberField { - optional int32 _01 = 1; + optional int32 _01 = 1; } +// Issue 45: http://code.google.com/p/protobuf-csharp-port/issues/detail?id=45 +message ItemField { + optional int32 item = 1; +} diff --git a/src/ProtocolBuffers.Test/IssuesTest.cs b/src/ProtocolBuffers.Test/IssuesTest.cs new file mode 100644 index 00000000..7096a52d --- /dev/null +++ b/src/ProtocolBuffers.Test/IssuesTest.cs @@ -0,0 +1,59 @@ +#region Copyright notice and license + +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// http://github.com/jskeet/dotnet-protobufs/ +// Original C++/Java/Python code: +// http://code.google.com/p/protobuf/ +// +// 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 Google.ProtocolBuffers.Descriptors; +using NUnit.Framework; +using UnitTest.Issues.TestProtos; + +namespace Google.ProtocolBuffers +{ + /// + /// Tests for issues which aren't easily compartmentalized into other unit tests. + /// + [TestFixture] + public class IssuesTest + { + // Issue 45 + [Test] + public void FieldCalledItem() + { + ItemField message = new ItemField.Builder { Item = 3 }.Build(); + FieldDescriptor field = ItemField.Descriptor.FindFieldByName("item"); + Assert.IsNotNull(field); + Assert.AreEqual(3, message[field]); + } + } +} diff --git a/src/ProtocolBuffers.Test/ProtocolBuffers.Test.csproj b/src/ProtocolBuffers.Test/ProtocolBuffers.Test.csproj index 95ab0b9c..b2fe91e0 100644 --- a/src/ProtocolBuffers.Test/ProtocolBuffers.Test.csproj +++ b/src/ProtocolBuffers.Test/ProtocolBuffers.Test.csproj @@ -98,6 +98,7 @@ + diff --git a/src/ProtocolBuffers.Test/TestProtos/UnitTestExtrasIssuesProtoFile.cs b/src/ProtocolBuffers.Test/TestProtos/UnitTestExtrasIssuesProtoFile.cs index db56e8b9..951691d5 100644 --- a/src/ProtocolBuffers.Test/TestProtos/UnitTestExtrasIssuesProtoFile.cs +++ b/src/ProtocolBuffers.Test/TestProtos/UnitTestExtrasIssuesProtoFile.cs @@ -26,6 +26,8 @@ namespace UnitTest.Issues.TestProtos { internal static pb::FieldAccess.FieldAccessorTable internal__static_unittest_issues_AB__FieldAccessorTable; internal static pbd::MessageDescriptor internal__static_unittest_issues_NumberField__Descriptor; internal static pb::FieldAccess.FieldAccessorTable internal__static_unittest_issues_NumberField__FieldAccessorTable; + internal static pbd::MessageDescriptor internal__static_unittest_issues_ItemField__Descriptor; + internal static pb::FieldAccess.FieldAccessorTable internal__static_unittest_issues_ItemField__FieldAccessorTable; #endregion #region Descriptor public static pbd::FileDescriptor Descriptor { @@ -38,9 +40,9 @@ namespace UnitTest.Issues.TestProtos { "ChxleHRlc3QvdW5pdHRlc3RfaXNzdWVzLnByb3RvEg91bml0dGVzdF9pc3N1" + "ZXMaJGdvb2dsZS9wcm90b2J1Zi9jc2hhcnBfb3B0aW9ucy5wcm90byIPCgFB" + "EgoKAl9BGAEgASgFIg8KAUISCgoCQl8YASABKAUiEQoCQUISCwoDYV9iGAEg" + - "ASgFIhoKC051bWJlckZpZWxkEgsKA18wMRgBIAEoBUJASAHCPjsKGlVuaXRU" + - "ZXN0Lklzc3Vlcy5UZXN0UHJvdG9zEh1Vbml0VGVzdEV4dHJhc0lzc3Vlc1By" + - "b3RvRmlsZQ=="); + "ASgFIhoKC051bWJlckZpZWxkEgsKA18wMRgBIAEoBSIZCglJdGVtRmllbGQS" + + "DAoEaXRlbRgBIAEoBUJASAHCPjsKGlVuaXRUZXN0Lklzc3Vlcy5UZXN0UHJv" + + "dG9zEh1Vbml0VGVzdEV4dHJhc0lzc3Vlc1Byb3RvRmlsZQ=="); pbd::FileDescriptor.InternalDescriptorAssigner assigner = delegate(pbd::FileDescriptor root) { descriptor = root; internal__static_unittest_issues_A__Descriptor = Descriptor.MessageTypes[0]; @@ -59,6 +61,10 @@ namespace UnitTest.Issues.TestProtos { internal__static_unittest_issues_NumberField__FieldAccessorTable = new pb::FieldAccess.FieldAccessorTable(internal__static_unittest_issues_NumberField__Descriptor, new string[] { "_01", }); + internal__static_unittest_issues_ItemField__Descriptor = Descriptor.MessageTypes[4]; + internal__static_unittest_issues_ItemField__FieldAccessorTable = + new pb::FieldAccess.FieldAccessorTable(internal__static_unittest_issues_ItemField__Descriptor, + new string[] { "Item", }); pb::ExtensionRegistry registry = pb::ExtensionRegistry.CreateInstance(); RegisterAllExtensions(registry); global::Google.ProtocolBuffers.DescriptorProtos.CSharpOptions.RegisterAllExtensions(registry); @@ -1033,6 +1039,245 @@ namespace UnitTest.Issues.TestProtos { } } + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")] + public sealed partial class ItemField : pb::GeneratedMessage { + private static readonly ItemField defaultInstance = new Builder().BuildPartial(); + private static readonly string[] _itemFieldFieldNames = new string[] { "item" }; + private static readonly uint[] _itemFieldFieldTags = new uint[] { 8 }; + public static ItemField DefaultInstance { + get { return defaultInstance; } + } + + public override ItemField DefaultInstanceForType { + get { return defaultInstance; } + } + + protected override ItemField ThisMessage { + get { return this; } + } + + public static pbd::MessageDescriptor Descriptor { + get { return global::UnitTest.Issues.TestProtos.UnitTestExtrasIssuesProtoFile.internal__static_unittest_issues_ItemField__Descriptor; } + } + + protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors { + get { return global::UnitTest.Issues.TestProtos.UnitTestExtrasIssuesProtoFile.internal__static_unittest_issues_ItemField__FieldAccessorTable; } + } + + public const int ItemFieldNumber = 1; + private bool hasItem; + private int item_; + public bool HasItem { + get { return hasItem; } + } + public int Item { + get { return item_; } + } + + public override bool IsInitialized { + get { + return true; + } + } + + public override void WriteTo(pb::ICodedOutputStream output) { + int size = SerializedSize; + string[] field_names = _itemFieldFieldNames; + if (hasItem) { + output.WriteInt32(1, field_names[0], Item); + } + UnknownFields.WriteTo(output); + } + + private int memoizedSerializedSize = -1; + public override int SerializedSize { + get { + int size = memoizedSerializedSize; + if (size != -1) return size; + + size = 0; + if (hasItem) { + size += pb::CodedOutputStream.ComputeInt32Size(1, Item); + } + size += UnknownFields.SerializedSize; + memoizedSerializedSize = size; + return size; + } + } + + public static ItemField ParseFrom(pb::ByteString data) { + return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed(); + } + public static ItemField ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed(); + } + public static ItemField ParseFrom(byte[] data) { + return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed(); + } + public static ItemField ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed(); + } + public static ItemField ParseFrom(global::System.IO.Stream input) { + return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed(); + } + public static ItemField ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed(); + } + public static ItemField ParseDelimitedFrom(global::System.IO.Stream input) { + return CreateBuilder().MergeDelimitedFrom(input).BuildParsed(); + } + public static ItemField ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) { + return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed(); + } + public static ItemField ParseFrom(pb::ICodedInputStream input) { + return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed(); + } + public static ItemField ParseFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed(); + } + public static Builder CreateBuilder() { return new Builder(); } + public override Builder ToBuilder() { return CreateBuilder(this); } + public override Builder CreateBuilderForType() { return new Builder(); } + public static Builder CreateBuilder(ItemField prototype) { + return (Builder) new Builder().MergeFrom(prototype); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")] + public sealed partial class Builder : pb::GeneratedBuilder { + protected override Builder ThisBuilder { + get { return this; } + } + public Builder() {} + + ItemField result = new ItemField(); + + protected override ItemField MessageBeingBuilt { + get { return result; } + } + + public override Builder Clear() { + result = new ItemField(); + return this; + } + + public override Builder Clone() { + return new Builder().MergeFrom(result); + } + + public override pbd::MessageDescriptor DescriptorForType { + get { return global::UnitTest.Issues.TestProtos.ItemField.Descriptor; } + } + + public override ItemField DefaultInstanceForType { + get { return global::UnitTest.Issues.TestProtos.ItemField.DefaultInstance; } + } + + public override ItemField BuildPartial() { + if (result == null) { + throw new global::System.InvalidOperationException("build() has already been called on this Builder"); + } + ItemField returnMe = result; + result = null; + return returnMe; + } + + public override Builder MergeFrom(pb::IMessage other) { + if (other is ItemField) { + return MergeFrom((ItemField) other); + } else { + base.MergeFrom(other); + return this; + } + } + + public override Builder MergeFrom(ItemField other) { + if (other == global::UnitTest.Issues.TestProtos.ItemField.DefaultInstance) return this; + if (other.HasItem) { + Item = other.Item; + } + this.MergeUnknownFields(other.UnknownFields); + return this; + } + + public override Builder MergeFrom(pb::ICodedInputStream input) { + return MergeFrom(input, pb::ExtensionRegistry.Empty); + } + + public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) { + pb::UnknownFieldSet.Builder unknownFields = null; + uint tag; + string field_name; + while (input.ReadTag(out tag, out field_name)) { + if(tag == 0 && field_name != null) { + int field_ordinal = global::System.Array.BinarySearch(_itemFieldFieldNames, field_name, global::System.StringComparer.Ordinal); + if(field_ordinal >= 0) + tag = _itemFieldFieldTags[field_ordinal]; + else { + if (unknownFields == null) { + unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields); + } + ParseUnknownField(input, unknownFields, extensionRegistry, tag, field_name); + continue; + } + } + switch (tag) { + case 0: { + throw pb::InvalidProtocolBufferException.InvalidTag(); + } + default: { + if (pb::WireFormat.IsEndGroupTag(tag)) { + if (unknownFields != null) { + this.UnknownFields = unknownFields.Build(); + } + return this; + } + if (unknownFields == null) { + unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields); + } + ParseUnknownField(input, unknownFields, extensionRegistry, tag, field_name); + break; + } + case 8: { + result.hasItem = input.ReadInt32(ref result.item_); + break; + } + } + } + + if (unknownFields != null) { + this.UnknownFields = unknownFields.Build(); + } + return this; + } + + + public bool HasItem { + get { return result.hasItem; } + } + public int Item { + get { return result.Item; } + set { SetItem(value); } + } + public Builder SetItem(int value) { + result.hasItem = true; + result.item_ = value; + return this; + } + public Builder ClearItem() { + result.hasItem = false; + result.item_ = 0; + return this; + } + } + static ItemField() { + object.ReferenceEquals(global::UnitTest.Issues.TestProtos.UnitTestExtrasIssuesProtoFile.Descriptor, null); + } + } + #endregion } diff --git a/src/ProtocolBuffers/FieldAccess/ReflectionUtil.cs b/src/ProtocolBuffers/FieldAccess/ReflectionUtil.cs index 31ebde06..e876d9ce 100644 --- a/src/ProtocolBuffers/FieldAccess/ReflectionUtil.cs +++ b/src/ProtocolBuffers/FieldAccess/ReflectionUtil.cs @@ -44,6 +44,11 @@ namespace Google.ProtocolBuffers.FieldAccess /// internal static class ReflectionUtil { + /// + /// Empty Type[] used when calling GetProperty to force property instead of indexer fetching. + /// + internal static readonly Type[] EmptyTypes = new Type[0]; + /// /// Creates a delegate which will execute the given method and then return /// the result as an object. diff --git a/src/ProtocolBuffers/FieldAccess/RepeatedPrimitiveAccessor.cs b/src/ProtocolBuffers/FieldAccess/RepeatedPrimitiveAccessor.cs index 0c2cdfcf..612e4919 100644 --- a/src/ProtocolBuffers/FieldAccess/RepeatedPrimitiveAccessor.cs +++ b/src/ProtocolBuffers/FieldAccess/RepeatedPrimitiveAccessor.cs @@ -66,14 +66,14 @@ namespace Google.ProtocolBuffers.FieldAccess internal RepeatedPrimitiveAccessor(string name) { - PropertyInfo messageProperty = typeof (TMessage).GetProperty(name + "List"); - PropertyInfo builderProperty = typeof (TBuilder).GetProperty(name + "List"); - PropertyInfo countProperty = typeof (TMessage).GetProperty(name + "Count"); - MethodInfo clearMethod = typeof (TBuilder).GetMethod("Clear" + name, EmptyTypes); - getElementMethod = typeof (TMessage).GetMethod("Get" + name, new Type[] {typeof (int)}); + PropertyInfo messageProperty = typeof(TMessage).GetProperty(name + "List", ReflectionUtil.EmptyTypes); + PropertyInfo builderProperty = typeof(TBuilder).GetProperty(name + "List", ReflectionUtil.EmptyTypes); + PropertyInfo countProperty = typeof(TMessage).GetProperty(name + "Count", ReflectionUtil.EmptyTypes); + MethodInfo clearMethod = typeof(TBuilder).GetMethod("Clear" + name, EmptyTypes); + getElementMethod = typeof(TMessage).GetMethod("Get" + name, new Type[] {typeof(int)}); clrType = getElementMethod.ReturnType; - MethodInfo addMethod = typeof (TBuilder).GetMethod("Add" + name, new Type[] {ClrType}); - setElementMethod = typeof (TBuilder).GetMethod("Set" + name, new Type[] {typeof (int), ClrType}); + MethodInfo addMethod = typeof(TBuilder).GetMethod("Add" + name, new Type[] {ClrType}); + setElementMethod = typeof(TBuilder).GetMethod("Set" + name, new Type[] {typeof(int), ClrType}); if (messageProperty == null || builderProperty == null || countProperty == null @@ -85,9 +85,9 @@ namespace Google.ProtocolBuffers.FieldAccess throw new ArgumentException("Not all required properties/methods available"); } clearDelegate = - (Func) Delegate.CreateDelegate(typeof (Func), null, clearMethod); + (Func) Delegate.CreateDelegate(typeof(Func), null, clearMethod); countDelegate = (Func) Delegate.CreateDelegate - (typeof (Func), null, countProperty.GetGetMethod()); + (typeof(Func), null, countProperty.GetGetMethod()); getValueDelegate = ReflectionUtil.CreateUpcastDelegate(messageProperty.GetGetMethod()); addValueDelegate = ReflectionUtil.CreateDowncastDelegateIgnoringReturn(addMethod); getRepeatedWrapperDelegate = ReflectionUtil.CreateUpcastDelegate(builderProperty.GetGetMethod()); diff --git a/src/ProtocolBuffers/FieldAccess/SingleMessageAccessor.cs b/src/ProtocolBuffers/FieldAccess/SingleMessageAccessor.cs index 54b99c2b..6bf48a0c 100644 --- a/src/ProtocolBuffers/FieldAccess/SingleMessageAccessor.cs +++ b/src/ProtocolBuffers/FieldAccess/SingleMessageAccessor.cs @@ -50,7 +50,7 @@ namespace Google.ProtocolBuffers.FieldAccess internal SingleMessageAccessor(string name) : base(name) { - MethodInfo createBuilderMethod = ClrType.GetMethod("CreateBuilder", EmptyTypes); + MethodInfo createBuilderMethod = ClrType.GetMethod("CreateBuilder", ReflectionUtil.EmptyTypes); if (createBuilderMethod == null) { throw new ArgumentException("No public static CreateBuilder method declared in " + ClrType.Name); diff --git a/src/ProtocolBuffers/FieldAccess/SinglePrimitiveAccessor.cs b/src/ProtocolBuffers/FieldAccess/SinglePrimitiveAccessor.cs index 26d4a5b3..088b93fc 100644 --- a/src/ProtocolBuffers/FieldAccess/SinglePrimitiveAccessor.cs +++ b/src/ProtocolBuffers/FieldAccess/SinglePrimitiveAccessor.cs @@ -47,8 +47,6 @@ namespace Google.ProtocolBuffers.FieldAccess private readonly Func hasDelegate; private readonly Func clearDelegate; - internal static readonly Type[] EmptyTypes = new Type[0]; - /// /// The CLR type of the field (int, the enum type, ByteString, the message etc). /// As declared by the property. @@ -60,14 +58,14 @@ namespace Google.ProtocolBuffers.FieldAccess internal SinglePrimitiveAccessor(string name) { - PropertyInfo messageProperty = typeof (TMessage).GetProperty(name); - PropertyInfo builderProperty = typeof (TBuilder).GetProperty(name); + PropertyInfo messageProperty = typeof(TMessage).GetProperty(name, ReflectionUtil.EmptyTypes); + PropertyInfo builderProperty = typeof(TBuilder).GetProperty(name, ReflectionUtil.EmptyTypes); if (builderProperty == null) { - builderProperty = typeof (TBuilder).GetProperty(name); + builderProperty = typeof(TBuilder).GetProperty(name, ReflectionUtil.EmptyTypes); } - PropertyInfo hasProperty = typeof (TMessage).GetProperty("Has" + name); - MethodInfo clearMethod = typeof (TBuilder).GetMethod("Clear" + name, EmptyTypes); + PropertyInfo hasProperty = typeof(TMessage).GetProperty("Has" + name, ReflectionUtil.EmptyTypes); + MethodInfo clearMethod = typeof(TBuilder).GetMethod("Clear" + name, ReflectionUtil.EmptyTypes); if (messageProperty == null || builderProperty == null || hasProperty == null || clearMethod == null) { throw new ArgumentException("Not all required properties/methods available"); @@ -75,9 +73,9 @@ namespace Google.ProtocolBuffers.FieldAccess clrType = messageProperty.PropertyType; hasDelegate = (Func) - Delegate.CreateDelegate(typeof (Func), null, hasProperty.GetGetMethod()); + Delegate.CreateDelegate(typeof(Func), null, hasProperty.GetGetMethod()); clearDelegate = - (Func) Delegate.CreateDelegate(typeof (Func), null, clearMethod); + (Func) Delegate.CreateDelegate(typeof(Func), null, clearMethod); getValueDelegate = ReflectionUtil.CreateUpcastDelegate(messageProperty.GetGetMethod()); setValueDelegate = ReflectionUtil.CreateDowncastDelegate(builderProperty.GetSetMethod()); } -- cgit v1.2.3 From 2be3870a5f16f9f6e7788b1696748c872a765875 Mon Sep 17 00:00:00 2001 From: Jon Skeet Date: Mon, 4 Jun 2012 10:46:02 +0100 Subject: Change "typeof (Foo)" to "typeof(Foo)" everywhere. I have no idea why I used to include the space - it definitely doesn't look idiomatic... --- src/ProtoGen.Test/TestPreprocessing.cs | 42 +++++++++++----------- src/ProtoGen/SourceGenerators.cs | 14 ++++---- .../AbstractReader.cs | 6 ++-- .../AbstractTextReader.cs | 20 +++++------ .../DictionaryReader.cs | 4 +-- .../JsonFormatReader.cs | 2 +- src/ProtocolBuffers.Test/ExtendableMessageTest.cs | 2 +- src/ProtocolBuffers.Test/MessageUtilTest.cs | 14 ++++---- src/ProtocolBuffers.Test/WireFormatTest.cs | 4 +-- src/ProtocolBuffers/CodedInputStream.cs | 2 +- src/ProtocolBuffers/Descriptors/FieldDescriptor.cs | 4 +-- .../Descriptors/FieldMappingAttribute.cs | 4 +-- src/ProtocolBuffers/EnumLite.cs | 6 ++-- src/ProtocolBuffers/FieldAccess/ReflectionUtil.cs | 22 ++++++------ src/ProtocolBuffers/GeneratedExtensionBase.cs | 2 +- src/ProtocolBuffers/GeneratedRepeatExtension.cs | 2 +- src/ProtocolBuffers/GeneratedSingleExtension.cs | 2 +- src/ProtocolBuffers/MessageStreamIterator.cs | 28 +++++++-------- src/ProtocolBuffers/MessageUtil.cs | 2 +- .../AbstractBuilderLiteTest.cs | 2 +- .../AbstractMessageLiteTest.cs | 2 +- .../ExtendableBuilderLiteTest.cs | 6 ++-- .../ExtendableMessageLiteTest.cs | 2 +- 23 files changed, 97 insertions(+), 97 deletions(-) diff --git a/src/ProtoGen.Test/TestPreprocessing.cs b/src/ProtoGen.Test/TestPreprocessing.cs index 4a57b3b5..81b88a3a 100644 --- a/src/ProtoGen.Test/TestPreprocessing.cs +++ b/src/ProtoGen.Test/TestPreprocessing.cs @@ -112,7 +112,7 @@ message MyMessage { args.Add(String.Format(@"""/out:{0}""", tempDll.TempPath)); args.Add("/r:System.dll"); args.Add(String.Format(@"""/r:{0}""", - typeof (Google.ProtocolBuffers.DescriptorProtos.DescriptorProto).Assembly. + typeof(Google.ProtocolBuffers.DescriptorProtos.DescriptorProto).Assembly. Location)); args.AddRange(sources); @@ -162,7 +162,7 @@ message MyMessage { Assembly a = RunCsc(0, source.TempPath); //assert that the message type is in the expected namespace Type t = a.GetType("nunit.simple.MyMessage", true, true); - Assert.IsTrue(typeof (IMessage).IsAssignableFrom(t), "Expect an IMessage"); + Assert.IsTrue(typeof(IMessage).IsAssignableFrom(t), "Expect an IMessage"); //assert that we can find the static descriptor type a.GetType("nunit.simple." + test, true, true); } @@ -188,7 +188,7 @@ message " + Assembly a = RunCsc(0, source.TempPath); //assert that the message type is in the expected namespace Type t = a.GetType("nunit.simple." + test, true, true); - Assert.IsTrue(typeof (IMessage).IsAssignableFrom(t), "Expect an IMessage"); + Assert.IsTrue(typeof(IMessage).IsAssignableFrom(t), "Expect an IMessage"); //assert that we can find the static descriptor type a.GetType("nunit.simple.Proto." + test, true, true); } @@ -206,7 +206,7 @@ message " + Assembly a = RunCsc(0, source.TempPath); //assert that the message type is in the expected namespace Type t = a.GetType("MyNewNamespace.MyMessage", true, true); - Assert.IsTrue(typeof (IMessage).IsAssignableFrom(t), "Expect an IMessage"); + Assert.IsTrue(typeof(IMessage).IsAssignableFrom(t), "Expect an IMessage"); //assert that we can find the static descriptor type a.GetType("MyNewNamespace." + test, true, true); } @@ -224,7 +224,7 @@ message " + Assembly a = RunCsc(0, source.TempPath); //assert that the message type is in the expected namespace Type t = a.GetType("nunit.simple.MyMessage", true, true); - Assert.IsTrue(typeof (IMessage).IsAssignableFrom(t), "Expect an IMessage"); + Assert.IsTrue(typeof(IMessage).IsAssignableFrom(t), "Expect an IMessage"); //assert that we can find the static descriptor type a.GetType("nunit.simple.MyUmbrellaClassname", true, true); } @@ -242,7 +242,7 @@ message " + Assembly a = RunCsc(0, source.TempPath); //assert that the message type is in the expected namespace Type t = a.GetType("nunit.simple." + test + "+MyMessage", true, true); - Assert.IsTrue(typeof (IMessage).IsAssignableFrom(t), "Expect an IMessage"); + Assert.IsTrue(typeof(IMessage).IsAssignableFrom(t), "Expect an IMessage"); //assert that we can find the static descriptor type a.GetType("nunit.simple." + test, true, true); } @@ -260,7 +260,7 @@ message " + Assembly a = RunCsc(0, source.TempPath); //assert that the message type is in the expected namespace Type t = a.GetType("nunit.simple.MyMessage", true, true); - Assert.IsTrue(typeof (IMessage).IsAssignableFrom(t), "Expect an IMessage"); + Assert.IsTrue(typeof(IMessage).IsAssignableFrom(t), "Expect an IMessage"); //assert that we can find the static descriptor type a.GetType("nunit.simple." + test, true, true); } @@ -290,7 +290,7 @@ message MyMessage { Assembly a = RunCsc(0, source.TempPath, "/warnaserror+"); //assert that the message type is in the expected namespace Type t = a.GetType("nunit.simple.MyMessage", true, true); - Assert.IsTrue(typeof (IMessage).IsAssignableFrom(t), "Expect an IMessage"); + Assert.IsTrue(typeof(IMessage).IsAssignableFrom(t), "Expect an IMessage"); //assert that we can find the static descriptor type a.GetType("nunit.simple." + test, true, true); } @@ -308,7 +308,7 @@ message MyMessage { Assembly a = RunCsc(0, source.TempPath); //assert that the message type is in the expected namespace Type t = a.GetType("nunit.simple.MyMessage", true, true); - Assert.IsTrue(typeof (IMessage).IsAssignableFrom(t), "Expect an IMessage"); + Assert.IsTrue(typeof(IMessage).IsAssignableFrom(t), "Expect an IMessage"); //assert that we can find the static descriptor type a.GetType("nunit.simple." + test, true, true); } @@ -326,7 +326,7 @@ message MyMessage { Assembly a = RunCsc(0, source.TempPath); //assert that the message type is in the expected namespace Type t = a.GetType("nunit.simple.MyMessage", true, true); - Assert.IsTrue(typeof (IMessage).IsAssignableFrom(t), "Expect an IMessage"); + Assert.IsTrue(typeof(IMessage).IsAssignableFrom(t), "Expect an IMessage"); //assert that we can find the static descriptor type a.GetType("nunit.simple.MyUmbrella.Namespace." + test, true, true); } @@ -344,7 +344,7 @@ message MyMessage { Assembly a = RunCsc(0, source.TempPath); //assert that the message type is in the expected namespace Type t = a.GetType("nunit.simple." + test + "+MyMessage", true, true); - Assert.IsTrue(typeof (IMessage).IsAssignableFrom(t), "Expect an IMessage"); + Assert.IsTrue(typeof(IMessage).IsAssignableFrom(t), "Expect an IMessage"); //assert that we can find the static descriptor type a.GetType("nunit.simple." + test, true, true); } @@ -387,7 +387,7 @@ message " + Assembly a = RunCsc(0, source.TempPath); //assert that the message type is in the expected namespace Type t = a.GetType("nunit.simple.MyMessage", true, true); - Assert.IsTrue(typeof (IMessage).IsAssignableFrom(t), "Expect an IMessage"); + Assert.IsTrue(typeof(IMessage).IsAssignableFrom(t), "Expect an IMessage"); //assert that we can find the static descriptor type a.GetType("nunit.simple." + test, true, true); } @@ -421,7 +421,7 @@ option (google.protobuf.csharp_file_options).namespace = ""MyNewNamespace""; Assembly a = RunCsc(0, source.TempPath); //assert that the message type is in the expected namespace Type t = a.GetType("MyNewNamespace.MyMessage", true, true); - Assert.IsTrue(typeof (IMessage).IsAssignableFrom(t), "Expect an IMessage"); + Assert.IsTrue(typeof(IMessage).IsAssignableFrom(t), "Expect an IMessage"); //assert that we can find the static descriptor type a.GetType("MyNewNamespace." + test, true, true); } @@ -493,7 +493,7 @@ message MyMessage { Assembly a = RunCsc(0, source.TempPath); //assert that the message type is in the expected namespace Type t = a.GetType("MyNewNamespace.MyMessage", true, true); - Assert.IsTrue(typeof (IMessage).IsAssignableFrom(t), "Expect an IMessage"); + Assert.IsTrue(typeof(IMessage).IsAssignableFrom(t), "Expect an IMessage"); //assert that we can find the static descriptor type a.GetType("MyNewNamespace." + test, true, true); } @@ -532,7 +532,7 @@ message MyMessage { Assembly a = RunCsc(0, source.TempPath); //assert that the message type is in the expected namespace Type t = a.GetType("MyNewNamespace.MyMessage", true, true); - Assert.IsTrue(typeof (IMessage).IsAssignableFrom(t), "Expect an IMessage"); + Assert.IsTrue(typeof(IMessage).IsAssignableFrom(t), "Expect an IMessage"); //assert that we can find the static descriptor type a.GetType("MyNewNamespace." + test, true, true); } @@ -560,7 +560,7 @@ message MyMessage { Assembly a = RunCsc(0, source.TempPath); //assert that the message type is in the expected namespace Type t = a.GetType("nunit.simple.MyMessage", true, true); - Assert.IsTrue(typeof (IMessage).IsAssignableFrom(t), "Expect an IMessage"); + Assert.IsTrue(typeof(IMessage).IsAssignableFrom(t), "Expect an IMessage"); //assert that we can find the static descriptor type a.GetType("nunit.simple." + test, true, true); } @@ -580,7 +580,7 @@ message MyMessage { Assembly a = RunCsc(0, source.TempPath); //assert that the message type is in the expected namespace Type t = a.GetType("nunit.simple.MyMessage", true, true); - Assert.IsTrue(typeof (IMessage).IsAssignableFrom(t), "Expect an IMessage"); + Assert.IsTrue(typeof(IMessage).IsAssignableFrom(t), "Expect an IMessage"); //assert that we can find the static descriptor type a.GetType("nunit.simple." + test, true, true); } @@ -620,10 +620,10 @@ message MyMessageList { Assembly a = RunCsc(0, source1.TempPath, source2.TempPath); //assert that the message type is in the expected namespace Type t1 = a.GetType("nunit.simple.MyMessage", true, true); - Assert.IsTrue(typeof (IMessage).IsAssignableFrom(t1), "Expect an IMessage"); + Assert.IsTrue(typeof(IMessage).IsAssignableFrom(t1), "Expect an IMessage"); //assert that the message type is in the expected namespace Type t2 = a.GetType("nunit.simple.MyMessageList", true, true); - Assert.IsTrue(typeof (IMessage).IsAssignableFrom(t2), "Expect an IMessage"); + Assert.IsTrue(typeof(IMessage).IsAssignableFrom(t2), "Expect an IMessage"); //assert that we can find the static descriptor type a.GetType("nunit.simple.Proto.MyMessage", true, true); a.GetType("nunit.simple.Proto.MyMessageList", true, true); @@ -664,10 +664,10 @@ message MyMessageList { Assembly a = RunCsc(0, source1.TempPath, source2.TempPath); //assert that the message type is in the expected namespace Type t1 = a.GetType("nunit.simple.MyMessage", true, true); - Assert.IsTrue(typeof (IMessage).IsAssignableFrom(t1), "Expect an IMessage"); + Assert.IsTrue(typeof(IMessage).IsAssignableFrom(t1), "Expect an IMessage"); //assert that the message type is in the expected namespace Type t2 = a.GetType("nunit.simple.MyMessageList", true, true); - Assert.IsTrue(typeof (IMessage).IsAssignableFrom(t2), "Expect an IMessage"); + Assert.IsTrue(typeof(IMessage).IsAssignableFrom(t2), "Expect an IMessage"); //assert that we can find the static descriptor type a.GetType("nunit.simple.Proto.MyMessage", true, true); a.GetType("nunit.simple.Proto.MyMessageList", true, true); diff --git a/src/ProtoGen/SourceGenerators.cs b/src/ProtoGen/SourceGenerators.cs index bf7218b6..38458f05 100644 --- a/src/ProtoGen/SourceGenerators.cs +++ b/src/ProtoGen/SourceGenerators.cs @@ -47,12 +47,12 @@ namespace Google.ProtocolBuffers.ProtoGen private static readonly Dictionary> GeneratorFactories = new Dictionary> { - {typeof (FileDescriptor), descriptor => new UmbrellaClassGenerator((FileDescriptor) descriptor)}, - {typeof (EnumDescriptor), descriptor => new EnumGenerator((EnumDescriptor) descriptor)}, - {typeof (ServiceDescriptor), descriptor => new ServiceGenerator((ServiceDescriptor) descriptor)}, - {typeof (MessageDescriptor), descriptor => new MessageGenerator((MessageDescriptor) descriptor)}, + {typeof(FileDescriptor), descriptor => new UmbrellaClassGenerator((FileDescriptor) descriptor)}, + {typeof(EnumDescriptor), descriptor => new EnumGenerator((EnumDescriptor) descriptor)}, + {typeof(ServiceDescriptor), descriptor => new ServiceGenerator((ServiceDescriptor) descriptor)}, + {typeof(MessageDescriptor), descriptor => new MessageGenerator((MessageDescriptor) descriptor)}, // For other fields, we have IFieldSourceGenerators. - {typeof (FieldDescriptor), descriptor => new ExtensionGenerator((FieldDescriptor) descriptor)} + {typeof(FieldDescriptor), descriptor => new ExtensionGenerator((FieldDescriptor) descriptor)} }; public static IFieldSourceGenerator CreateFieldGenerator(FieldDescriptor field, int fieldOrdinal) @@ -77,9 +77,9 @@ namespace Google.ProtocolBuffers.ProtoGen public static ISourceGenerator CreateGenerator(T descriptor) where T : IDescriptor { Func factory; - if (!GeneratorFactories.TryGetValue(typeof (T), out factory)) + if (!GeneratorFactories.TryGetValue(typeof(T), out factory)) { - throw new ArgumentException("No generator registered for " + typeof (T).Name); + throw new ArgumentException("No generator registered for " + typeof(T).Name); } return factory(descriptor); } diff --git a/src/ProtocolBuffers.Serialization/AbstractReader.cs b/src/ProtocolBuffers.Serialization/AbstractReader.cs index f3e6fd6f..3c60139a 100644 --- a/src/ProtocolBuffers.Serialization/AbstractReader.cs +++ b/src/ProtocolBuffers.Serialization/AbstractReader.cs @@ -468,7 +468,7 @@ namespace Google.ProtocolBuffers.Serialization rawValue = null; if (ReadEnum(ref rawValue)) { - if (Enum.IsDefined(typeof (T), rawValue)) + if (Enum.IsDefined(typeof(T), rawValue)) { if (rawValue is int) { @@ -476,7 +476,7 @@ namespace Google.ProtocolBuffers.Serialization } else if (rawValue is string) { - value = (T) Enum.Parse(typeof (T), (string) rawValue, false); + value = (T) Enum.Parse(typeof(T), (string) rawValue, false); } else { @@ -565,7 +565,7 @@ namespace Google.ProtocolBuffers.Serialization } else if (rawValue is string) { - list.Add((T) Enum.Parse(typeof (T), (string) rawValue, false)); + list.Add((T) Enum.Parse(typeof(T), (string) rawValue, false)); } else { diff --git a/src/ProtocolBuffers.Serialization/AbstractTextReader.cs b/src/ProtocolBuffers.Serialization/AbstractTextReader.cs index ddfa6436..8cac696c 100644 --- a/src/ProtocolBuffers.Serialization/AbstractTextReader.cs +++ b/src/ProtocolBuffers.Serialization/AbstractTextReader.cs @@ -23,7 +23,7 @@ namespace Google.ProtocolBuffers.Serialization protected override bool Read(ref string value) { string text = null; - if (ReadAsText(ref text, typeof (string))) + if (ReadAsText(ref text, typeof(string))) { value = text; return true; @@ -37,7 +37,7 @@ namespace Google.ProtocolBuffers.Serialization protected override bool Read(ref bool value) { string text = null; - if (ReadAsText(ref text, typeof (bool))) + if (ReadAsText(ref text, typeof(bool))) { value = XmlConvert.ToBoolean(text); return true; @@ -51,7 +51,7 @@ namespace Google.ProtocolBuffers.Serialization protected override bool Read(ref int value) { string text = null; - if (ReadAsText(ref text, typeof (int))) + if (ReadAsText(ref text, typeof(int))) { value = XmlConvert.ToInt32(text); return true; @@ -66,7 +66,7 @@ namespace Google.ProtocolBuffers.Serialization protected override bool Read(ref uint value) { string text = null; - if (ReadAsText(ref text, typeof (uint))) + if (ReadAsText(ref text, typeof(uint))) { value = XmlConvert.ToUInt32(text); return true; @@ -80,7 +80,7 @@ namespace Google.ProtocolBuffers.Serialization protected override bool Read(ref long value) { string text = null; - if (ReadAsText(ref text, typeof (long))) + if (ReadAsText(ref text, typeof(long))) { value = XmlConvert.ToInt64(text); return true; @@ -95,7 +95,7 @@ namespace Google.ProtocolBuffers.Serialization protected override bool Read(ref ulong value) { string text = null; - if (ReadAsText(ref text, typeof (ulong))) + if (ReadAsText(ref text, typeof(ulong))) { value = XmlConvert.ToUInt64(text); return true; @@ -109,7 +109,7 @@ namespace Google.ProtocolBuffers.Serialization protected override bool Read(ref float value) { string text = null; - if (ReadAsText(ref text, typeof (float))) + if (ReadAsText(ref text, typeof(float))) { value = XmlConvert.ToSingle(text); return true; @@ -123,7 +123,7 @@ namespace Google.ProtocolBuffers.Serialization protected override bool Read(ref double value) { string text = null; - if (ReadAsText(ref text, typeof (double))) + if (ReadAsText(ref text, typeof(double))) { value = XmlConvert.ToDouble(text); return true; @@ -145,7 +145,7 @@ namespace Google.ProtocolBuffers.Serialization protected override bool Read(ref ByteString value) { string text = null; - if (ReadAsText(ref text, typeof (ByteString))) + if (ReadAsText(ref text, typeof(ByteString))) { value = DecodeBytes(text); return true; @@ -160,7 +160,7 @@ namespace Google.ProtocolBuffers.Serialization protected override bool ReadEnum(ref object value) { string text = null; - if (ReadAsText(ref text, typeof (Enum))) + if (ReadAsText(ref text, typeof(Enum))) { int number; if (int.TryParse(text, NumberStyles.Integer, CultureInfo.InvariantCulture, out number)) diff --git a/src/ProtocolBuffers.Serialization/DictionaryReader.cs b/src/ProtocolBuffers.Serialization/DictionaryReader.cs index bb83ef9c..ac7d2b6f 100644 --- a/src/ProtocolBuffers.Serialization/DictionaryReader.cs +++ b/src/ProtocolBuffers.Serialization/DictionaryReader.cs @@ -82,7 +82,7 @@ namespace Google.ProtocolBuffers.Serialization { if (obj is IConvertible) { - value = (T) Convert.ChangeType(obj, typeof (T), CultureInfo.InvariantCulture); + value = (T) Convert.ChangeType(obj, typeof(T), CultureInfo.InvariantCulture); } else { @@ -207,7 +207,7 @@ namespace Google.ProtocolBuffers.Serialization object[] array = null; if (GetValue(ref array)) { - if (typeof (T) == typeof (ByteString)) + if (typeof(T) == typeof(ByteString)) { ICollection output = (ICollection) items; foreach (byte[] item in array) diff --git a/src/ProtocolBuffers.Serialization/JsonFormatReader.cs b/src/ProtocolBuffers.Serialization/JsonFormatReader.cs index 7b88cafe..423196d8 100644 --- a/src/ProtocolBuffers.Serialization/JsonFormatReader.cs +++ b/src/ProtocolBuffers.Serialization/JsonFormatReader.cs @@ -207,7 +207,7 @@ namespace Google.ProtocolBuffers.Serialization //exponent representation of integer number: if (value != null && type == JsonCursor.JsType.Number && - (typeInfo != typeof (double) && typeInfo != typeof (float)) && + (typeInfo != typeof(double) && typeInfo != typeof(float)) && value.IndexOf("e", StringComparison.OrdinalIgnoreCase) > 0) { value = XmlConvert.ToString((long) Math.Round(XmlConvert.ToDouble(value), 0)); diff --git a/src/ProtocolBuffers.Test/ExtendableMessageTest.cs b/src/ProtocolBuffers.Test/ExtendableMessageTest.cs index f7d670f9..68f37c3c 100644 --- a/src/ProtocolBuffers.Test/ExtendableMessageTest.cs +++ b/src/ProtocolBuffers.Test/ExtendableMessageTest.cs @@ -45,7 +45,7 @@ namespace Google.ProtocolBuffers [TestClass] public class ExtendableMessageTest { - [TestMethod, ExpectedException(typeof (ArgumentException))] + [TestMethod, ExpectedException(typeof(ArgumentException))] public void ExtensionWriterInvalidExtension() { TestPackedExtensions.CreateBuilder()[UnitTestProtoFile.OptionalForeignMessageExtension.Descriptor] = diff --git a/src/ProtocolBuffers.Test/MessageUtilTest.cs b/src/ProtocolBuffers.Test/MessageUtilTest.cs index 9c360517..4c33dbbd 100644 --- a/src/ProtocolBuffers.Test/MessageUtilTest.cs +++ b/src/ProtocolBuffers.Test/MessageUtilTest.cs @@ -44,14 +44,14 @@ namespace Google.ProtocolBuffers public class MessageUtilTest { [TestMethod] - [ExpectedException(typeof (ArgumentNullException))] + [ExpectedException(typeof(ArgumentNullException))] public void NullTypeName() { MessageUtil.GetDefaultMessage((string) null); } [TestMethod] - [ExpectedException(typeof (ArgumentException))] + [ExpectedException(typeof(ArgumentException))] public void InvalidTypeName() { MessageUtil.GetDefaultMessage("invalidtypename"); @@ -61,27 +61,27 @@ namespace Google.ProtocolBuffers public void ValidTypeName() { Assert.AreSame(TestAllTypes.DefaultInstance, - MessageUtil.GetDefaultMessage(typeof (TestAllTypes).AssemblyQualifiedName)); + MessageUtil.GetDefaultMessage(typeof(TestAllTypes).AssemblyQualifiedName)); } [TestMethod] - [ExpectedException(typeof (ArgumentNullException))] + [ExpectedException(typeof(ArgumentNullException))] public void NullType() { MessageUtil.GetDefaultMessage((Type) null); } [TestMethod] - [ExpectedException(typeof (ArgumentException))] + [ExpectedException(typeof(ArgumentException))] public void NonMessageType() { - MessageUtil.GetDefaultMessage(typeof (string)); + MessageUtil.GetDefaultMessage(typeof(string)); } [TestMethod] public void ValidType() { - Assert.AreSame(TestAllTypes.DefaultInstance, MessageUtil.GetDefaultMessage(typeof (TestAllTypes))); + Assert.AreSame(TestAllTypes.DefaultInstance, MessageUtil.GetDefaultMessage(typeof(TestAllTypes))); } } } \ No newline at end of file diff --git a/src/ProtocolBuffers.Test/WireFormatTest.cs b/src/ProtocolBuffers.Test/WireFormatTest.cs index 415624e5..2e2c0773 100644 --- a/src/ProtocolBuffers.Test/WireFormatTest.cs +++ b/src/ProtocolBuffers.Test/WireFormatTest.cs @@ -51,11 +51,11 @@ namespace Google.ProtocolBuffers [TestMethod] public void FieldTypeToWireTypeMapping() { - foreach (FieldInfo field in typeof (FieldType).GetFields(BindingFlags.Static | BindingFlags.Public)) + foreach (FieldInfo field in typeof(FieldType).GetFields(BindingFlags.Static | BindingFlags.Public)) { FieldType fieldType = (FieldType) field.GetValue(null); FieldMappingAttribute mapping = - (FieldMappingAttribute) field.GetCustomAttributes(typeof (FieldMappingAttribute), false)[0]; + (FieldMappingAttribute) field.GetCustomAttributes(typeof(FieldMappingAttribute), false)[0]; Assert.AreEqual(mapping.WireType, WireFormat.GetWireType(fieldType)); } } diff --git a/src/ProtocolBuffers/CodedInputStream.cs b/src/ProtocolBuffers/CodedInputStream.cs index 9dadf306..be88d154 100644 --- a/src/ProtocolBuffers/CodedInputStream.cs +++ b/src/ProtocolBuffers/CodedInputStream.cs @@ -467,7 +467,7 @@ namespace Google.ProtocolBuffers where T : struct, IComparable, IFormattable, IConvertible { int number = (int) ReadRawVarint32(); - if (Enum.IsDefined(typeof (T), number)) + if (Enum.IsDefined(typeof(T), number)) { unknown = null; value = (T) (object) number; diff --git a/src/ProtocolBuffers/Descriptors/FieldDescriptor.cs b/src/ProtocolBuffers/Descriptors/FieldDescriptor.cs index 6d9de74f..6d17ae2a 100644 --- a/src/ProtocolBuffers/Descriptors/FieldDescriptor.cs +++ b/src/ProtocolBuffers/Descriptors/FieldDescriptor.cs @@ -441,11 +441,11 @@ namespace Google.ProtocolBuffers.Descriptors private static IDictionary MapFieldTypes() { var map = new Dictionary(); - foreach (FieldInfo field in typeof (FieldType).GetFields(BindingFlags.Static | BindingFlags.Public)) + foreach (FieldInfo field in typeof(FieldType).GetFields(BindingFlags.Static | BindingFlags.Public)) { FieldType fieldType = (FieldType) field.GetValue(null); FieldMappingAttribute mapping = - (FieldMappingAttribute) field.GetCustomAttributes(typeof (FieldMappingAttribute), false)[0]; + (FieldMappingAttribute) field.GetCustomAttributes(typeof(FieldMappingAttribute), false)[0]; map[fieldType] = mapping.MappedType; } return Dictionaries.AsReadOnly(map); diff --git a/src/ProtocolBuffers/Descriptors/FieldMappingAttribute.cs b/src/ProtocolBuffers/Descriptors/FieldMappingAttribute.cs index 55b7fc54..fc58d046 100644 --- a/src/ProtocolBuffers/Descriptors/FieldMappingAttribute.cs +++ b/src/ProtocolBuffers/Descriptors/FieldMappingAttribute.cs @@ -63,11 +63,11 @@ namespace Google.ProtocolBuffers.Descriptors private static IDictionary MapFieldTypes() { var map = new Dictionary(); - foreach (FieldInfo field in typeof (FieldType).GetFields(BindingFlags.Static | BindingFlags.Public)) + foreach (FieldInfo field in typeof(FieldType).GetFields(BindingFlags.Static | BindingFlags.Public)) { FieldType fieldType = (FieldType) field.GetValue(null); FieldMappingAttribute mapping = - (FieldMappingAttribute) field.GetCustomAttributes(typeof (FieldMappingAttribute), false)[0]; + (FieldMappingAttribute) field.GetCustomAttributes(typeof(FieldMappingAttribute), false)[0]; map[fieldType] = mapping; } return Dictionaries.AsReadOnly(map); diff --git a/src/ProtocolBuffers/EnumLite.cs b/src/ProtocolBuffers/EnumLite.cs index 18800ad4..a6a25f4e 100644 --- a/src/ProtocolBuffers/EnumLite.cs +++ b/src/ProtocolBuffers/EnumLite.cs @@ -107,7 +107,7 @@ namespace Google.ProtocolBuffers items.Add(Convert.ToInt32(evalue), new EnumValue(evalue)); } #else - foreach (TEnum evalue in Enum.GetValues(typeof (TEnum))) + foreach (TEnum evalue in Enum.GetValues(typeof(TEnum))) { items.Add(Convert.ToInt32(evalue), new EnumValue(evalue)); } @@ -128,9 +128,9 @@ namespace Google.ProtocolBuffers public IEnumLite FindValueByName(string name) { IEnumLite val; - if (Enum.IsDefined(typeof (TEnum), name)) + if (Enum.IsDefined(typeof(TEnum), name)) { - return items.TryGetValue((int) Enum.Parse(typeof (TEnum), name, false), out val) ? val : null; + return items.TryGetValue((int) Enum.Parse(typeof(TEnum), name, false), out val) ? val : null; } return null; } diff --git a/src/ProtocolBuffers/FieldAccess/ReflectionUtil.cs b/src/ProtocolBuffers/FieldAccess/ReflectionUtil.cs index e876d9ce..84c53e26 100644 --- a/src/ProtocolBuffers/FieldAccess/ReflectionUtil.cs +++ b/src/ProtocolBuffers/FieldAccess/ReflectionUtil.cs @@ -56,8 +56,8 @@ namespace Google.ProtocolBuffers.FieldAccess public static Func CreateUpcastDelegate(MethodInfo method) { // The tricky bit is invoking CreateCreateUpcastDelegateImpl with the right type parameters - MethodInfo openImpl = typeof (ReflectionUtil).GetMethod("CreateUpcastDelegateImpl"); - MethodInfo closedImpl = openImpl.MakeGenericMethod(typeof (T), method.ReturnType); + MethodInfo openImpl = typeof(ReflectionUtil).GetMethod("CreateUpcastDelegateImpl"); + MethodInfo closedImpl = openImpl.MakeGenericMethod(typeof(T), method.ReturnType); return (Func) closedImpl.Invoke(null, new object[] {method}); } @@ -71,7 +71,7 @@ namespace Google.ProtocolBuffers.FieldAccess // Convert the reflection call into an open delegate, i.e. instead of calling x.Method() // we'll call getter(x). Func getter = - (Func) Delegate.CreateDelegate(typeof (Func), null, method); + (Func) Delegate.CreateDelegate(typeof(Func), null, method); // Implicit upcast to object (within the delegate) return delegate(TSource source) { return getter(source); }; @@ -83,8 +83,8 @@ namespace Google.ProtocolBuffers.FieldAccess /// public static Action CreateDowncastDelegate(MethodInfo method) { - MethodInfo openImpl = typeof (ReflectionUtil).GetMethod("CreateDowncastDelegateImpl"); - MethodInfo closedImpl = openImpl.MakeGenericMethod(typeof (T), method.GetParameters()[0].ParameterType); + MethodInfo openImpl = typeof(ReflectionUtil).GetMethod("CreateDowncastDelegateImpl"); + MethodInfo closedImpl = openImpl.MakeGenericMethod(typeof(T), method.GetParameters()[0].ParameterType); return (Action) closedImpl.Invoke(null, new object[] {method}); } @@ -93,7 +93,7 @@ namespace Google.ProtocolBuffers.FieldAccess // Convert the reflection call into an open delegate, i.e. instead of calling x.Method(y) we'll // call Method(x, y) Action call = - (Action) Delegate.CreateDelegate(typeof (Action), null, method); + (Action) Delegate.CreateDelegate(typeof(Action), null, method); return delegate(TSource source, object parameter) { call(source, (TParam) parameter); }; } @@ -104,8 +104,8 @@ namespace Google.ProtocolBuffers.FieldAccess /// public static Action CreateDowncastDelegateIgnoringReturn(MethodInfo method) { - MethodInfo openImpl = typeof (ReflectionUtil).GetMethod("CreateDowncastDelegateIgnoringReturnImpl"); - MethodInfo closedImpl = openImpl.MakeGenericMethod(typeof (T), method.GetParameters()[0].ParameterType, + MethodInfo openImpl = typeof(ReflectionUtil).GetMethod("CreateDowncastDelegateIgnoringReturnImpl"); + MethodInfo closedImpl = openImpl.MakeGenericMethod(typeof(T), method.GetParameters()[0].ParameterType, method.ReturnType); return (Action) closedImpl.Invoke(null, new object[] {method}); } @@ -116,7 +116,7 @@ namespace Google.ProtocolBuffers.FieldAccess // Convert the reflection call into an open delegate, i.e. instead of calling x.Method(y) we'll // call Method(x, y) Func call = (Func) - Delegate.CreateDelegate(typeof (Func), null, + Delegate.CreateDelegate(typeof(Func), null, method); return delegate(TSource source, object parameter) { call(source, (TParam) parameter); }; @@ -127,14 +127,14 @@ namespace Google.ProtocolBuffers.FieldAccess /// public static Func CreateStaticUpcastDelegate(MethodInfo method) { - MethodInfo openImpl = typeof (ReflectionUtil).GetMethod("CreateStaticUpcastDelegateImpl"); + MethodInfo openImpl = typeof(ReflectionUtil).GetMethod("CreateStaticUpcastDelegateImpl"); MethodInfo closedImpl = openImpl.MakeGenericMethod(method.ReturnType); return (Func) closedImpl.Invoke(null, new object[] {method}); } public static Func CreateStaticUpcastDelegateImpl(MethodInfo method) { - Func call = (Func) Delegate.CreateDelegate(typeof (Func), null, method); + Func call = (Func) Delegate.CreateDelegate(typeof(Func), null, method); return delegate { return (IBuilder) call(); }; } } diff --git a/src/ProtocolBuffers/GeneratedExtensionBase.cs b/src/ProtocolBuffers/GeneratedExtensionBase.cs index 53a43de0..424b981a 100644 --- a/src/ProtocolBuffers/GeneratedExtensionBase.cs +++ b/src/ProtocolBuffers/GeneratedExtensionBase.cs @@ -85,7 +85,7 @@ namespace Google.ProtocolBuffers if (defaultInstanceProperty == null) { throw new ArgumentException("No public static DefaultInstance property for type " + - typeof (TExtension).Name); + typeof(TExtension).Name); } messageDefaultInstance = (IMessageLite) defaultInstanceProperty.GetValue(null, null); diff --git a/src/ProtocolBuffers/GeneratedRepeatExtension.cs b/src/ProtocolBuffers/GeneratedRepeatExtension.cs index a044bf2e..7e7b088c 100644 --- a/src/ProtocolBuffers/GeneratedRepeatExtension.cs +++ b/src/ProtocolBuffers/GeneratedRepeatExtension.cs @@ -46,7 +46,7 @@ namespace Google.ProtocolBuffers /// public sealed class GeneratedRepeatExtension : GeneratedExtensionBase> { - private GeneratedRepeatExtension(FieldDescriptor field) : base(field, typeof (TExtensionElement)) + private GeneratedRepeatExtension(FieldDescriptor field) : base(field, typeof(TExtensionElement)) { } diff --git a/src/ProtocolBuffers/GeneratedSingleExtension.cs b/src/ProtocolBuffers/GeneratedSingleExtension.cs index de9fd29f..f0f1979b 100644 --- a/src/ProtocolBuffers/GeneratedSingleExtension.cs +++ b/src/ProtocolBuffers/GeneratedSingleExtension.cs @@ -44,7 +44,7 @@ namespace Google.ProtocolBuffers /// public sealed class GeneratedSingleExtension : GeneratedExtensionBase { - internal GeneratedSingleExtension(FieldDescriptor descriptor) : base(descriptor, typeof (TExtension)) + internal GeneratedSingleExtension(FieldDescriptor descriptor) : base(descriptor, typeof(TExtension)) { } diff --git a/src/ProtocolBuffers/MessageStreamIterator.cs b/src/ProtocolBuffers/MessageStreamIterator.cs index 3c46537d..f5d9bcbe 100644 --- a/src/ProtocolBuffers/MessageStreamIterator.cs +++ b/src/ProtocolBuffers/MessageStreamIterator.cs @@ -84,16 +84,16 @@ namespace Google.ProtocolBuffers Type builderType = FindBuilderType(); // Yes, it's redundant to find this again, but it's only the once... - MethodInfo createBuilderMethod = typeof (TMessage).GetMethod("CreateBuilder", EmptyTypes); + MethodInfo createBuilderMethod = typeof(TMessage).GetMethod("CreateBuilder", EmptyTypes); Delegate builderBuilder = Delegate.CreateDelegate( - typeof (Func<>).MakeGenericType(builderType), null, createBuilderMethod); + typeof(Func<>).MakeGenericType(builderType), null, createBuilderMethod); - MethodInfo buildMethod = typeof (MessageStreamIterator) + MethodInfo buildMethod = typeof(MessageStreamIterator) .GetMethod("BuildImpl", BindingFlags.Static | BindingFlags.NonPublic) - .MakeGenericMethod(typeof (TMessage), builderType); + .MakeGenericMethod(typeof(TMessage), builderType); return (Func) Delegate.CreateDelegate( - typeof (Func), builderBuilder, buildMethod); + typeof(Func), builderBuilder, buildMethod); } catch (ArgumentException e) { @@ -116,28 +116,28 @@ namespace Google.ProtocolBuffers /// private static Type FindBuilderType() { - MethodInfo createBuilderMethod = typeof (TMessage).GetMethod("CreateBuilder", EmptyTypes); + MethodInfo createBuilderMethod = typeof(TMessage).GetMethod("CreateBuilder", EmptyTypes); if (createBuilderMethod == null) { - throw new ArgumentException("Message type " + typeof (TMessage).FullName + + throw new ArgumentException("Message type " + typeof(TMessage).FullName + " has no CreateBuilder method."); } - if (createBuilderMethod.ReturnType == typeof (void)) + if (createBuilderMethod.ReturnType == typeof(void)) { - throw new ArgumentException("CreateBuilder method in " + typeof (TMessage).FullName + + throw new ArgumentException("CreateBuilder method in " + typeof(TMessage).FullName + " has void return type"); } Type builderType = createBuilderMethod.ReturnType; - Type messageInterface = typeof (IMessage<,>).MakeGenericType(typeof (TMessage), builderType); - Type builderInterface = typeof (IBuilder<,>).MakeGenericType(typeof (TMessage), builderType); - if (Array.IndexOf(typeof (TMessage).GetInterfaces(), messageInterface) == -1) + Type messageInterface = typeof(IMessage<,>).MakeGenericType(typeof(TMessage), builderType); + Type builderInterface = typeof(IBuilder<,>).MakeGenericType(typeof(TMessage), builderType); + if (Array.IndexOf(typeof(TMessage).GetInterfaces(), messageInterface) == -1) { - throw new ArgumentException("Message type " + typeof (TMessage) + " doesn't implement " + + throw new ArgumentException("Message type " + typeof(TMessage) + " doesn't implement " + messageInterface.FullName); } if (Array.IndexOf(builderType.GetInterfaces(), builderInterface) == -1) { - throw new ArgumentException("Builder type " + typeof (TMessage) + " doesn't implement " + + throw new ArgumentException("Builder type " + typeof(TMessage) + " doesn't implement " + builderInterface.FullName); } return builderType; diff --git a/src/ProtocolBuffers/MessageUtil.cs b/src/ProtocolBuffers/MessageUtil.cs index a32bda88..d120d209 100644 --- a/src/ProtocolBuffers/MessageUtil.cs +++ b/src/ProtocolBuffers/MessageUtil.cs @@ -65,7 +65,7 @@ namespace Google.ProtocolBuffers throw new ArgumentException("Unable to get a default message for an abstract or generic type (" + type.FullName + ")"); } - if (!typeof (IMessage).IsAssignableFrom(type)) + if (!typeof(IMessage).IsAssignableFrom(type)) { throw new ArgumentException("Unable to get a default message for non-message type (" + type.FullName + ")"); diff --git a/src/ProtocolBuffersLite.Test/AbstractBuilderLiteTest.cs b/src/ProtocolBuffersLite.Test/AbstractBuilderLiteTest.cs index 2e5b11e8..4f055c83 100644 --- a/src/ProtocolBuffersLite.Test/AbstractBuilderLiteTest.cs +++ b/src/ProtocolBuffersLite.Test/AbstractBuilderLiteTest.cs @@ -255,7 +255,7 @@ namespace Google.ProtocolBuffers TestUtil.AssertBytesEqual(msg.ToByteArray(), TestRequiredLite.DefaultInstance.ToByteArray()); } - [TestMethod, ExpectedException(typeof (UninitializedMessageException))] + [TestMethod, ExpectedException(typeof(UninitializedMessageException))] public void TestIBuilderLiteWeakBuildUninitialized() { IBuilderLite builder = TestRequiredLite.CreateBuilder(); diff --git a/src/ProtocolBuffersLite.Test/AbstractMessageLiteTest.cs b/src/ProtocolBuffersLite.Test/AbstractMessageLiteTest.cs index 74eed574..bead60fb 100644 --- a/src/ProtocolBuffersLite.Test/AbstractMessageLiteTest.cs +++ b/src/ProtocolBuffersLite.Test/AbstractMessageLiteTest.cs @@ -111,7 +111,7 @@ namespace Google.ProtocolBuffers public void TestIMessageLiteWeakCreateBuilderForType() { IMessageLite msg = TestRequiredLite.DefaultInstance; - Assert.AreEqual(typeof (TestRequiredLite.Builder), msg.WeakCreateBuilderForType().GetType()); + Assert.AreEqual(typeof(TestRequiredLite.Builder), msg.WeakCreateBuilderForType().GetType()); } [TestMethod] diff --git a/src/ProtocolBuffersLite.Test/ExtendableBuilderLiteTest.cs b/src/ProtocolBuffersLite.Test/ExtendableBuilderLiteTest.cs index 65683188..910ebaf5 100644 --- a/src/ProtocolBuffersLite.Test/ExtendableBuilderLiteTest.cs +++ b/src/ProtocolBuffersLite.Test/ExtendableBuilderLiteTest.cs @@ -128,7 +128,7 @@ namespace Google.ProtocolBuffers Assert.AreEqual(i, builder.GetExtension(UnitTestLiteProtoFile.RepeatedInt32ExtensionLite, i)); } - [TestMethod, ExpectedException(typeof (ArgumentOutOfRangeException))] + [TestMethod, ExpectedException(typeof(ArgumentOutOfRangeException))] public void TestGetExtensionTIndexOutOfRange() { TestAllExtensionsLite.Builder builder = TestAllExtensionsLite.CreateBuilder(); @@ -154,7 +154,7 @@ namespace Google.ProtocolBuffers Assert.AreEqual(5 + i, builder.GetExtension(UnitTestLiteProtoFile.RepeatedInt32ExtensionLite, i)); } - [TestMethod, ExpectedException(typeof (ArgumentOutOfRangeException))] + [TestMethod, ExpectedException(typeof(ArgumentOutOfRangeException))] public void TestSetExtensionTIndexOutOfRange() { TestAllExtensionsLite.Builder builder = TestAllExtensionsLite.CreateBuilder(); @@ -209,7 +209,7 @@ namespace Google.ProtocolBuffers Assert.AreEqual(123, builder.GetExtension(UnitTestLiteProtoFile.RepeatedInt32ExtensionLite, 0)); } - [TestMethod, ExpectedException(typeof (ArgumentOutOfRangeException))] + [TestMethod, ExpectedException(typeof(ArgumentOutOfRangeException))] public void TestIndexedByDescriptorAndOrdinalOutOfRange() { TestAllExtensionsLite.Builder builder = TestAllExtensionsLite.CreateBuilder(); diff --git a/src/ProtocolBuffersLite.Test/ExtendableMessageLiteTest.cs b/src/ProtocolBuffersLite.Test/ExtendableMessageLiteTest.cs index a7c0f69a..5c236aa3 100644 --- a/src/ProtocolBuffersLite.Test/ExtendableMessageLiteTest.cs +++ b/src/ProtocolBuffersLite.Test/ExtendableMessageLiteTest.cs @@ -47,7 +47,7 @@ namespace Google.ProtocolBuffers public class ExtendableMessageLiteTest { //The lite framework does not make this assertion - //[TestMethod, Ignore, ExpectedException(typeof (ArgumentException))] + //[TestMethod, Ignore, ExpectedException(typeof(ArgumentException))] //public void ExtensionWriterInvalidExtension() //{ // TestPackedExtensionsLite.CreateBuilder()[ -- cgit v1.2.3