From 3980cf9df1ca9c66718f1fe9817011134f87bbcd Mon Sep 17 00:00:00 2001 From: Jon Skeet Date: Thu, 30 Jul 2015 13:35:42 +0100 Subject: Prohibit null values for string/bytes fields in generated code. --- src/google/protobuf/compiler/csharp/csharp_field_base.cc | 11 ----------- src/google/protobuf/compiler/csharp/csharp_primitive_field.cc | 4 ++-- 2 files changed, 2 insertions(+), 13 deletions(-) (limited to 'src') diff --git a/src/google/protobuf/compiler/csharp/csharp_field_base.cc b/src/google/protobuf/compiler/csharp/csharp_field_base.cc index 2459d457..7e3bbeef 100644 --- a/src/google/protobuf/compiler/csharp/csharp_field_base.cc +++ b/src/google/protobuf/compiler/csharp/csharp_field_base.cc @@ -127,17 +127,6 @@ void FieldGeneratorBase::AddDeprecatedFlag(io::Printer* printer) { } } -void FieldGeneratorBase::AddNullCheck(io::Printer* printer) { - AddNullCheck(printer, "value"); -} - -void FieldGeneratorBase::AddNullCheck(io::Printer* printer, const std::string& name) { - if (is_nullable_type()) { - printer->Print(" pb::ThrowHelper.ThrowIfNull($name$, \"$name$\");\n", - "name", name); - } -} - void FieldGeneratorBase::AddPublicMemberAttributes(io::Printer* printer) { AddDeprecatedFlag(printer); } diff --git a/src/google/protobuf/compiler/csharp/csharp_primitive_field.cc b/src/google/protobuf/compiler/csharp/csharp_primitive_field.cc index 80f4a92d..fc043ec0 100644 --- a/src/google/protobuf/compiler/csharp/csharp_primitive_field.cc +++ b/src/google/protobuf/compiler/csharp/csharp_primitive_field.cc @@ -81,7 +81,7 @@ void PrimitiveFieldGenerator::GenerateMembers(io::Printer* printer) { } else { printer->Print( variables_, - " $name$_ = value ?? $default_value$;\n"); + " $name$_ = pb::Preconditions.CheckNotNull(value, \"value\");\n"); } printer->Print( " }\n" @@ -183,7 +183,7 @@ void PrimitiveOneofFieldGenerator::GenerateMembers(io::Printer* printer) { } else { printer->Print( variables_, - " $oneof_name$_ = value ?? $default_value$;\n"); + " $oneof_name$_ = pb::Preconditions.CheckNotNull(value, \"value\");\n"); } printer->Print( variables_, -- cgit v1.2.3