aboutsummaryrefslogtreecommitdiff
path: root/src/ProtoGen/MessageFieldGenerator.cs
diff options
context:
space:
mode:
authorcsharptest <roger@csharptest.net>2011-09-23 11:13:41 -0500
committerrogerk <devnull@localhost>2011-09-23 11:13:41 -0500
commitdc24b605e356dbfda692e952807b404cccf245bc (patch)
tree98ca298a85d08f17d7466b474eff1481f066d1f1 /src/ProtoGen/MessageFieldGenerator.cs
parent8bd88ea8072c704777e4ba024707ce3614dd2d03 (diff)
downloadprotobuf-dc24b605e356dbfda692e952807b404cccf245bc.tar.gz
protobuf-dc24b605e356dbfda692e952807b404cccf245bc.tar.bz2
protobuf-dc24b605e356dbfda692e952807b404cccf245bc.zip
Generator changes to fix circular reference issues in static ctor
Diffstat (limited to 'src/ProtoGen/MessageFieldGenerator.cs')
-rw-r--r--src/ProtoGen/MessageFieldGenerator.cs6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/ProtoGen/MessageFieldGenerator.cs b/src/ProtoGen/MessageFieldGenerator.cs
index fab0f29e..a515060e 100644
--- a/src/ProtoGen/MessageFieldGenerator.cs
+++ b/src/ProtoGen/MessageFieldGenerator.cs
@@ -48,12 +48,12 @@ namespace Google.ProtocolBuffers.ProtoGen
public void GenerateMembers(TextGenerator writer)
{
writer.WriteLine("private bool has{0};", PropertyName);
- writer.WriteLine("private {0} {1}_ = {2};", TypeName, Name, DefaultValue);
+ writer.WriteLine("private {0} {1}_;", TypeName, Name);
writer.WriteLine("public bool Has{0} {{", PropertyName);
writer.WriteLine(" get {{ return has{0}; }}", PropertyName);
writer.WriteLine("}");
writer.WriteLine("public {0} {1} {{", TypeName, PropertyName);
- writer.WriteLine(" get {{ return {0}_; }}", Name);
+ writer.WriteLine(" get {{ return {0}_ ?? {1}; }}", Name, DefaultValue);
writer.WriteLine("}");
}
@@ -96,7 +96,7 @@ namespace Google.ProtocolBuffers.ProtoGen
writer.WriteLine("public Builder Clear{0}() {{", PropertyName);
writer.WriteLine(" PrepareBuilder();");
writer.WriteLine(" result.has{0} = false;", PropertyName);
- writer.WriteLine(" result.{0}_ = {1};", Name, DefaultValue);
+ writer.WriteLine(" result.{0}_ = null;", Name);
writer.WriteLine(" return this;");
writer.WriteLine("}");
}