Changes from review e805fdfd3a6b

pull/288/head
csharptest 14 years ago committed by rogerk
parent 9b3de69224
commit 304ff3a838
  1. 4
      src/ProtoGen/FieldGeneratorBase.cs
  2. 2
      src/ProtocolBuffers/CodedOutputStream.cs
  3. 7
      src/ProtocolBuffers/Collections/PopsicleList.cs
  4. 1
      src/ProtocolBuffers/ProtocolBuffers.csproj

@ -72,6 +72,10 @@ namespace Google.ProtocolBuffers.ProtoGen
return true; return true;
} }
/// <summary>
/// This returns true if the field has a non-default default value. For instance this returns
/// false for numerics with a default of zero '0', or booleans with a default of false.
/// </summary>
protected bool HasDefaultValue protected bool HasDefaultValue
{ {
get get

@ -370,7 +370,7 @@ namespace Google.ProtocolBuffers
WriteRawVarint32(value); WriteRawVarint32(value);
} }
public void WriteEnum(int fieldNumber, string fieldName, int value, object textValue) public void WriteEnum(int fieldNumber, string fieldName, int value, object rawValue)
{ {
WriteTag(fieldNumber, WireFormat.WireType.Varint); WriteTag(fieldNumber, WireFormat.WireType.Varint);
WriteRawVarint32((uint) value); WriteRawVarint32((uint) value);

@ -42,7 +42,7 @@ namespace Google.ProtocolBuffers.Collections
/// </summary> /// </summary>
public sealed class PopsicleList<T> : IPopsicleList<T>, ICastArray public sealed class PopsicleList<T> : IPopsicleList<T>, ICastArray
{ {
private static readonly IEnumerable<T> EmptySet = new T[0]; private static readonly T[] EmptySet = new T[0];
private List<T> items; private List<T> items;
private bool readOnly; private bool readOnly;
@ -134,7 +134,8 @@ namespace Google.ProtocolBuffers.Collections
public IEnumerator<T> GetEnumerator() public IEnumerator<T> GetEnumerator()
{ {
return items == null ? EmptySet.GetEnumerator() : items.GetEnumerator(); IEnumerable<T> tenum = (IEnumerable<T>)items ?? EmptySet;
return tenum.GetEnumerator();
} }
IEnumerator IEnumerable.GetEnumerator() IEnumerator IEnumerable.GetEnumerator()
@ -171,7 +172,7 @@ namespace Google.ProtocolBuffers.Collections
{ {
if (items == null) if (items == null)
{ {
return new TItemType[0]; return PopsicleList<TItemType>.EmptySet;
} }
return (TItemType[]) (object) items.ToArray(); return (TItemType[]) (object) items.ToArray();
} }

@ -88,6 +88,7 @@
<ItemGroup> <ItemGroup>
<Reference Include="mscorlib" /> <Reference Include="mscorlib" />
<Reference Include="System" /> <Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" /> <Reference Include="System.Xml" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

Loading…
Cancel
Save