Эх сурвалжийг харах

Add a code generator insertion point for Java builders.

temporal 15 жил өмнө
parent
commit
8ee1474044

+ 5 - 0
src/google/protobuf/compiler/java/java_message.cc

@@ -645,6 +645,11 @@ void MessageGenerator::GenerateBuilder(io::Printer* printer) {
                      .GenerateBuilderMembers(printer);
                      .GenerateBuilderMembers(printer);
   }
   }
 
 
+  printer->Print(
+    "\n"
+    "// @@protoc_insertion_point(builder_scope:$full_name$)\n",
+    "full_name", descriptor_->full_name());
+
   printer->Outdent();
   printer->Outdent();
   printer->Print("}\n");
   printer->Print("}\n");
 }
 }

+ 2 - 0
src/google/protobuf/compiler/java/java_plugin_unittest.cc

@@ -61,6 +61,8 @@ class TestGenerator : public CodeGenerator {
     TryInsert("Test.java", "outer_class_scope", output_directory);
     TryInsert("Test.java", "outer_class_scope", output_directory);
     TryInsert("Test.java", "class_scope:foo.Bar", output_directory);
     TryInsert("Test.java", "class_scope:foo.Bar", output_directory);
     TryInsert("Test.java", "class_scope:foo.Bar.Baz", output_directory);
     TryInsert("Test.java", "class_scope:foo.Bar.Baz", output_directory);
+    TryInsert("Test.java", "builder_scope:foo.Bar", output_directory);
+    TryInsert("Test.java", "builder_scope:foo.Bar.Baz", output_directory);
     TryInsert("Test.java", "enum_scope:foo.Qux", output_directory);
     TryInsert("Test.java", "enum_scope:foo.Qux", output_directory);
     return true;
     return true;
   }
   }