aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/google/protobuf/compiler/csharp/csharp_enum_field.cc
diff options
context:
space:
mode:
authorGravatar Jie Luo <jieluo@google.com>2015-06-03 18:02:17 -0700
committerGravatar Jie Luo <jieluo@google.com>2015-06-04 11:39:13 -0700
commit90da3514cdc372b8221a32f9fc97da0d4e047e92 (patch)
tree4c77411dbd3cd0fae2121a0284287267d2ef244a /src/google/protobuf/compiler/csharp/csharp_enum_field.cc
parenta21a2cf7d39648fa8fe7e98789d0590e336a471f (diff)
Migrate writer to io::Printer for C#
Diffstat (limited to 'src/google/protobuf/compiler/csharp/csharp_enum_field.cc')
-rw-r--r--src/google/protobuf/compiler/csharp/csharp_enum_field.cc107
1 files changed, 52 insertions, 55 deletions
diff --git a/src/google/protobuf/compiler/csharp/csharp_enum_field.cc b/src/google/protobuf/compiler/csharp/csharp_enum_field.cc
index 28f5a05c..51a95b9f 100644
--- a/src/google/protobuf/compiler/csharp/csharp_enum_field.cc
+++ b/src/google/protobuf/compiler/csharp/csharp_enum_field.cc
@@ -39,7 +39,6 @@
#include <google/protobuf/compiler/csharp/csharp_helpers.h>
#include <google/protobuf/compiler/csharp/csharp_enum_field.h>
-#include <google/protobuf/compiler/csharp/csharp_writer.h>
namespace google {
namespace protobuf {
@@ -54,39 +53,38 @@ EnumFieldGenerator::EnumFieldGenerator(const FieldDescriptor* descriptor,
EnumFieldGenerator::~EnumFieldGenerator() {
}
-void EnumFieldGenerator::GenerateParsingCode(Writer* writer) {
- writer->WriteLine("object unknown;");
- writer->WriteLine("if(input.ReadEnum(ref result.$0$_, out unknown)) {", name());
+void EnumFieldGenerator::GenerateParsingCode(io::Printer* printer) {
+ printer->Print(variables_,
+ "object unknown;\n"
+ "if(input.ReadEnum(ref result.$name$_, out unknown)) {\n");
if (SupportFieldPresence(descriptor_->file())) {
- writer->WriteLine(" result.has$0$ = true;", property_name());
+ printer->Print(variables_,
+ " result.has$property_name$ = true;\n");
}
- writer->WriteLine("} else if(unknown is int) {");
+ printer->Print("} else if(unknown is int) {\n");
if (!use_lite_runtime()) {
- writer->WriteLine(" if (unknownFields == null) {"); // First unknown field - create builder now
- writer->WriteLine(
- " unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);");
- writer->WriteLine(" }");
- writer->WriteLine(
- " unknownFields.MergeVarintField($0$, (ulong)(int)unknown);",
- number());
+ printer->Print(variables_,
+ " if (unknownFields == null) {\n" // First unknown field - create builder now
+ " unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);\n"
+ " }\n"
+ " unknownFields.MergeVarintField($number$, (ulong)(int)unknown);\n");
}
- writer->WriteLine("}");
+ printer->Print("}\n");
}
-void EnumFieldGenerator::GenerateSerializationCode(Writer* writer) {
- writer->WriteLine("if ($0$) {", has_property_check);
- writer->WriteLine(
- " output.WriteEnum($0$, field_names[$2$], (int) $1$, $1$);", number(),
- property_name(), field_ordinal());
- writer->WriteLine("}");
+void EnumFieldGenerator::GenerateSerializationCode(io::Printer* printer) {
+ printer->Print(variables_,
+ "if ($has_property_check$) {\n"
+ " output.WriteEnum($number$, field_names[$field_ordinal$], (int) $property_name$, $property_name$);\n"
+ "}\n");
}
-void EnumFieldGenerator::GenerateSerializedSizeCode(Writer* writer) {
- writer->WriteLine("if ($0$) {", has_property_check);
- writer->WriteLine(
- " size += pb::CodedOutputStream.ComputeEnumSize($0$, (int) $1$);",
- number(), property_name());
- writer->WriteLine("}");
+void EnumFieldGenerator::GenerateSerializedSizeCode(io::Printer* printer) {
+ printer->Print(
+ variables_,
+ "if ($has_property_check$) {\n"
+ " size += pb::CodedOutputStream.ComputeEnumSize($number$, (int) $property_name$);\n"
+ "}\n");
}
EnumOneofFieldGenerator::EnumOneofFieldGenerator(const FieldDescriptor* descriptor,
@@ -97,41 +95,40 @@ EnumOneofFieldGenerator::EnumOneofFieldGenerator(const FieldDescriptor* descript
EnumOneofFieldGenerator::~EnumOneofFieldGenerator() {
}
-void EnumOneofFieldGenerator::GenerateParsingCode(Writer* writer) {
- writer->WriteLine("object unknown;");
- writer->WriteLine("$0$ enumValue = $1$;", type_name(), default_value());
- writer->WriteLine("if(input.ReadEnum(ref enumValue, out unknown)) {",
- name());
- writer->WriteLine(" result.$0$_ = enumValue;", oneof_name());
- writer->WriteLine(" result.$0$Case_ = $1$OneofCase.$2$;",
- oneof_name(), oneof_property_name(), property_name());
- writer->WriteLine("} else if(unknown is int) {");
+void EnumOneofFieldGenerator::GenerateParsingCode(io::Printer* printer) {
+ printer->Print(
+ variables_,
+ "object unknown;\n"
+ "$type_name$ enumValue = $default_value$;\n"
+ "if(input.ReadEnum(ref enumValue, out unknown)) {\n"
+ " result.$oneof_name$_ = enumValue;\n"
+ " result.$oneof_name$Case_ = $oneof_property_name$OneofCase.$property_name$;\n"
+ "} else if(unknown is int) {\n");
if (!use_lite_runtime()) {
- writer->WriteLine(" if (unknownFields == null) {"); // First unknown field - create builder now
- writer->WriteLine(
- " unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);");
- writer->WriteLine(" }");
- writer->WriteLine(
- " unknownFields.MergeVarintField($0$, (ulong)(int)unknown);",
- number());
+ printer->Print(
+ variables_,
+ " if (unknownFields == null) {\n" // First unknown field - create builder now
+ " unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);\n"
+ " }\n"
+ " unknownFields.MergeVarintField($number$, (ulong)(int)unknown);\n");
}
- writer->WriteLine("}");
+ printer->Print("}\n");
}
-void EnumOneofFieldGenerator::GenerateSerializationCode(Writer* writer) {
- writer->WriteLine("if ($0$) {", has_property_check);
- writer->WriteLine(
- " output.WriteEnum($0$, field_names[$2$], (int) $1$, $1$);", number(),
- property_name(), field_ordinal());
- writer->WriteLine("}");
+void EnumOneofFieldGenerator::GenerateSerializationCode(io::Printer* printer) {
+ printer->Print(
+ variables_,
+ "if ($has_property_check$) {\n"
+ " output.WriteEnum($number$, field_names[$field_ordinal$], (int) $property_name$, $property_name$);\n"
+ "}\n");
}
-void EnumOneofFieldGenerator::GenerateSerializedSizeCode(Writer* writer) {
- writer->WriteLine("if ($0$) {", has_property_check);
- writer->WriteLine(
- " size += pb::CodedOutputStream.ComputeEnumSize($0$, (int) $1$);",
- number(), property_name());
- writer->WriteLine("}");
+void EnumOneofFieldGenerator::GenerateSerializedSizeCode(io::Printer* printer) {
+ printer->Print(
+ variables_,
+ "if ($has_property_check$) {\n"
+ " size += pb::CodedOutputStream.ComputeEnumSize($number$, (int) $property_name$);\n"
+ "}\n");
}
} // namespace csharp