aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Jon Skeet <jonskeet@google.com>2015-09-29 13:37:15 +0100
committerGravatar Jon Skeet <jonskeet@google.com>2015-09-29 13:37:15 +0100
commit2212f56bcdfd5d830a18a3c4aaecb0a6ad564e54 (patch)
tree5b05d3a46db8d4ade5dfdd6b044b98e25f6262d7
parent0e5686a70768a289782eb1e1aa86646e56897e4d (diff)
Added documentation to generated code.
There are now summaries for: - The Types nested class (which holds nested types) - The file descriptor class for each proto - The enum generated for each oneof (Also fixed two typos.) Generated code in next commit.
-rw-r--r--csharp/src/Google.Protobuf/CodedInputStream.cs2
-rw-r--r--csharp/src/Google.Protobuf/Reflection/FieldDescriptor.cs2
-rw-r--r--src/google/protobuf/compiler/csharp/csharp_message.cc6
-rw-r--r--src/google/protobuf/compiler/csharp/csharp_umbrella_class.cc4
4 files changed, 11 insertions, 3 deletions
diff --git a/csharp/src/Google.Protobuf/CodedInputStream.cs b/csharp/src/Google.Protobuf/CodedInputStream.cs
index 82c6ceab..65d0e710 100644
--- a/csharp/src/Google.Protobuf/CodedInputStream.cs
+++ b/csharp/src/Google.Protobuf/CodedInputStream.cs
@@ -38,7 +38,7 @@ using System.IO;
namespace Google.Protobuf
{
/// <summary>
- /// Readings and decodes protocol message fields.
+ /// Reads and decodes protocol message fields.
/// </summary>
/// <remarks>
/// <para>
diff --git a/csharp/src/Google.Protobuf/Reflection/FieldDescriptor.cs b/csharp/src/Google.Protobuf/Reflection/FieldDescriptor.cs
index 901cbf47..619a6ac8 100644
--- a/csharp/src/Google.Protobuf/Reflection/FieldDescriptor.cs
+++ b/csharp/src/Google.Protobuf/Reflection/FieldDescriptor.cs
@@ -252,7 +252,7 @@ namespace Google.Protobuf.Reflection
{
if (fieldType != FieldType.Message)
{
- throw new InvalidOperationException("MessageType is only valid for enum fields.");
+ throw new InvalidOperationException("MessageType is only valid for message fields.");
}
return messageType;
}
diff --git a/src/google/protobuf/compiler/csharp/csharp_message.cc b/src/google/protobuf/compiler/csharp/csharp_message.cc
index a71a7909..a2c4fe57 100644
--- a/src/google/protobuf/compiler/csharp/csharp_message.cc
+++ b/src/google/protobuf/compiler/csharp/csharp_message.cc
@@ -169,6 +169,7 @@ void MessageGenerator::Generate(io::Printer* printer) {
printer->Print(
vars,
"private object $name$_;\n"
+ "/// <summary>Enum of possibly cases for the \"$original_name$\" oneof.</summary>\n"
"public enum $property_name$OneofCase {\n");
printer->Indent();
printer->Print("None = 0,\n");
@@ -202,7 +203,10 @@ void MessageGenerator::Generate(io::Printer* printer) {
printer->Print("#region Nested types\n"
"[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\n");
WriteGeneratedCodeAttributes(printer);
- printer->Print("public static partial class Types {\n");
+ printer->Print(
+ vars,
+ "/// <summary>Container for nested types declared in the $class_name$ message type.</summary>\n"
+ "public static partial class Types {\n");
printer->Indent();
for (int i = 0; i < descriptor_->enum_type_count(); i++) {
EnumGenerator enumGenerator(descriptor_->enum_type(i));
diff --git a/src/google/protobuf/compiler/csharp/csharp_umbrella_class.cc b/src/google/protobuf/compiler/csharp/csharp_umbrella_class.cc
index 4b347708..b7328f9a 100644
--- a/src/google/protobuf/compiler/csharp/csharp_umbrella_class.cc
+++ b/src/google/protobuf/compiler/csharp/csharp_umbrella_class.cc
@@ -138,8 +138,10 @@ void UmbrellaClassGenerator::WriteIntroduction(io::Printer* printer) {
"[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\n");
WriteGeneratedCodeAttributes(printer);
printer->Print(
+ "/// <summary>Holder for reflection information generated from $file_name$</summary>\n"
"$access_level$ static partial class $umbrella_class_name$ {\n"
"\n",
+ "file_name", file_->name(),
"access_level", class_access_level(),
"umbrella_class_name", umbrellaClassname_);
printer->Indent();
@@ -148,12 +150,14 @@ void UmbrellaClassGenerator::WriteIntroduction(io::Printer* printer) {
void UmbrellaClassGenerator::WriteDescriptor(io::Printer* printer) {
printer->Print(
"#region Descriptor\n"
+ "/// <summary>File descriptor for $file_name$</summary>\n"
"public static pbr::FileDescriptor Descriptor {\n"
" get { return descriptor; }\n"
"}\n"
"private static pbr::FileDescriptor descriptor;\n"
"\n"
"static $umbrella_class_name$() {\n",
+ "file_name", file_->name(),
"umbrella_class_name", umbrellaClassname_);
printer->Indent();
printer->Print(