Sync from Piper @436871048

PROTOBUF_SYNC_PIPER
diff --git a/cmake/extract_includes.bat.in b/cmake/extract_includes.bat.in
index fb28a46..636c143 100644
--- a/cmake/extract_includes.bat.in
+++ b/cmake/extract_includes.bat.in
@@ -22,18 +22,18 @@
 copy "${PROTOBUF_SOURCE_WIN32_PATH}\src\google\protobuf\arenaz_sampler.h" include\google\protobuf\arenaz_sampler.h
 copy "${PROTOBUF_SOURCE_WIN32_PATH}\src\google\protobuf\compiler\code_generator.h" include\google\protobuf\compiler\code_generator.h
 copy "${PROTOBUF_SOURCE_WIN32_PATH}\src\google\protobuf\compiler\command_line_interface.h" include\google\protobuf\compiler\command_line_interface.h
-copy "${PROTOBUF_SOURCE_WIN32_PATH}\src\google\protobuf\compiler\cpp\cpp_file.h" include\google\protobuf\compiler\cpp\cpp_file.h
-copy "${PROTOBUF_SOURCE_WIN32_PATH}\src\google\protobuf\compiler\cpp\cpp_generator.h" include\google\protobuf\compiler\cpp\cpp_generator.h
-copy "${PROTOBUF_SOURCE_WIN32_PATH}\src\google\protobuf\compiler\cpp\cpp_helpers.h" include\google\protobuf\compiler\cpp\cpp_helpers.h
-copy "${PROTOBUF_SOURCE_WIN32_PATH}\src\google\protobuf\compiler\cpp\cpp_names.h" include\google\protobuf\compiler\cpp\cpp_names.h
+copy "${PROTOBUF_SOURCE_WIN32_PATH}\src\google\protobuf\compiler\cpp\file.h" include\google\protobuf\compiler\cpp\cpp_file.h
+copy "${PROTOBUF_SOURCE_WIN32_PATH}\src\google\protobuf\compiler\cpp\generator.h" include\google\protobuf\compiler\cpp\cpp_generator.h
+copy "${PROTOBUF_SOURCE_WIN32_PATH}\src\google\protobuf\compiler\cpp\helpers.h" include\google\protobuf\compiler\cpp\cpp_helpers.h
+copy "${PROTOBUF_SOURCE_WIN32_PATH}\src\google\protobuf\compiler\cpp\names.h" include\google\protobuf\compiler\cpp\cpp_names.h
 copy "${PROTOBUF_SOURCE_WIN32_PATH}\src\google\protobuf\compiler\csharp\csharp_doc_comment.h" include\google\protobuf\compiler\csharp\csharp_doc_comment.h
 copy "${PROTOBUF_SOURCE_WIN32_PATH}\src\google\protobuf\compiler\csharp\csharp_generator.h" include\google\protobuf\compiler\csharp\csharp_generator.h
 copy "${PROTOBUF_SOURCE_WIN32_PATH}\src\google\protobuf\compiler\csharp\csharp_names.h" include\google\protobuf\compiler\csharp\csharp_names.h
 copy "${PROTOBUF_SOURCE_WIN32_PATH}\src\google\protobuf\compiler\csharp\csharp_options.h" include\google\protobuf\compiler\csharp\csharp_options.h
 copy "${PROTOBUF_SOURCE_WIN32_PATH}\src\google\protobuf\compiler\importer.h" include\google\protobuf\compiler\importer.h
-copy "${PROTOBUF_SOURCE_WIN32_PATH}\src\google\protobuf\compiler\java\java_generator.h" include\google\protobuf\compiler\java\java_generator.h
-copy "${PROTOBUF_SOURCE_WIN32_PATH}\src\google\protobuf\compiler\java\java_kotlin_generator.h" include\google\protobuf\compiler\java\java_kotlin_generator.h
-copy "${PROTOBUF_SOURCE_WIN32_PATH}\src\google\protobuf\compiler\java\java_names.h" include\google\protobuf\compiler\java\java_names.h
+copy "${PROTOBUF_SOURCE_WIN32_PATH}\src\google\protobuf\compiler\java\generator.h" include\google\protobuf\compiler\java\java_generator.h
+copy "${PROTOBUF_SOURCE_WIN32_PATH}\src\google\protobuf\compiler\java\kotlin_generator.h" include\google\protobuf\compiler\java\java_kotlin_generator.h
+copy "${PROTOBUF_SOURCE_WIN32_PATH}\src\google\protobuf\compiler\java\names.h" include\google\protobuf\compiler\java\java_names.h
 copy "${PROTOBUF_SOURCE_WIN32_PATH}\src\google\protobuf\compiler\js\js_generator.h" include\google\protobuf\compiler\js\js_generator.h
 copy "${PROTOBUF_SOURCE_WIN32_PATH}\src\google\protobuf\compiler\objectivec\objectivec_generator.h" include\google\protobuf\compiler\objectivec\objectivec_generator.h
 copy "${PROTOBUF_SOURCE_WIN32_PATH}\src\google\protobuf\compiler\objectivec\objectivec_helpers.h" include\google\protobuf\compiler\objectivec\objectivec_helpers.h
@@ -41,9 +41,9 @@
 copy "${PROTOBUF_SOURCE_WIN32_PATH}\src\google\protobuf\compiler\php\php_generator.h" include\google\protobuf\compiler\php\php_generator.h
 copy "${PROTOBUF_SOURCE_WIN32_PATH}\src\google\protobuf\compiler\plugin.h" include\google\protobuf\compiler\plugin.h
 copy "${PROTOBUF_SOURCE_WIN32_PATH}\src\google\protobuf\compiler\plugin.pb.h" include\google\protobuf\compiler\plugin.pb.h
-copy "${PROTOBUF_SOURCE_WIN32_PATH}\src\google\protobuf\compiler\python\python_generator.h" include\google\protobuf\compiler\python\python_generator.h
-copy "${PROTOBUF_SOURCE_WIN32_PATH}\src\google\protobuf\compiler\python\python_pyi_generator.h" include\google\protobuf\compiler\python\python_pyi_generator.h
-copy "${PROTOBUF_SOURCE_WIN32_PATH}\src\google\protobuf\compiler\python\python_helpers.h" include\google\protobuf\compiler\python\python_helpers.h
+copy "${PROTOBUF_SOURCE_WIN32_PATH}\src\google\protobuf\compiler\python\generator.h" include\google\protobuf\compiler\python\python_generator.h
+copy "${PROTOBUF_SOURCE_WIN32_PATH}\src\google\protobuf\compiler\python\pyi_generator.h" include\google\protobuf\compiler\python\python_pyi_generator.h
+copy "${PROTOBUF_SOURCE_WIN32_PATH}\src\google\protobuf\compiler\python\helpers.h" include\google\protobuf\compiler\python\python_helpers.h
 copy "${PROTOBUF_SOURCE_WIN32_PATH}\src\google\protobuf\compiler\ruby\ruby_generator.h" include\google\protobuf\compiler\ruby\ruby_generator.h
 copy "${PROTOBUF_SOURCE_WIN32_PATH}\src\google\protobuf\descriptor.h" include\google\protobuf\descriptor.h
 copy "${PROTOBUF_SOURCE_WIN32_PATH}\src\google\protobuf\descriptor.pb.h" include\google\protobuf\descriptor.pb.h
diff --git a/cmake/libprotoc.cmake b/cmake/libprotoc.cmake
index 22948fb..76ec605 100644
--- a/cmake/libprotoc.cmake
+++ b/cmake/libprotoc.cmake
@@ -1,21 +1,21 @@
 set(libprotoc_files
   ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/code_generator.cc
   ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/command_line_interface.cc
-  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/cpp/cpp_enum.cc
-  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/cpp/cpp_enum_field.cc
-  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/cpp/cpp_extension.cc
-  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/cpp/cpp_field.cc
-  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/cpp/cpp_file.cc
-  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/cpp/cpp_generator.cc
-  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/cpp/cpp_helpers.cc
-  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/cpp/cpp_map_field.cc
-  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/cpp/cpp_message.cc
-  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/cpp/cpp_message_field.cc
-  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/cpp/cpp_padding_optimizer.cc
-  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/cpp/cpp_parse_function_generator.cc
-  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/cpp/cpp_primitive_field.cc
-  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/cpp/cpp_service.cc
-  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/cpp/cpp_string_field.cc
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/cpp/enum.cc
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/cpp/enum_field.cc
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/cpp/extension.cc
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/cpp/field.cc
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/cpp/file.cc
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/cpp/generator.cc
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/cpp/helpers.cc
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/cpp/map_field.cc
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/cpp/message.cc
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/cpp/message_field.cc
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/cpp/padding_optimizer.cc
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/cpp/parse_function_generator.cc
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/cpp/primitive_field.cc
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/cpp/service.cc
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/cpp/string_field.cc
   ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/csharp/csharp_doc_comment.cc
   ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/csharp/csharp_enum.cc
   ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/csharp/csharp_enum_field.cc
@@ -32,36 +32,36 @@
   ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/csharp/csharp_repeated_primitive_field.cc
   ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/csharp/csharp_source_generator_base.cc
   ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/csharp/csharp_wrapper_field.cc
-  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/java_context.cc
-  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/java_doc_comment.cc
-  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/java_enum.cc
-  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/java_enum_field.cc
-  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/java_enum_field.h
-  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/java_enum_field_lite.cc
-  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/java_enum_lite.cc
-  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/java_extension.cc
-  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/java_extension_lite.cc
-  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/java_field.cc
-  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/java_file.cc
-  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/java_generator.cc
-  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/java_generator_factory.cc
-  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/java_helpers.cc
-  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/java_kotlin_generator.cc
-  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/java_map_field.cc
-  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/java_map_field_lite.cc
-  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/java_message.cc
-  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/java_message_builder.cc
-  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/java_message_builder_lite.cc
-  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/java_message_field.cc
-  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/java_message_field_lite.cc
-  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/java_message_lite.cc
-  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/java_name_resolver.cc
-  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/java_primitive_field.cc
-  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/java_primitive_field_lite.cc
-  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/java_service.cc
-  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/java_shared_code_generator.cc
-  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/java_string_field.cc
-  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/java_string_field_lite.cc
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/context.cc
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/doc_comment.cc
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/enum.cc
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/enum_field.cc
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/enum_field.h
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/enum_field_lite.cc
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/enum_lite.cc
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/extension.cc
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/extension_lite.cc
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/field.cc
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/file.cc
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/generator.cc
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/generator_factory.cc
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/helpers.cc
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/kotlin_generator.cc
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/map_field.cc
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/map_field_lite.cc
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/message.cc
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/message_builder.cc
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/message_builder_lite.cc
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/message_field.cc
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/message_field_lite.cc
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/message_lite.cc
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/name_resolver.cc
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/primitive_field.cc
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/primitive_field_lite.cc
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/service.cc
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/shared_code_generator.cc
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/string_field.cc
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/string_field_lite.cc
   ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/js/js_generator.cc
   ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/js/well_known_types_embed.cc
   ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/objectivec/objectivec_enum.cc
@@ -90,9 +90,9 @@
   ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/php/php_generator.cc
   ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/plugin.cc
   ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/plugin.pb.cc
-  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/python/python_generator.cc
-  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/python/python_helpers.cc
-  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/python/python_pyi_generator.cc
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/python/generator.cc
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/python/helpers.cc
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/python/pyi_generator.cc
   ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/ruby/ruby_generator.cc
   ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/subprocess.cc
   ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/zip_writer.cc
@@ -102,24 +102,24 @@
 set(libprotoc_headers
   ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/code_generator.h
   ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/command_line_interface.h
-  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/cpp/cpp_file.h
-  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/cpp/cpp_generator.h
-  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/cpp/cpp_helpers.h
-  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/cpp/cpp_names.h
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/cpp/file.h
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/cpp/generator.h
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/cpp/helpers.h
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/cpp/names.h
   ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/csharp/csharp_doc_comment.h
   ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/csharp/csharp_generator.h
   ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/csharp/csharp_names.h
   ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/csharp/csharp_options.h
-  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/java_generator.h
-  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/java_kotlin_generator.h
-  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/java_names.h
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/generator.h
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/kotlin_generator.h
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/names.h
   ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/js/js_generator.h
   ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/objectivec/objectivec_generator.h
   ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/objectivec/objectivec_helpers.h
   ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/php/php_generator.h
   ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/plugin.h
-  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/python/python_generator.h
-  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/python/python_pyi_generator.h
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/python/generator.h
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/python/pyi_generator.h
   ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/ruby/ruby_generator.h
 )
 
diff --git a/cmake/tests.cmake b/cmake/tests.cmake
index 6c577ab..a24b153 100644
--- a/cmake/tests.cmake
+++ b/cmake/tests.cmake
@@ -46,8 +46,8 @@
 
 set(tests_protos
   google/protobuf/any_test.proto
-  google/protobuf/compiler/cpp/cpp_test_bad_identifiers.proto
-  google/protobuf/compiler/cpp/cpp_test_large_enum_value.proto
+  google/protobuf/compiler/cpp/test_bad_identifiers.proto
+  google/protobuf/compiler/cpp/test_large_enum_value.proto
   google/protobuf/map_proto2_unittest.proto
   google/protobuf/map_unittest.proto
   google/protobuf/unittest.proto
@@ -56,7 +56,6 @@
   google/protobuf/unittest_drop_unknown_fields.proto
   google/protobuf/unittest_embed_optimize_for.proto
   google/protobuf/unittest_empty.proto
-  google/protobuf/unittest_enormous_descriptor.proto
   google/protobuf/unittest_import.proto
   google/protobuf/unittest_import_public.proto
   google/protobuf/unittest_lazy_dependencies.proto
@@ -93,7 +92,7 @@
 )
 
 macro(compile_proto_file filename)
-  get_filename_component(dirname ${filename} DIRECTORY)
+  get_filename_component(dirname ${filename} PATH)
   get_filename_component(basename ${filename} NAME_WE)
   add_custom_command(
     OUTPUT ${protobuf_SOURCE_DIR}/src/${dirname}/${basename}.pb.cc
@@ -145,20 +144,20 @@
   ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/annotation_test_util.cc
   ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/annotation_test_util.h
   ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/command_line_interface_unittest.cc
-  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/cpp/cpp_bootstrap_unittest.cc
-  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/cpp/cpp_move_unittest.cc
-  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/cpp/cpp_plugin_unittest.cc
-  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/cpp/cpp_unittest.cc
-  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/cpp/cpp_unittest.inc
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/cpp/bootstrap_unittest.cc
   ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/cpp/metadata_test.cc
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/cpp/move_unittest.cc
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/cpp/plugin_unittest.cc
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/cpp/unittest.cc
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/cpp/unittest.inc
   ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/csharp/csharp_bootstrap_unittest.cc
   ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/csharp/csharp_generator_unittest.cc
   ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/importer_unittest.cc
-  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/java_doc_comment_unittest.cc
-  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/java_plugin_unittest.cc
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/doc_comment_unittest.cc
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/plugin_unittest.cc
   ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/objectivec/objectivec_helpers_unittest.cc
   ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/parser_unittest.cc
-  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/python/python_plugin_unittest.cc
+  ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/python/plugin_unittest.cc
   ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/ruby/ruby_generator_unittest.cc
   ${protobuf_SOURCE_DIR}/src/google/protobuf/descriptor_database_unittest.cc
   ${protobuf_SOURCE_DIR}/src/google/protobuf/descriptor_unittest.cc
diff --git a/java/core/src/main/java/com/google/protobuf/Descriptors.java b/java/core/src/main/java/com/google/protobuf/Descriptors.java
index 99d088a..5277d1e 100644
--- a/java/core/src/main/java/com/google/protobuf/Descriptors.java
+++ b/java/core/src/main/java/com/google/protobuf/Descriptors.java
@@ -814,7 +814,7 @@
     /**
      * Finds a nested message type by name.
      *
-     * @param name The unqualified name of the nested type (e.g. "Foo").
+     * @param name The unqualified name of the nested type such as "Foo"
      * @return The types's descriptor, or {@code null} if not found.
      */
     public Descriptor findNestedTypeByName(final String name) {
@@ -829,7 +829,7 @@
     /**
      * Finds a nested enum type by name.
      *
-     * @param name The unqualified name of the nested type (e.g. "Foo").
+     * @param name The unqualified name of the nested type such as "Foo"
      * @return The types's descriptor, or {@code null} if not found.
      */
     public EnumDescriptor findEnumTypeByName(final String name) {
@@ -1202,7 +1202,7 @@
       }
     }
 
-    /** Can this field be packed? i.e. is it a repeated primitive field? */
+    /** Can this field be packed? That is, is it a repeated primitive field? */
     public boolean isPackable() {
       return isRepeated() && getLiteType().isPackable();
     }
@@ -1332,11 +1332,11 @@
 
     /**
      * Compare with another {@code FieldDescriptor}. This orders fields in "canonical" order, which
-     * simply means ascending order by field number. {@code other} must be a field of the same type
-     * -- i.e. {@code getContainingType()} must return the same {@code Descriptor} for both fields.
+     * simply means ascending order by field number. {@code other} must be a field of the same type.
+     * That is, {@code getContainingType()} must return the same {@code Descriptor} for both fields.
      *
      * @return negative, zero, or positive if {@code this} is less than, equal to, or greater than
-     *     {@code other}, respectively.
+     *     {@code other}, respectively
      */
     @Override
     public int compareTo(final FieldDescriptor other) {
@@ -1791,8 +1791,8 @@
     /**
      * Find an enum value by name.
      *
-     * @param name The unqualified name of the value (e.g. "FOO").
-     * @return the value's descriptor, or {@code null} if not found.
+     * @param name the unqualified name of the value such as "FOO"
+     * @return the value's descriptor, or {@code null} if not found
      */
     public EnumValueDescriptor findValueByName(final String name) {
       final GenericDescriptor result = file.pool.findSymbol(fullName + '.' + name);
@@ -2102,8 +2102,8 @@
     /**
      * Find a method by name.
      *
-     * @param name The unqualified name of the method (e.g. "Foo").
-     * @return the method's descriptor, or {@code null} if not found.
+     * @param name the unqualified name of the method such as "Foo"
+     * @return the method's descriptor, or {@code null} if not found
      */
     public MethodDescriptor findMethodByName(final String name) {
       final GenericDescriptor result = file.pool.findSymbol(fullName + '.' + name);
@@ -2676,8 +2676,8 @@
     }
 
     /**
-     * Verifies that the descriptor's name is valid (i.e. it contains only letters, digits, and
-     * underscores, and does not start with a digit).
+     * Verifies that the descriptor's name is valid. That is, it contains only letters, digits, and
+     * underscores, and does not start with a digit.
      */
     static void validateSymbolName(final GenericDescriptor descriptor)
         throws DescriptorValidationException {
@@ -2705,7 +2705,7 @@
     }
   }
 
-  /** Describes an oneof of a message type. */
+  /** Describes a oneof of a message type. */
   public static final class OneofDescriptor extends GenericDescriptor {
     /** Get the index of this descriptor within its parent. */
     public int getIndex() {
diff --git a/java/util/src/main/java/com/google/protobuf/util/JsonFormat.java b/java/util/src/main/java/com/google/protobuf/util/JsonFormat.java
index a2d18bc..7ce6f55 100644
--- a/java/util/src/main/java/com/google/protobuf/util/JsonFormat.java
+++ b/java/util/src/main/java/com/google/protobuf/util/JsonFormat.java
@@ -295,9 +295,9 @@
 
 
     /**
-     * Create a new {@link Printer} that will omit all insignificant whitespace in the JSON output.
+     * Create a new {@link Printer} that omits insignificant whitespace in the JSON output.
      * This new Printer clones all other configurations from the current Printer. Insignificant
-     * whitespace is defined by the JSON spec as whitespace that appear between JSON structural
+     * whitespace is defined by the JSON spec as whitespace that appears between JSON structural
      * elements:
      *
      * <pre>
@@ -308,8 +308,7 @@
      * %x0D )              ; Carriage return
      * </pre>
      *
-     * See <a href="https://tools.ietf.org/html/rfc7159">https://tools.ietf.org/html/rfc7159</a>
-     * current {@link Printer}.
+     * See <a href="https://tools.ietf.org/html/rfc7159">https://tools.ietf.org/html/rfc7159</a>.
      */
     public Printer omittingInsignificantWhitespace() {
       return new Printer(
diff --git a/src/Makefile.am b/src/Makefile.am
index 35b7b0e..26f9d10 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -74,18 +74,18 @@
   google/protobuf/arenaz_sampler.h                               \
   google/protobuf/compiler/code_generator.h                      \
   google/protobuf/compiler/command_line_interface.h              \
-  google/protobuf/compiler/cpp/cpp_file.h                        \
-  google/protobuf/compiler/cpp/cpp_generator.h                   \
-  google/protobuf/compiler/cpp/cpp_helpers.h                     \
-  google/protobuf/compiler/cpp/cpp_names.h                       \
+  google/protobuf/compiler/cpp/file.h                            \
+  google/protobuf/compiler/cpp/generator.h                       \
+  google/protobuf/compiler/cpp/helpers.h                         \
+  google/protobuf/compiler/cpp/names.h                           \
   google/protobuf/compiler/csharp/csharp_doc_comment.h           \
   google/protobuf/compiler/csharp/csharp_generator.h             \
   google/protobuf/compiler/csharp/csharp_names.h                 \
   google/protobuf/compiler/csharp/csharp_options.h               \
   google/protobuf/compiler/importer.h                            \
-  google/protobuf/compiler/java/java_generator.h                 \
-  google/protobuf/compiler/java/java_kotlin_generator.h          \
-  google/protobuf/compiler/java/java_names.h                     \
+  google/protobuf/compiler/java/generator.h                      \
+  google/protobuf/compiler/java/kotlin_generator.h               \
+  google/protobuf/compiler/java/names.h                          \
   google/protobuf/compiler/js/js_generator.h                     \
   google/protobuf/compiler/objectivec/objectivec_generator.h     \
   google/protobuf/compiler/objectivec/objectivec_helpers.h       \
@@ -93,8 +93,8 @@
   google/protobuf/compiler/php/php_generator.h                   \
   google/protobuf/compiler/plugin.h                              \
   google/protobuf/compiler/plugin.pb.h                           \
-  google/protobuf/compiler/python/python_generator.h             \
-  google/protobuf/compiler/python/python_pyi_generator.h         \
+  google/protobuf/compiler/python/generator.h                    \
+  google/protobuf/compiler/python/pyi_generator.h                \
   google/protobuf/compiler/ruby/ruby_generator.h                 \
   google/protobuf/descriptor.h                                   \
   google/protobuf/descriptor.pb.h                                \
@@ -325,35 +325,35 @@
 libprotoc_la_SOURCES =                                         \
   google/protobuf/compiler/code_generator.cc                   \
   google/protobuf/compiler/command_line_interface.cc           \
-  google/protobuf/compiler/cpp/cpp_enum.cc                     \
-  google/protobuf/compiler/cpp/cpp_enum.h                      \
-  google/protobuf/compiler/cpp/cpp_enum_field.cc               \
-  google/protobuf/compiler/cpp/cpp_enum_field.h                \
-  google/protobuf/compiler/cpp/cpp_extension.cc                \
-  google/protobuf/compiler/cpp/cpp_extension.h                 \
-  google/protobuf/compiler/cpp/cpp_field.cc                    \
-  google/protobuf/compiler/cpp/cpp_field.h                     \
-  google/protobuf/compiler/cpp/cpp_file.cc                     \
-  google/protobuf/compiler/cpp/cpp_generator.cc                \
-  google/protobuf/compiler/cpp/cpp_helpers.cc                  \
-  google/protobuf/compiler/cpp/cpp_map_field.cc                \
-  google/protobuf/compiler/cpp/cpp_map_field.h                 \
-  google/protobuf/compiler/cpp/cpp_message.cc                  \
-  google/protobuf/compiler/cpp/cpp_message.h                   \
-  google/protobuf/compiler/cpp/cpp_message_field.cc            \
-  google/protobuf/compiler/cpp/cpp_message_field.h             \
-  google/protobuf/compiler/cpp/cpp_message_layout_helper.h     \
-  google/protobuf/compiler/cpp/cpp_options.h                   \
-  google/protobuf/compiler/cpp/cpp_padding_optimizer.cc        \
-  google/protobuf/compiler/cpp/cpp_padding_optimizer.h         \
-  google/protobuf/compiler/cpp/cpp_parse_function_generator.cc \
-  google/protobuf/compiler/cpp/cpp_parse_function_generator.h  \
-  google/protobuf/compiler/cpp/cpp_primitive_field.cc          \
-  google/protobuf/compiler/cpp/cpp_primitive_field.h           \
-  google/protobuf/compiler/cpp/cpp_service.cc                  \
-  google/protobuf/compiler/cpp/cpp_service.h                   \
-  google/protobuf/compiler/cpp/cpp_string_field.cc             \
-  google/protobuf/compiler/cpp/cpp_string_field.h              \
+  google/protobuf/compiler/cpp/enum.cc                         \
+  google/protobuf/compiler/cpp/enum.h                          \
+  google/protobuf/compiler/cpp/enum_field.cc                   \
+  google/protobuf/compiler/cpp/enum_field.h                    \
+  google/protobuf/compiler/cpp/extension.cc                    \
+  google/protobuf/compiler/cpp/extension.h                     \
+  google/protobuf/compiler/cpp/field.cc                        \
+  google/protobuf/compiler/cpp/field.h                         \
+  google/protobuf/compiler/cpp/file.cc                         \
+  google/protobuf/compiler/cpp/generator.cc                    \
+  google/protobuf/compiler/cpp/helpers.cc                      \
+  google/protobuf/compiler/cpp/map_field.cc                    \
+  google/protobuf/compiler/cpp/map_field.h                     \
+  google/protobuf/compiler/cpp/message.cc                      \
+  google/protobuf/compiler/cpp/message.h                       \
+  google/protobuf/compiler/cpp/message_field.cc                \
+  google/protobuf/compiler/cpp/message_field.h                 \
+  google/protobuf/compiler/cpp/message_layout_helper.h         \
+  google/protobuf/compiler/cpp/options.h                       \
+  google/protobuf/compiler/cpp/padding_optimizer.cc            \
+  google/protobuf/compiler/cpp/padding_optimizer.h             \
+  google/protobuf/compiler/cpp/parse_function_generator.cc     \
+  google/protobuf/compiler/cpp/parse_function_generator.h      \
+  google/protobuf/compiler/cpp/primitive_field.cc              \
+  google/protobuf/compiler/cpp/primitive_field.h               \
+  google/protobuf/compiler/cpp/service.cc                      \
+  google/protobuf/compiler/cpp/service.h                       \
+  google/protobuf/compiler/cpp/string_field.cc                 \
+  google/protobuf/compiler/cpp/string_field.h                  \
   google/protobuf/compiler/csharp/csharp_doc_comment.cc        \
   google/protobuf/compiler/csharp/csharp_enum.cc               \
   google/protobuf/compiler/csharp/csharp_enum.h                \
@@ -384,63 +384,63 @@
   google/protobuf/compiler/csharp/csharp_source_generator_base.h \
   google/protobuf/compiler/csharp/csharp_wrapper_field.cc      \
   google/protobuf/compiler/csharp/csharp_wrapper_field.h       \
-  google/protobuf/compiler/java/java_context.cc                \
-  google/protobuf/compiler/java/java_context.h                 \
-  google/protobuf/compiler/java/java_doc_comment.cc            \
-  google/protobuf/compiler/java/java_doc_comment.h             \
-  google/protobuf/compiler/java/java_enum.cc                   \
-  google/protobuf/compiler/java/java_enum.h                    \
-  google/protobuf/compiler/java/java_enum_field.cc             \
-  google/protobuf/compiler/java/java_enum_field.h              \
-  google/protobuf/compiler/java/java_enum_field_lite.cc        \
-  google/protobuf/compiler/java/java_enum_field_lite.h         \
-  google/protobuf/compiler/java/java_enum_lite.cc              \
-  google/protobuf/compiler/java/java_enum_lite.h               \
-  google/protobuf/compiler/java/java_extension.cc              \
-  google/protobuf/compiler/java/java_extension.h               \
-  google/protobuf/compiler/java/java_extension_lite.cc         \
-  google/protobuf/compiler/java/java_extension_lite.h          \
-  google/protobuf/compiler/java/java_field.cc                  \
-  google/protobuf/compiler/java/java_field.h                   \
-  google/protobuf/compiler/java/java_file.cc                   \
-  google/protobuf/compiler/java/java_file.h                    \
-  google/protobuf/compiler/java/java_generator.cc              \
-  google/protobuf/compiler/java/java_generator_factory.cc      \
-  google/protobuf/compiler/java/java_generator_factory.h       \
-  google/protobuf/compiler/java/java_helpers.cc                \
-  google/protobuf/compiler/java/java_helpers.h                 \
-  google/protobuf/compiler/java/java_kotlin_generator.cc       \
-  google/protobuf/compiler/java/java_map_field.cc              \
-  google/protobuf/compiler/java/java_map_field.h               \
-  google/protobuf/compiler/java/java_map_field_lite.cc         \
-  google/protobuf/compiler/java/java_map_field_lite.h          \
-  google/protobuf/compiler/java/java_message.cc                \
-  google/protobuf/compiler/java/java_message.h                 \
-  google/protobuf/compiler/java/java_message_builder.cc        \
-  google/protobuf/compiler/java/java_message_builder.h         \
-  google/protobuf/compiler/java/java_message_builder_lite.cc   \
-  google/protobuf/compiler/java/java_message_builder_lite.h    \
-  google/protobuf/compiler/java/java_message_field.cc          \
-  google/protobuf/compiler/java/java_message_field.h           \
-  google/protobuf/compiler/java/java_message_field_lite.cc     \
-  google/protobuf/compiler/java/java_message_field_lite.h      \
-  google/protobuf/compiler/java/java_message_lite.cc           \
-  google/protobuf/compiler/java/java_message_lite.h            \
-  google/protobuf/compiler/java/java_name_resolver.cc          \
-  google/protobuf/compiler/java/java_name_resolver.h           \
-  google/protobuf/compiler/java/java_options.h                 \
-  google/protobuf/compiler/java/java_primitive_field.cc        \
-  google/protobuf/compiler/java/java_primitive_field.h         \
-  google/protobuf/compiler/java/java_primitive_field_lite.cc   \
-  google/protobuf/compiler/java/java_primitive_field_lite.h    \
-  google/protobuf/compiler/java/java_service.cc                \
-  google/protobuf/compiler/java/java_service.h                 \
-  google/protobuf/compiler/java/java_shared_code_generator.cc  \
-  google/protobuf/compiler/java/java_shared_code_generator.h   \
-  google/protobuf/compiler/java/java_string_field.cc           \
-  google/protobuf/compiler/java/java_string_field.h            \
-  google/protobuf/compiler/java/java_string_field_lite.cc      \
-  google/protobuf/compiler/java/java_string_field_lite.h       \
+  google/protobuf/compiler/java/context.cc                     \
+  google/protobuf/compiler/java/context.h                      \
+  google/protobuf/compiler/java/doc_comment.cc                 \
+  google/protobuf/compiler/java/doc_comment.h                  \
+  google/protobuf/compiler/java/enum.cc                        \
+  google/protobuf/compiler/java/enum.h                         \
+  google/protobuf/compiler/java/enum_field.cc                  \
+  google/protobuf/compiler/java/enum_field.h                   \
+  google/protobuf/compiler/java/enum_field_lite.cc             \
+  google/protobuf/compiler/java/enum_field_lite.h              \
+  google/protobuf/compiler/java/enum_lite.cc                   \
+  google/protobuf/compiler/java/enum_lite.h                    \
+  google/protobuf/compiler/java/extension.cc                   \
+  google/protobuf/compiler/java/extension.h                    \
+  google/protobuf/compiler/java/extension_lite.cc              \
+  google/protobuf/compiler/java/extension_lite.h               \
+  google/protobuf/compiler/java/field.cc                       \
+  google/protobuf/compiler/java/field.h                        \
+  google/protobuf/compiler/java/file.cc                        \
+  google/protobuf/compiler/java/file.h                         \
+  google/protobuf/compiler/java/generator.cc                   \
+  google/protobuf/compiler/java/generator_factory.cc           \
+  google/protobuf/compiler/java/generator_factory.h            \
+  google/protobuf/compiler/java/helpers.cc                     \
+  google/protobuf/compiler/java/helpers.h                      \
+  google/protobuf/compiler/java/kotlin_generator.cc            \
+  google/protobuf/compiler/java/map_field.cc                   \
+  google/protobuf/compiler/java/map_field.h                    \
+  google/protobuf/compiler/java/map_field_lite.cc              \
+  google/protobuf/compiler/java/map_field_lite.h               \
+  google/protobuf/compiler/java/message.cc                     \
+  google/protobuf/compiler/java/message.h                      \
+  google/protobuf/compiler/java/message_builder.cc             \
+  google/protobuf/compiler/java/message_builder.h              \
+  google/protobuf/compiler/java/message_builder_lite.cc        \
+  google/protobuf/compiler/java/message_builder_lite.h         \
+  google/protobuf/compiler/java/message_field.cc               \
+  google/protobuf/compiler/java/message_field.h                \
+  google/protobuf/compiler/java/message_field_lite.cc          \
+  google/protobuf/compiler/java/message_field_lite.h           \
+  google/protobuf/compiler/java/message_lite.cc                \
+  google/protobuf/compiler/java/message_lite.h                 \
+  google/protobuf/compiler/java/name_resolver.cc               \
+  google/protobuf/compiler/java/name_resolver.h                \
+  google/protobuf/compiler/java/options.h                      \
+  google/protobuf/compiler/java/primitive_field.cc             \
+  google/protobuf/compiler/java/primitive_field.h              \
+  google/protobuf/compiler/java/primitive_field_lite.cc        \
+  google/protobuf/compiler/java/primitive_field_lite.h         \
+  google/protobuf/compiler/java/service.cc                     \
+  google/protobuf/compiler/java/service.h                      \
+  google/protobuf/compiler/java/shared_code_generator.cc       \
+  google/protobuf/compiler/java/shared_code_generator.h        \
+  google/protobuf/compiler/java/string_field.cc                \
+  google/protobuf/compiler/java/string_field.h                 \
+  google/protobuf/compiler/java/string_field_lite.cc           \
+  google/protobuf/compiler/java/string_field_lite.h            \
   google/protobuf/compiler/js/js_generator.cc                  \
   google/protobuf/compiler/js/well_known_types_embed.cc        \
   google/protobuf/compiler/js/well_known_types_embed.h         \
@@ -470,10 +470,10 @@
   google/protobuf/compiler/php/php_generator.cc                \
   google/protobuf/compiler/plugin.cc                           \
   google/protobuf/compiler/plugin.pb.cc                        \
-  google/protobuf/compiler/python/python_generator.cc          \
-  google/protobuf/compiler/python/python_helpers.cc            \
-  google/protobuf/compiler/python/python_helpers.h             \
-  google/protobuf/compiler/python/python_pyi_generator.cc      \
+  google/protobuf/compiler/python/generator.cc                 \
+  google/protobuf/compiler/python/helpers.cc                   \
+  google/protobuf/compiler/python/helpers.h                    \
+  google/protobuf/compiler/python/pyi_generator.cc             \
   google/protobuf/compiler/ruby/ruby_generator.cc              \
   google/protobuf/compiler/scc.h                               \
   google/protobuf/compiler/subprocess.cc                       \
@@ -489,8 +489,8 @@
 
 protoc_inputs =                                                   \
   google/protobuf/any_test.proto                                  \
-  google/protobuf/compiler/cpp/cpp_test_bad_identifiers.proto     \
-  google/protobuf/compiler/cpp/cpp_test_large_enum_value.proto    \
+  google/protobuf/compiler/cpp/test_bad_identifiers.proto         \
+  google/protobuf/compiler/cpp/test_large_enum_value.proto        \
   google/protobuf/map_lite_unittest.proto                         \
   google/protobuf/map_proto2_unittest.proto                       \
   google/protobuf/map_unittest.proto                              \
@@ -593,10 +593,10 @@
   $(protoc_lite_outputs)                                          \
   google/protobuf/any_test.pb.cc                                  \
   google/protobuf/any_test.pb.h                                   \
-  google/protobuf/compiler/cpp/cpp_test_bad_identifiers.pb.cc     \
-  google/protobuf/compiler/cpp/cpp_test_bad_identifiers.pb.h      \
-  google/protobuf/compiler/cpp/cpp_test_large_enum_value.pb.cc    \
-  google/protobuf/compiler/cpp/cpp_test_large_enum_value.pb.h     \
+  google/protobuf/compiler/cpp/test_bad_identifiers.pb.cc         \
+  google/protobuf/compiler/cpp/test_bad_identifiers.pb.h          \
+  google/protobuf/compiler/cpp/test_large_enum_value.pb.cc        \
+  google/protobuf/compiler/cpp/test_large_enum_value.pb.h         \
   google/protobuf/map_proto2_unittest.pb.cc                       \
   google/protobuf/map_proto2_unittest.pb.h                        \
   google/protobuf/map_unittest.pb.cc                              \
@@ -703,7 +703,7 @@
 
 COMMON_TEST_SOURCES =                                          \
   $(COMMON_LITE_TEST_SOURCES)                                  \
-  google/protobuf/compiler/cpp/cpp_unittest.h                  \
+  google/protobuf/compiler/cpp/unittest.h                      \
   google/protobuf/map_test_util.h                              \
   google/protobuf/map_test_util.inc                            \
   google/protobuf/reflection_tester.cc                         \
@@ -743,22 +743,22 @@
   google/protobuf/compiler/annotation_test_util.cc             \
   google/protobuf/compiler/annotation_test_util.h              \
   google/protobuf/compiler/command_line_interface_unittest.cc  \
-  google/protobuf/compiler/cpp/cpp_bootstrap_unittest.cc       \
-  google/protobuf/compiler/cpp/cpp_move_unittest.cc            \
-  google/protobuf/compiler/cpp/cpp_plugin_unittest.cc          \
-  google/protobuf/compiler/cpp/cpp_unittest.cc                 \
-  google/protobuf/compiler/cpp/cpp_unittest.inc                \
+  google/protobuf/compiler/cpp/bootstrap_unittest.cc           \
   google/protobuf/compiler/cpp/metadata_test.cc                \
+  google/protobuf/compiler/cpp/move_unittest.cc                \
+  google/protobuf/compiler/cpp/plugin_unittest.cc              \
+  google/protobuf/compiler/cpp/unittest.cc                     \
+  google/protobuf/compiler/cpp/unittest.inc                    \
   google/protobuf/compiler/csharp/csharp_bootstrap_unittest.cc \
   google/protobuf/compiler/csharp/csharp_generator_unittest.cc \
   google/protobuf/compiler/importer_unittest.cc                \
-  google/protobuf/compiler/java/java_doc_comment_unittest.cc   \
-  google/protobuf/compiler/java/java_plugin_unittest.cc        \
+  google/protobuf/compiler/java/doc_comment_unittest.cc        \
+  google/protobuf/compiler/java/plugin_unittest.cc             \
   google/protobuf/compiler/mock_code_generator.cc              \
   google/protobuf/compiler/mock_code_generator.h               \
   google/protobuf/compiler/objectivec/objectivec_helpers_unittest.cc \
   google/protobuf/compiler/parser_unittest.cc                  \
-  google/protobuf/compiler/python/python_plugin_unittest.cc    \
+  google/protobuf/compiler/python/plugin_unittest.cc           \
   google/protobuf/compiler/ruby/ruby_generator_unittest.cc     \
   google/protobuf/descriptor_database_unittest.cc              \
   google/protobuf/descriptor_unittest.cc                       \
@@ -831,7 +831,7 @@
                                          -DPROTOBUF_TEST_NO_DESCRIPTORS
 protobuf_lazy_descriptor_test_CXXFLAGS = $(NO_OPT_CXXFLAGS)
 protobuf_lazy_descriptor_test_SOURCES =                        \
-  google/protobuf/compiler/cpp/cpp_unittest.cc                 \
+  google/protobuf/compiler/cpp/unittest.cc                     \
   $(COMMON_TEST_SOURCES)
 nodist_protobuf_lazy_descriptor_test_SOURCES = $(protoc_outputs)
 $(am_protobuf_lazy_descriptor_test_OBJECTS): unittest_proto_middleman
diff --git a/src/google/protobuf/compiler/command_line_interface.cc b/src/google/protobuf/compiler/command_line_interface.cc
index 1feb106..5e9a2c4 100644
--- a/src/google/protobuf/compiler/command_line_interface.cc
+++ b/src/google/protobuf/compiler/command_line_interface.cc
@@ -2209,7 +2209,7 @@
     }
   }
 
-  if(!descriptor_set_out_name_.empty()) {
+  if (!descriptor_set_out_name_.empty()) {
     output_filenames.push_back(descriptor_set_out_name_);
   }
 
diff --git a/src/google/protobuf/compiler/command_line_interface_unittest.cc b/src/google/protobuf/compiler/command_line_interface_unittest.cc
index c17d034..c690935 100644
--- a/src/google/protobuf/compiler/command_line_interface_unittest.cc
+++ b/src/google/protobuf/compiler/command_line_interface_unittest.cc
@@ -1754,7 +1754,8 @@
                     "$tmpdir/foo.proto\\\n $tmpdir/bar.proto");
 }
 
-TEST_F(CommandLineInterfaceTest, WriteDependencyManifestFileWithDescriptorSetOut) {
+TEST_F(CommandLineInterfaceTest,
+       WriteDependencyManifestFileWithDescriptorSetOut) {
   CreateTempFile("foo.proto",
                  "syntax = \"proto2\";\n"
                  "message Foo {}\n");
diff --git a/src/google/protobuf/compiler/cpp/cpp_bootstrap_unittest.cc b/src/google/protobuf/compiler/cpp/bootstrap_unittest.cc
similarity index 98%
rename from src/google/protobuf/compiler/cpp/cpp_bootstrap_unittest.cc
rename to src/google/protobuf/compiler/cpp/bootstrap_unittest.cc
index 6ed3a07..fc6e3b2 100644
--- a/src/google/protobuf/compiler/cpp/cpp_bootstrap_unittest.cc
+++ b/src/google/protobuf/compiler/cpp/bootstrap_unittest.cc
@@ -46,8 +46,8 @@
 
 #include <google/protobuf/testing/file.h>
 #include <google/protobuf/testing/file.h>
-#include <google/protobuf/compiler/cpp/cpp_helpers.h>
-#include <google/protobuf/compiler/cpp/cpp_generator.h>
+#include <google/protobuf/compiler/cpp/helpers.h>
+#include <google/protobuf/compiler/cpp/generator.h>
 #include <google/protobuf/compiler/importer.h>
 #include <google/protobuf/test_util2.h>
 #include <google/protobuf/io/zero_copy_stream_impl.h>
diff --git a/src/google/protobuf/compiler/cpp/cpp_enum.cc b/src/google/protobuf/compiler/cpp/enum.cc
similarity index 98%
rename from src/google/protobuf/compiler/cpp/cpp_enum.cc
rename to src/google/protobuf/compiler/cpp/enum.cc
index fb72b75..8124369 100644
--- a/src/google/protobuf/compiler/cpp/cpp_enum.cc
+++ b/src/google/protobuf/compiler/cpp/enum.cc
@@ -32,7 +32,7 @@
 //  Based on original Protocol Buffers design by
 //  Sanjay Ghemawat, Jeff Dean, and others.
 
-#include <google/protobuf/compiler/cpp/cpp_enum.h>
+#include <google/protobuf/compiler/cpp/enum.h>
 
 #include <cstdint>
 #include <limits>
@@ -40,8 +40,8 @@
 
 #include <google/protobuf/io/printer.h>
 #include <google/protobuf/stubs/strutil.h>
-#include <google/protobuf/compiler/cpp/cpp_helpers.h>
-#include <google/protobuf/compiler/cpp/cpp_names.h>
+#include <google/protobuf/compiler/cpp/helpers.h>
+#include <google/protobuf/compiler/cpp/names.h>
 
 namespace google {
 namespace protobuf {
diff --git a/src/google/protobuf/compiler/cpp/cpp_enum.h b/src/google/protobuf/compiler/cpp/enum.h
similarity index 98%
rename from src/google/protobuf/compiler/cpp/cpp_enum.h
rename to src/google/protobuf/compiler/cpp/enum.h
index 2a17ede..610d4fc 100644
--- a/src/google/protobuf/compiler/cpp/cpp_enum.h
+++ b/src/google/protobuf/compiler/cpp/enum.h
@@ -40,7 +40,7 @@
 #include <string>
 
 #include <google/protobuf/descriptor.h>
-#include <google/protobuf/compiler/cpp/cpp_options.h>
+#include <google/protobuf/compiler/cpp/options.h>
 
 namespace google {
 namespace protobuf {
diff --git a/src/google/protobuf/compiler/cpp/cpp_enum_field.cc b/src/google/protobuf/compiler/cpp/enum_field.cc
similarity index 99%
rename from src/google/protobuf/compiler/cpp/cpp_enum_field.cc
rename to src/google/protobuf/compiler/cpp/enum_field.cc
index 7d78add..254ac3b 100644
--- a/src/google/protobuf/compiler/cpp/cpp_enum_field.cc
+++ b/src/google/protobuf/compiler/cpp/enum_field.cc
@@ -32,12 +32,12 @@
 //  Based on original Protocol Buffers design by
 //  Sanjay Ghemawat, Jeff Dean, and others.
 
-#include <google/protobuf/compiler/cpp/cpp_enum_field.h>
+#include <google/protobuf/compiler/cpp/enum_field.h>
 
 #include <google/protobuf/io/printer.h>
 #include <google/protobuf/wire_format.h>
 #include <google/protobuf/stubs/strutil.h>
-#include <google/protobuf/compiler/cpp/cpp_helpers.h>
+#include <google/protobuf/compiler/cpp/helpers.h>
 
 namespace google {
 namespace protobuf {
diff --git a/src/google/protobuf/compiler/cpp/cpp_enum_field.h b/src/google/protobuf/compiler/cpp/enum_field.h
similarity index 98%
rename from src/google/protobuf/compiler/cpp/cpp_enum_field.h
rename to src/google/protobuf/compiler/cpp/enum_field.h
index ef8d191..44269a6 100644
--- a/src/google/protobuf/compiler/cpp/cpp_enum_field.h
+++ b/src/google/protobuf/compiler/cpp/enum_field.h
@@ -38,7 +38,7 @@
 #include <map>
 #include <string>
 
-#include <google/protobuf/compiler/cpp/cpp_field.h>
+#include <google/protobuf/compiler/cpp/field.h>
 
 namespace google {
 namespace protobuf {
diff --git a/src/google/protobuf/compiler/cpp/cpp_extension.cc b/src/google/protobuf/compiler/cpp/extension.cc
similarity index 98%
rename from src/google/protobuf/compiler/cpp/cpp_extension.cc
rename to src/google/protobuf/compiler/cpp/extension.cc
index e81d398..950ed9e 100644
--- a/src/google/protobuf/compiler/cpp/cpp_extension.cc
+++ b/src/google/protobuf/compiler/cpp/extension.cc
@@ -32,13 +32,13 @@
 //  Based on original Protocol Buffers design by
 //  Sanjay Ghemawat, Jeff Dean, and others.
 
-#include <google/protobuf/compiler/cpp/cpp_extension.h>
+#include <google/protobuf/compiler/cpp/extension.h>
 
 #include <map>
 
 #include <google/protobuf/io/printer.h>
 #include <google/protobuf/stubs/strutil.h>
-#include <google/protobuf/compiler/cpp/cpp_helpers.h>
+#include <google/protobuf/compiler/cpp/helpers.h>
 #include <google/protobuf/descriptor.pb.h>
 
 namespace google {
diff --git a/src/google/protobuf/compiler/cpp/cpp_extension.h b/src/google/protobuf/compiler/cpp/extension.h
similarity index 98%
rename from src/google/protobuf/compiler/cpp/cpp_extension.h
rename to src/google/protobuf/compiler/cpp/extension.h
index bcc8018..282931f 100644
--- a/src/google/protobuf/compiler/cpp/cpp_extension.h
+++ b/src/google/protobuf/compiler/cpp/extension.h
@@ -39,7 +39,7 @@
 #include <string>
 
 #include <google/protobuf/stubs/common.h>
-#include <google/protobuf/compiler/cpp/cpp_options.h>
+#include <google/protobuf/compiler/cpp/options.h>
 
 namespace google {
 namespace protobuf {
diff --git a/src/google/protobuf/compiler/cpp/cpp_field.cc b/src/google/protobuf/compiler/cpp/field.cc
similarity index 97%
rename from src/google/protobuf/compiler/cpp/cpp_field.cc
rename to src/google/protobuf/compiler/cpp/field.cc
index a5709f2..ba262c2 100644
--- a/src/google/protobuf/compiler/cpp/cpp_field.cc
+++ b/src/google/protobuf/compiler/cpp/field.cc
@@ -32,7 +32,7 @@
 //  Based on original Protocol Buffers design by
 //  Sanjay Ghemawat, Jeff Dean, and others.
 
-#include <google/protobuf/compiler/cpp/cpp_field.h>
+#include <google/protobuf/compiler/cpp/field.h>
 
 #include <cstdint>
 #include <memory>
@@ -40,16 +40,16 @@
 
 #include <google/protobuf/stubs/strutil.h>
 #include <google/protobuf/stubs/substitute.h>
-#include <google/protobuf/compiler/cpp/cpp_helpers.h>
-#include <google/protobuf/compiler/cpp/cpp_primitive_field.h>
-#include <google/protobuf/compiler/cpp/cpp_string_field.h>
+#include <google/protobuf/compiler/cpp/helpers.h>
+#include <google/protobuf/compiler/cpp/primitive_field.h>
+#include <google/protobuf/compiler/cpp/string_field.h>
 #include <google/protobuf/stubs/logging.h>
 #include <google/protobuf/stubs/common.h>
 #include <google/protobuf/io/printer.h>
 #include <google/protobuf/wire_format.h>
-#include <google/protobuf/compiler/cpp/cpp_enum_field.h>
-#include <google/protobuf/compiler/cpp/cpp_map_field.h>
-#include <google/protobuf/compiler/cpp/cpp_message_field.h>
+#include <google/protobuf/compiler/cpp/enum_field.h>
+#include <google/protobuf/compiler/cpp/map_field.h>
+#include <google/protobuf/compiler/cpp/message_field.h>
 #include <google/protobuf/descriptor.pb.h>
 
 namespace google {
diff --git a/src/google/protobuf/compiler/cpp/cpp_field.h b/src/google/protobuf/compiler/cpp/field.h
similarity index 98%
rename from src/google/protobuf/compiler/cpp/cpp_field.h
rename to src/google/protobuf/compiler/cpp/field.h
index 97d3a2a..52098e7 100644
--- a/src/google/protobuf/compiler/cpp/cpp_field.h
+++ b/src/google/protobuf/compiler/cpp/field.h
@@ -41,8 +41,8 @@
 #include <string>
 
 #include <google/protobuf/descriptor.h>
-#include <google/protobuf/compiler/cpp/cpp_helpers.h>
-#include <google/protobuf/compiler/cpp/cpp_options.h>
+#include <google/protobuf/compiler/cpp/helpers.h>
+#include <google/protobuf/compiler/cpp/options.h>
 
 namespace google {
 namespace protobuf {
diff --git a/src/google/protobuf/compiler/cpp/cpp_file.cc b/src/google/protobuf/compiler/cpp/file.cc
similarity index 99%
rename from src/google/protobuf/compiler/cpp/cpp_file.cc
rename to src/google/protobuf/compiler/cpp/file.cc
index 752d853..d409661 100644
--- a/src/google/protobuf/compiler/cpp/cpp_file.cc
+++ b/src/google/protobuf/compiler/cpp/file.cc
@@ -32,7 +32,7 @@
 //  Based on original Protocol Buffers design by
 //  Sanjay Ghemawat, Jeff Dean, and others.
 
-#include <google/protobuf/compiler/cpp/cpp_file.h>
+#include <google/protobuf/compiler/cpp/file.h>
 
 #include <iostream>
 #include <map>
@@ -45,12 +45,12 @@
 #include <google/protobuf/compiler/scc.h>
 #include <google/protobuf/io/printer.h>
 #include <google/protobuf/stubs/strutil.h>
-#include <google/protobuf/compiler/cpp/cpp_enum.h>
-#include <google/protobuf/compiler/cpp/cpp_extension.h>
-#include <google/protobuf/compiler/cpp/cpp_field.h>
-#include <google/protobuf/compiler/cpp/cpp_helpers.h>
-#include <google/protobuf/compiler/cpp/cpp_message.h>
-#include <google/protobuf/compiler/cpp/cpp_service.h>
+#include <google/protobuf/compiler/cpp/enum.h>
+#include <google/protobuf/compiler/cpp/extension.h>
+#include <google/protobuf/compiler/cpp/field.h>
+#include <google/protobuf/compiler/cpp/helpers.h>
+#include <google/protobuf/compiler/cpp/message.h>
+#include <google/protobuf/compiler/cpp/service.h>
 #include <google/protobuf/descriptor.pb.h>
 
 // Must be last.
diff --git a/src/google/protobuf/compiler/cpp/cpp_file.h b/src/google/protobuf/compiler/cpp/file.h
similarity index 97%
rename from src/google/protobuf/compiler/cpp/cpp_file.h
rename to src/google/protobuf/compiler/cpp/file.h
index b69202f..ca05361 100644
--- a/src/google/protobuf/compiler/cpp/cpp_file.h
+++ b/src/google/protobuf/compiler/cpp/file.h
@@ -42,10 +42,10 @@
 #include <vector>
 
 #include <google/protobuf/stubs/common.h>
-#include <google/protobuf/compiler/cpp/cpp_field.h>
-#include <google/protobuf/compiler/cpp/cpp_helpers.h>
+#include <google/protobuf/compiler/cpp/field.h>
+#include <google/protobuf/compiler/cpp/helpers.h>
 #include <google/protobuf/compiler/scc.h>
-#include <google/protobuf/compiler/cpp/cpp_options.h>
+#include <google/protobuf/compiler/cpp/options.h>
 
 namespace google {
 namespace protobuf {
diff --git a/src/google/protobuf/compiler/cpp/cpp_generator.cc b/src/google/protobuf/compiler/cpp/generator.cc
similarity index 98%
rename from src/google/protobuf/compiler/cpp/cpp_generator.cc
rename to src/google/protobuf/compiler/cpp/generator.cc
index 735002e..8d2cfec 100644
--- a/src/google/protobuf/compiler/cpp/cpp_generator.cc
+++ b/src/google/protobuf/compiler/cpp/generator.cc
@@ -32,7 +32,7 @@
 //  Based on original Protocol Buffers design by
 //  Sanjay Ghemawat, Jeff Dean, and others.
 
-#include <google/protobuf/compiler/cpp/cpp_generator.h>
+#include <google/protobuf/compiler/cpp/generator.h>
 
 #include <memory>
 #include <string>
@@ -42,8 +42,8 @@
 #include <google/protobuf/stubs/strutil.h>
 #include <google/protobuf/io/printer.h>
 #include <google/protobuf/io/zero_copy_stream.h>
-#include <google/protobuf/compiler/cpp/cpp_file.h>
-#include <google/protobuf/compiler/cpp/cpp_helpers.h>
+#include <google/protobuf/compiler/cpp/file.h>
+#include <google/protobuf/compiler/cpp/helpers.h>
 #include <google/protobuf/descriptor.pb.h>
 
 namespace google {
diff --git a/src/google/protobuf/compiler/cpp/cpp_generator.h b/src/google/protobuf/compiler/cpp/generator.h
similarity index 100%
rename from src/google/protobuf/compiler/cpp/cpp_generator.h
rename to src/google/protobuf/compiler/cpp/generator.h
diff --git a/src/google/protobuf/compiler/cpp/cpp_helpers.cc b/src/google/protobuf/compiler/cpp/helpers.cc
similarity index 99%
rename from src/google/protobuf/compiler/cpp/cpp_helpers.cc
rename to src/google/protobuf/compiler/cpp/helpers.cc
index f5aaa2f..5d95e72 100644
--- a/src/google/protobuf/compiler/cpp/cpp_helpers.cc
+++ b/src/google/protobuf/compiler/cpp/helpers.cc
@@ -32,7 +32,7 @@
 //  Based on original Protocol Buffers design by
 //  Sanjay Ghemawat, Jeff Dean, and others.
 
-#include <google/protobuf/compiler/cpp/cpp_helpers.h>
+#include <google/protobuf/compiler/cpp/helpers.h>
 
 #include <cstdint>
 #include <functional>
@@ -45,8 +45,8 @@
 #include <google/protobuf/stubs/common.h>
 #include <google/protobuf/stubs/logging.h>
 #include <google/protobuf/descriptor.h>
-#include <google/protobuf/compiler/cpp/cpp_names.h>
-#include <google/protobuf/compiler/cpp/cpp_options.h>
+#include <google/protobuf/compiler/cpp/names.h>
+#include <google/protobuf/compiler/cpp/options.h>
 #include <google/protobuf/descriptor.pb.h>
 #include <google/protobuf/compiler/scc.h>
 #include <google/protobuf/io/printer.h>
diff --git a/src/google/protobuf/compiler/cpp/cpp_helpers.h b/src/google/protobuf/compiler/cpp/helpers.h
similarity index 99%
rename from src/google/protobuf/compiler/cpp/cpp_helpers.h
rename to src/google/protobuf/compiler/cpp/helpers.h
index 81f3988..df71434 100644
--- a/src/google/protobuf/compiler/cpp/cpp_helpers.h
+++ b/src/google/protobuf/compiler/cpp/helpers.h
@@ -43,8 +43,8 @@
 
 #include <google/protobuf/compiler/scc.h>
 #include <google/protobuf/compiler/code_generator.h>
-#include <google/protobuf/compiler/cpp/cpp_names.h>
-#include <google/protobuf/compiler/cpp/cpp_options.h>
+#include <google/protobuf/compiler/cpp/names.h>
+#include <google/protobuf/compiler/cpp/options.h>
 #include <google/protobuf/descriptor.pb.h>
 #include <google/protobuf/io/printer.h>
 #include <google/protobuf/descriptor.h>
diff --git a/src/google/protobuf/compiler/cpp/cpp_map_field.cc b/src/google/protobuf/compiler/cpp/map_field.cc
similarity index 98%
rename from src/google/protobuf/compiler/cpp/cpp_map_field.cc
rename to src/google/protobuf/compiler/cpp/map_field.cc
index c44b330..f1356e7 100644
--- a/src/google/protobuf/compiler/cpp/cpp_map_field.cc
+++ b/src/google/protobuf/compiler/cpp/map_field.cc
@@ -28,12 +28,12 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-#include <google/protobuf/compiler/cpp/cpp_map_field.h>
+#include <google/protobuf/compiler/cpp/map_field.h>
 
 #include <google/protobuf/io/printer.h>
 #include <google/protobuf/wire_format.h>
 #include <google/protobuf/stubs/strutil.h>
-#include <google/protobuf/compiler/cpp/cpp_helpers.h>
+#include <google/protobuf/compiler/cpp/helpers.h>
 
 
 namespace google {
diff --git a/src/google/protobuf/compiler/cpp/cpp_map_field.h b/src/google/protobuf/compiler/cpp/map_field.h
similarity index 96%
rename from src/google/protobuf/compiler/cpp/cpp_map_field.h
rename to src/google/protobuf/compiler/cpp/map_field.h
index 7ebce42..678a128 100644
--- a/src/google/protobuf/compiler/cpp/cpp_map_field.h
+++ b/src/google/protobuf/compiler/cpp/map_field.h
@@ -34,8 +34,8 @@
 #include <map>
 #include <string>
 
-#include <google/protobuf/compiler/cpp/cpp_helpers.h>
-#include <google/protobuf/compiler/cpp/cpp_message_field.h>
+#include <google/protobuf/compiler/cpp/helpers.h>
+#include <google/protobuf/compiler/cpp/message_field.h>
 
 namespace google {
 namespace protobuf {
diff --git a/src/google/protobuf/compiler/cpp/cpp_message.cc b/src/google/protobuf/compiler/cpp/message.cc
similarity index 99%
rename from src/google/protobuf/compiler/cpp/cpp_message.cc
rename to src/google/protobuf/compiler/cpp/message.cc
index 3138942..46cc3d5 100644
--- a/src/google/protobuf/compiler/cpp/cpp_message.cc
+++ b/src/google/protobuf/compiler/cpp/message.cc
@@ -32,7 +32,7 @@
 //  Based on original Protocol Buffers design by
 //  Sanjay Ghemawat, Jeff Dean, and others.
 
-#include <google/protobuf/compiler/cpp/cpp_message.h>
+#include <google/protobuf/compiler/cpp/message.h>
 
 #include <algorithm>
 #include <cstdint>
@@ -52,12 +52,12 @@
 #include <google/protobuf/wire_format.h>
 #include <google/protobuf/stubs/strutil.h>
 #include <google/protobuf/stubs/substitute.h>
-#include <google/protobuf/compiler/cpp/cpp_enum.h>
-#include <google/protobuf/compiler/cpp/cpp_extension.h>
-#include <google/protobuf/compiler/cpp/cpp_field.h>
-#include <google/protobuf/compiler/cpp/cpp_helpers.h>
-#include <google/protobuf/compiler/cpp/cpp_padding_optimizer.h>
-#include <google/protobuf/compiler/cpp/cpp_parse_function_generator.h>
+#include <google/protobuf/compiler/cpp/enum.h>
+#include <google/protobuf/compiler/cpp/extension.h>
+#include <google/protobuf/compiler/cpp/field.h>
+#include <google/protobuf/compiler/cpp/helpers.h>
+#include <google/protobuf/compiler/cpp/padding_optimizer.h>
+#include <google/protobuf/compiler/cpp/parse_function_generator.h>
 #include <google/protobuf/descriptor.pb.h>
 #include <google/protobuf/stubs/hash.h>
 
diff --git a/src/google/protobuf/compiler/cpp/cpp_message.h b/src/google/protobuf/compiler/cpp/message.h
similarity index 96%
rename from src/google/protobuf/compiler/cpp/cpp_message.h
rename to src/google/protobuf/compiler/cpp/message.h
index a496ebb..ec23c44 100644
--- a/src/google/protobuf/compiler/cpp/cpp_message.h
+++ b/src/google/protobuf/compiler/cpp/message.h
@@ -40,11 +40,11 @@
 #include <set>
 #include <string>
 
-#include <google/protobuf/compiler/cpp/cpp_field.h>
-#include <google/protobuf/compiler/cpp/cpp_helpers.h>
-#include <google/protobuf/compiler/cpp/cpp_message_layout_helper.h>
-#include <google/protobuf/compiler/cpp/cpp_options.h>
-#include <google/protobuf/compiler/cpp/cpp_parse_function_generator.h>
+#include <google/protobuf/compiler/cpp/field.h>
+#include <google/protobuf/compiler/cpp/helpers.h>
+#include <google/protobuf/compiler/cpp/message_layout_helper.h>
+#include <google/protobuf/compiler/cpp/options.h>
+#include <google/protobuf/compiler/cpp/parse_function_generator.h>
 
 namespace google {
 namespace protobuf {
diff --git a/src/google/protobuf/compiler/cpp/cpp_message_field.cc b/src/google/protobuf/compiler/cpp/message_field.cc
similarity index 99%
rename from src/google/protobuf/compiler/cpp/cpp_message_field.cc
rename to src/google/protobuf/compiler/cpp/message_field.cc
index 74134ce..65b63ae 100644
--- a/src/google/protobuf/compiler/cpp/cpp_message_field.cc
+++ b/src/google/protobuf/compiler/cpp/message_field.cc
@@ -32,10 +32,10 @@
 //  Based on original Protocol Buffers design by
 //  Sanjay Ghemawat, Jeff Dean, and others.
 
-#include <google/protobuf/compiler/cpp/cpp_message_field.h>
+#include <google/protobuf/compiler/cpp/message_field.h>
 
 #include <google/protobuf/io/printer.h>
-#include <google/protobuf/compiler/cpp/cpp_helpers.h>
+#include <google/protobuf/compiler/cpp/helpers.h>
 
 #include <google/protobuf/stubs/strutil.h>
 
diff --git a/src/google/protobuf/compiler/cpp/cpp_message_field.h b/src/google/protobuf/compiler/cpp/message_field.h
similarity index 98%
rename from src/google/protobuf/compiler/cpp/cpp_message_field.h
rename to src/google/protobuf/compiler/cpp/message_field.h
index 1345a44..70c42c0 100644
--- a/src/google/protobuf/compiler/cpp/cpp_message_field.h
+++ b/src/google/protobuf/compiler/cpp/message_field.h
@@ -38,8 +38,8 @@
 #include <map>
 #include <string>
 
-#include <google/protobuf/compiler/cpp/cpp_field.h>
-#include <google/protobuf/compiler/cpp/cpp_helpers.h>
+#include <google/protobuf/compiler/cpp/field.h>
+#include <google/protobuf/compiler/cpp/helpers.h>
 
 namespace google {
 namespace protobuf {
diff --git a/src/google/protobuf/compiler/cpp/cpp_message_layout_helper.h b/src/google/protobuf/compiler/cpp/message_layout_helper.h
similarity index 97%
rename from src/google/protobuf/compiler/cpp/cpp_message_layout_helper.h
rename to src/google/protobuf/compiler/cpp/message_layout_helper.h
index 8086005..a8813a1 100644
--- a/src/google/protobuf/compiler/cpp/cpp_message_layout_helper.h
+++ b/src/google/protobuf/compiler/cpp/message_layout_helper.h
@@ -36,7 +36,7 @@
 #define GOOGLE_PROTOBUF_COMPILER_CPP_MESSAGE_LAYOUT_HELPER_H__
 
 #include <google/protobuf/descriptor.h>
-#include <google/protobuf/compiler/cpp/cpp_options.h>
+#include <google/protobuf/compiler/cpp/options.h>
 
 namespace google {
 namespace protobuf {
diff --git a/src/google/protobuf/compiler/cpp/metadata_test.cc b/src/google/protobuf/compiler/cpp/metadata_test.cc
index c48a971..363e55a 100644
--- a/src/google/protobuf/compiler/cpp/metadata_test.cc
+++ b/src/google/protobuf/compiler/cpp/metadata_test.cc
@@ -32,8 +32,8 @@
 
 #include <google/protobuf/testing/file.h>
 #include <google/protobuf/testing/file.h>
-#include <google/protobuf/compiler/cpp/cpp_helpers.h>
-#include <google/protobuf/compiler/cpp/cpp_generator.h>
+#include <google/protobuf/compiler/cpp/helpers.h>
+#include <google/protobuf/compiler/cpp/generator.h>
 #include <google/protobuf/compiler/annotation_test_util.h>
 #include <google/protobuf/compiler/command_line_interface.h>
 #include <google/protobuf/descriptor.pb.h>
diff --git a/src/google/protobuf/compiler/cpp/cpp_move_unittest.cc b/src/google/protobuf/compiler/cpp/move_unittest.cc
similarity index 100%
rename from src/google/protobuf/compiler/cpp/cpp_move_unittest.cc
rename to src/google/protobuf/compiler/cpp/move_unittest.cc
diff --git a/src/google/protobuf/compiler/cpp/cpp_names.h b/src/google/protobuf/compiler/cpp/names.h
similarity index 100%
rename from src/google/protobuf/compiler/cpp/cpp_names.h
rename to src/google/protobuf/compiler/cpp/names.h
diff --git a/src/google/protobuf/compiler/cpp/cpp_options.h b/src/google/protobuf/compiler/cpp/options.h
similarity index 100%
rename from src/google/protobuf/compiler/cpp/cpp_options.h
rename to src/google/protobuf/compiler/cpp/options.h
diff --git a/src/google/protobuf/compiler/cpp/cpp_padding_optimizer.cc b/src/google/protobuf/compiler/cpp/padding_optimizer.cc
similarity index 98%
rename from src/google/protobuf/compiler/cpp/cpp_padding_optimizer.cc
rename to src/google/protobuf/compiler/cpp/padding_optimizer.cc
index f48ba71..2091052 100644
--- a/src/google/protobuf/compiler/cpp/cpp_padding_optimizer.cc
+++ b/src/google/protobuf/compiler/cpp/padding_optimizer.cc
@@ -28,9 +28,9 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-#include <google/protobuf/compiler/cpp/cpp_padding_optimizer.h>
+#include <google/protobuf/compiler/cpp/padding_optimizer.h>
 
-#include <google/protobuf/compiler/cpp/cpp_helpers.h>
+#include <google/protobuf/compiler/cpp/helpers.h>
 
 namespace google {
 namespace protobuf {
diff --git a/src/google/protobuf/compiler/cpp/cpp_padding_optimizer.h b/src/google/protobuf/compiler/cpp/padding_optimizer.h
similarity index 97%
rename from src/google/protobuf/compiler/cpp/cpp_padding_optimizer.h
rename to src/google/protobuf/compiler/cpp/padding_optimizer.h
index ebdb17d..9c76f38 100644
--- a/src/google/protobuf/compiler/cpp/cpp_padding_optimizer.h
+++ b/src/google/protobuf/compiler/cpp/padding_optimizer.h
@@ -35,7 +35,7 @@
 #ifndef GOOGLE_PROTOBUF_COMPILER_CPP_PADDING_OPTIMIZER_H__
 #define GOOGLE_PROTOBUF_COMPILER_CPP_PADDING_OPTIMIZER_H__
 
-#include <google/protobuf/compiler/cpp/cpp_message_layout_helper.h>
+#include <google/protobuf/compiler/cpp/message_layout_helper.h>
 
 namespace google {
 namespace protobuf {
diff --git a/src/google/protobuf/compiler/cpp/cpp_parse_function_generator.cc b/src/google/protobuf/compiler/cpp/parse_function_generator.cc
similarity index 99%
rename from src/google/protobuf/compiler/cpp/cpp_parse_function_generator.cc
rename to src/google/protobuf/compiler/cpp/parse_function_generator.cc
index 924e086..41fc215 100644
--- a/src/google/protobuf/compiler/cpp/cpp_parse_function_generator.cc
+++ b/src/google/protobuf/compiler/cpp/parse_function_generator.cc
@@ -28,7 +28,7 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-#include <google/protobuf/compiler/cpp/cpp_parse_function_generator.h>
+#include <google/protobuf/compiler/cpp/parse_function_generator.h>
 
 #include <algorithm>
 #include <limits>
@@ -36,7 +36,7 @@
 #include <utility>
 
 #include <google/protobuf/wire_format.h>
-#include <google/protobuf/compiler/cpp/cpp_helpers.h>
+#include <google/protobuf/compiler/cpp/helpers.h>
 
 namespace google {
 namespace protobuf {
diff --git a/src/google/protobuf/compiler/cpp/cpp_parse_function_generator.h b/src/google/protobuf/compiler/cpp/parse_function_generator.h
similarity index 98%
rename from src/google/protobuf/compiler/cpp/cpp_parse_function_generator.h
rename to src/google/protobuf/compiler/cpp/parse_function_generator.h
index d98f085..542a15a 100644
--- a/src/google/protobuf/compiler/cpp/cpp_parse_function_generator.h
+++ b/src/google/protobuf/compiler/cpp/parse_function_generator.h
@@ -38,8 +38,8 @@
 #include <google/protobuf/io/printer.h>
 #include <google/protobuf/descriptor.h>
 #include <google/protobuf/wire_format_lite.h>
-#include <google/protobuf/compiler/cpp/cpp_helpers.h>
-#include <google/protobuf/compiler/cpp/cpp_options.h>
+#include <google/protobuf/compiler/cpp/helpers.h>
+#include <google/protobuf/compiler/cpp/options.h>
 
 namespace google {
 namespace protobuf {
diff --git a/src/google/protobuf/compiler/cpp/cpp_plugin_unittest.cc b/src/google/protobuf/compiler/cpp/plugin_unittest.cc
similarity index 99%
rename from src/google/protobuf/compiler/cpp/cpp_plugin_unittest.cc
rename to src/google/protobuf/compiler/cpp/plugin_unittest.cc
index 5bc419d..aa4ef4e 100644
--- a/src/google/protobuf/compiler/cpp/cpp_plugin_unittest.cc
+++ b/src/google/protobuf/compiler/cpp/plugin_unittest.cc
@@ -38,7 +38,7 @@
 
 #include <google/protobuf/testing/file.h>
 #include <google/protobuf/testing/file.h>
-#include <google/protobuf/compiler/cpp/cpp_generator.h>
+#include <google/protobuf/compiler/cpp/generator.h>
 #include <google/protobuf/compiler/command_line_interface.h>
 #include <google/protobuf/io/printer.h>
 #include <google/protobuf/io/zero_copy_stream.h>
diff --git a/src/google/protobuf/compiler/cpp/cpp_primitive_field.cc b/src/google/protobuf/compiler/cpp/primitive_field.cc
similarity index 99%
rename from src/google/protobuf/compiler/cpp/cpp_primitive_field.cc
rename to src/google/protobuf/compiler/cpp/primitive_field.cc
index 1ca9ba5..9ffbe76 100644
--- a/src/google/protobuf/compiler/cpp/cpp_primitive_field.cc
+++ b/src/google/protobuf/compiler/cpp/primitive_field.cc
@@ -32,12 +32,12 @@
 //  Based on original Protocol Buffers design by
 //  Sanjay Ghemawat, Jeff Dean, and others.
 
-#include <google/protobuf/compiler/cpp/cpp_primitive_field.h>
+#include <google/protobuf/compiler/cpp/primitive_field.h>
 
 #include <google/protobuf/io/printer.h>
 #include <google/protobuf/wire_format.h>
 #include <google/protobuf/stubs/strutil.h>
-#include <google/protobuf/compiler/cpp/cpp_helpers.h>
+#include <google/protobuf/compiler/cpp/helpers.h>
 
 namespace google {
 namespace protobuf {
diff --git a/src/google/protobuf/compiler/cpp/cpp_primitive_field.h b/src/google/protobuf/compiler/cpp/primitive_field.h
similarity index 98%
rename from src/google/protobuf/compiler/cpp/cpp_primitive_field.h
rename to src/google/protobuf/compiler/cpp/primitive_field.h
index 226dd28..ec1fcc1 100644
--- a/src/google/protobuf/compiler/cpp/cpp_primitive_field.h
+++ b/src/google/protobuf/compiler/cpp/primitive_field.h
@@ -38,7 +38,7 @@
 #include <map>
 #include <string>
 
-#include <google/protobuf/compiler/cpp/cpp_field.h>
+#include <google/protobuf/compiler/cpp/field.h>
 
 namespace google {
 namespace protobuf {
diff --git a/src/google/protobuf/compiler/cpp/cpp_service.cc b/src/google/protobuf/compiler/cpp/service.cc
similarity index 98%
rename from src/google/protobuf/compiler/cpp/cpp_service.cc
rename to src/google/protobuf/compiler/cpp/service.cc
index c630e7f..7a0d480 100644
--- a/src/google/protobuf/compiler/cpp/cpp_service.cc
+++ b/src/google/protobuf/compiler/cpp/service.cc
@@ -32,11 +32,11 @@
 //  Based on original Protocol Buffers design by
 //  Sanjay Ghemawat, Jeff Dean, and others.
 
-#include <google/protobuf/compiler/cpp/cpp_service.h>
+#include <google/protobuf/compiler/cpp/service.h>
 
 #include <google/protobuf/io/printer.h>
 #include <google/protobuf/stubs/strutil.h>
-#include <google/protobuf/compiler/cpp/cpp_helpers.h>
+#include <google/protobuf/compiler/cpp/helpers.h>
 
 namespace google {
 namespace protobuf {
diff --git a/src/google/protobuf/compiler/cpp/cpp_service.h b/src/google/protobuf/compiler/cpp/service.h
similarity index 98%
rename from src/google/protobuf/compiler/cpp/cpp_service.h
rename to src/google/protobuf/compiler/cpp/service.h
index 8b210af..b3bd2d7 100644
--- a/src/google/protobuf/compiler/cpp/cpp_service.h
+++ b/src/google/protobuf/compiler/cpp/service.h
@@ -39,7 +39,7 @@
 #include <string>
 
 #include <google/protobuf/descriptor.h>
-#include <google/protobuf/compiler/cpp/cpp_options.h>
+#include <google/protobuf/compiler/cpp/options.h>
 
 namespace google {
 namespace protobuf {
diff --git a/src/google/protobuf/compiler/cpp/cpp_string_field.cc b/src/google/protobuf/compiler/cpp/string_field.cc
similarity index 99%
rename from src/google/protobuf/compiler/cpp/cpp_string_field.cc
rename to src/google/protobuf/compiler/cpp/string_field.cc
index 0ffc5b4..8974b6a 100644
--- a/src/google/protobuf/compiler/cpp/cpp_string_field.cc
+++ b/src/google/protobuf/compiler/cpp/string_field.cc
@@ -32,11 +32,11 @@
 //  Based on original Protocol Buffers design by
 //  Sanjay Ghemawat, Jeff Dean, and others.
 
-#include <google/protobuf/compiler/cpp/cpp_string_field.h>
+#include <google/protobuf/compiler/cpp/string_field.h>
 
 #include <google/protobuf/io/printer.h>
 #include <google/protobuf/stubs/strutil.h>
-#include <google/protobuf/compiler/cpp/cpp_helpers.h>
+#include <google/protobuf/compiler/cpp/helpers.h>
 #include <google/protobuf/descriptor.pb.h>
 
 
diff --git a/src/google/protobuf/compiler/cpp/cpp_string_field.h b/src/google/protobuf/compiler/cpp/string_field.h
similarity index 99%
rename from src/google/protobuf/compiler/cpp/cpp_string_field.h
rename to src/google/protobuf/compiler/cpp/string_field.h
index dcaa1c1..0de0573 100644
--- a/src/google/protobuf/compiler/cpp/cpp_string_field.h
+++ b/src/google/protobuf/compiler/cpp/string_field.h
@@ -38,7 +38,7 @@
 #include <map>
 #include <string>
 
-#include <google/protobuf/compiler/cpp/cpp_field.h>
+#include <google/protobuf/compiler/cpp/field.h>
 
 namespace google {
 namespace protobuf {
diff --git a/src/google/protobuf/compiler/cpp/cpp_test_bad_identifiers.proto b/src/google/protobuf/compiler/cpp/test_bad_identifiers.proto
similarity index 100%
rename from src/google/protobuf/compiler/cpp/cpp_test_bad_identifiers.proto
rename to src/google/protobuf/compiler/cpp/test_bad_identifiers.proto
diff --git a/src/google/protobuf/compiler/cpp/cpp_test_large_enum_value.proto b/src/google/protobuf/compiler/cpp/test_large_enum_value.proto
similarity index 100%
rename from src/google/protobuf/compiler/cpp/cpp_test_large_enum_value.proto
rename to src/google/protobuf/compiler/cpp/test_large_enum_value.proto
diff --git a/src/google/protobuf/compiler/cpp/cpp_unittest.cc b/src/google/protobuf/compiler/cpp/unittest.cc
similarity index 97%
rename from src/google/protobuf/compiler/cpp/cpp_unittest.cc
rename to src/google/protobuf/compiler/cpp/unittest.cc
index 74310a7..3d0b998 100644
--- a/src/google/protobuf/compiler/cpp/cpp_unittest.cc
+++ b/src/google/protobuf/compiler/cpp/unittest.cc
@@ -44,7 +44,7 @@
 // correctly and produces the interfaces we expect, which is why this test
 // is written this way.
 
-#include <google/protobuf/compiler/cpp/cpp_unittest.h>
+#include <google/protobuf/compiler/cpp/unittest.h>
 
 #include <google/protobuf/unittest.pb.h>
 #include <google/protobuf/unittest_embed_optimize_for.pb.h>
@@ -65,7 +65,7 @@
 #define UNITTEST_IMPORT ::protobuf_unittest_import
 
 // Must include after the above macros.
-#include <google/protobuf/compiler/cpp/cpp_unittest.inc>
+#include <google/protobuf/compiler/cpp/unittest.inc>
 
 namespace google {
 namespace protobuf {
diff --git a/src/google/protobuf/compiler/cpp/cpp_unittest.h b/src/google/protobuf/compiler/cpp/unittest.h
similarity index 100%
rename from src/google/protobuf/compiler/cpp/cpp_unittest.h
rename to src/google/protobuf/compiler/cpp/unittest.h
diff --git a/src/google/protobuf/compiler/cpp/cpp_unittest.inc b/src/google/protobuf/compiler/cpp/unittest.inc
similarity index 99%
rename from src/google/protobuf/compiler/cpp/cpp_unittest.inc
rename to src/google/protobuf/compiler/cpp/unittest.inc
index 59b0924..d3dad6f 100644
--- a/src/google/protobuf/compiler/cpp/cpp_unittest.inc
+++ b/src/google/protobuf/compiler/cpp/unittest.inc
@@ -49,15 +49,15 @@
 #include <memory>
 #include <vector>
 
-#include <google/protobuf/compiler/cpp/cpp_unittest.h>
+#include <google/protobuf/compiler/cpp/unittest.h>
 #include <google/protobuf/stubs/strutil.h>
 #ifndef _MSC_VER
 // We exclude this large proto because it's too large for
 // visual studio to compile (report internal errors).
 #include <google/protobuf/unittest_enormous_descriptor.pb.h>
 #endif
-#include <google/protobuf/compiler/cpp/cpp_helpers.h>
-#include <google/protobuf/compiler/cpp/cpp_test_bad_identifiers.pb.h>
+#include <google/protobuf/compiler/cpp/helpers.h>
+#include <google/protobuf/compiler/cpp/test_bad_identifiers.pb.h>
 #include <google/protobuf/compiler/scc.h>
 #include <google/protobuf/compiler/importer.h>
 #include <google/protobuf/test_util2.h>
diff --git a/src/google/protobuf/compiler/java/java_context.cc b/src/google/protobuf/compiler/java/context.cc
similarity index 97%
rename from src/google/protobuf/compiler/java/java_context.cc
rename to src/google/protobuf/compiler/java/context.cc
index 19cb631..cdc0d44 100644
--- a/src/google/protobuf/compiler/java/java_context.cc
+++ b/src/google/protobuf/compiler/java/context.cc
@@ -28,13 +28,13 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-#include <google/protobuf/compiler/java/java_context.h>
+#include <google/protobuf/compiler/java/context.h>
 
 #include <google/protobuf/descriptor.h>
 #include <google/protobuf/stubs/strutil.h>
-#include <google/protobuf/compiler/java/java_field.h>
-#include <google/protobuf/compiler/java/java_helpers.h>
-#include <google/protobuf/compiler/java/java_name_resolver.h>
+#include <google/protobuf/compiler/java/field.h>
+#include <google/protobuf/compiler/java/helpers.h>
+#include <google/protobuf/compiler/java/name_resolver.h>
 #include <google/protobuf/stubs/map_util.h>
 
 namespace google {
diff --git a/src/google/protobuf/compiler/java/java_context.h b/src/google/protobuf/compiler/java/context.h
similarity index 98%
rename from src/google/protobuf/compiler/java/java_context.h
rename to src/google/protobuf/compiler/java/context.h
index 3fa6af1..c224ab7 100644
--- a/src/google/protobuf/compiler/java/java_context.h
+++ b/src/google/protobuf/compiler/java/context.h
@@ -36,7 +36,7 @@
 #include <vector>
 
 #include <google/protobuf/stubs/common.h>
-#include <google/protobuf/compiler/java/java_options.h>
+#include <google/protobuf/compiler/java/options.h>
 
 namespace google {
 namespace protobuf {
diff --git a/src/google/protobuf/compiler/java/java_doc_comment.cc b/src/google/protobuf/compiler/java/doc_comment.cc
similarity index 99%
rename from src/google/protobuf/compiler/java/java_doc_comment.cc
rename to src/google/protobuf/compiler/java/doc_comment.cc
index d0e0184..066bff6 100644
--- a/src/google/protobuf/compiler/java/java_doc_comment.cc
+++ b/src/google/protobuf/compiler/java/doc_comment.cc
@@ -32,7 +32,7 @@
 //  Based on original Protocol Buffers design by
 //  Sanjay Ghemawat, Jeff Dean, and others.
 
-#include <google/protobuf/compiler/java/java_doc_comment.h>
+#include <google/protobuf/compiler/java/doc_comment.h>
 
 #include <vector>
 
diff --git a/src/google/protobuf/compiler/java/java_doc_comment.h b/src/google/protobuf/compiler/java/doc_comment.h
similarity index 100%
rename from src/google/protobuf/compiler/java/java_doc_comment.h
rename to src/google/protobuf/compiler/java/doc_comment.h
diff --git a/src/google/protobuf/compiler/java/java_doc_comment_unittest.cc b/src/google/protobuf/compiler/java/doc_comment_unittest.cc
similarity index 97%
rename from src/google/protobuf/compiler/java/java_doc_comment_unittest.cc
rename to src/google/protobuf/compiler/java/doc_comment_unittest.cc
index bebd198..3fcdf07 100644
--- a/src/google/protobuf/compiler/java/java_doc_comment_unittest.cc
+++ b/src/google/protobuf/compiler/java/doc_comment_unittest.cc
@@ -30,7 +30,7 @@
 
 // Author: kenton@google.com (Kenton Varda)
 
-#include <google/protobuf/compiler/java/java_doc_comment.h>
+#include <google/protobuf/compiler/java/doc_comment.h>
 
 #include <gtest/gtest.h>
 
diff --git a/src/google/protobuf/compiler/java/java_enum.cc b/src/google/protobuf/compiler/java/enum.cc
similarity index 97%
rename from src/google/protobuf/compiler/java/java_enum.cc
rename to src/google/protobuf/compiler/java/enum.cc
index 1972265..0cab93c 100644
--- a/src/google/protobuf/compiler/java/java_enum.cc
+++ b/src/google/protobuf/compiler/java/enum.cc
@@ -32,17 +32,17 @@
 //  Based on original Protocol Buffers design by
 //  Sanjay Ghemawat, Jeff Dean, and others.
 
-#include <google/protobuf/compiler/java/java_enum.h>
+#include <google/protobuf/compiler/java/enum.h>
 
 #include <map>
 #include <string>
 
 #include <google/protobuf/io/printer.h>
 #include <google/protobuf/stubs/strutil.h>
-#include <google/protobuf/compiler/java/java_context.h>
-#include <google/protobuf/compiler/java/java_doc_comment.h>
-#include <google/protobuf/compiler/java/java_helpers.h>
-#include <google/protobuf/compiler/java/java_name_resolver.h>
+#include <google/protobuf/compiler/java/context.h>
+#include <google/protobuf/compiler/java/doc_comment.h>
+#include <google/protobuf/compiler/java/helpers.h>
+#include <google/protobuf/compiler/java/name_resolver.h>
 #include <google/protobuf/descriptor.pb.h>
 
 // Must be last.
diff --git a/src/google/protobuf/compiler/java/java_enum.h b/src/google/protobuf/compiler/java/enum.h
similarity index 100%
rename from src/google/protobuf/compiler/java/java_enum.h
rename to src/google/protobuf/compiler/java/enum.h
diff --git a/src/google/protobuf/compiler/java/java_enum_field.cc b/src/google/protobuf/compiler/java/enum_field.cc
similarity index 99%
rename from src/google/protobuf/compiler/java/java_enum_field.cc
rename to src/google/protobuf/compiler/java/enum_field.cc
index 9ef97b3..a0cb65a 100644
--- a/src/google/protobuf/compiler/java/java_enum_field.cc
+++ b/src/google/protobuf/compiler/java/enum_field.cc
@@ -32,7 +32,7 @@
 //  Based on original Protocol Buffers design by
 //  Sanjay Ghemawat, Jeff Dean, and others.
 
-#include <google/protobuf/compiler/java/java_enum_field.h>
+#include <google/protobuf/compiler/java/enum_field.h>
 
 #include <cstdint>
 #include <map>
@@ -43,10 +43,10 @@
 #include <google/protobuf/io/printer.h>
 #include <google/protobuf/wire_format.h>
 #include <google/protobuf/stubs/strutil.h>
-#include <google/protobuf/compiler/java/java_context.h>
-#include <google/protobuf/compiler/java/java_doc_comment.h>
-#include <google/protobuf/compiler/java/java_helpers.h>
-#include <google/protobuf/compiler/java/java_name_resolver.h>
+#include <google/protobuf/compiler/java/context.h>
+#include <google/protobuf/compiler/java/doc_comment.h>
+#include <google/protobuf/compiler/java/helpers.h>
+#include <google/protobuf/compiler/java/name_resolver.h>
 
 // Must be last.
 #include <google/protobuf/port_def.inc>
diff --git a/src/google/protobuf/compiler/java/java_enum_field.h b/src/google/protobuf/compiler/java/enum_field.h
similarity index 99%
rename from src/google/protobuf/compiler/java/java_enum_field.h
rename to src/google/protobuf/compiler/java/enum_field.h
index abdc188..d2bc8d6 100644
--- a/src/google/protobuf/compiler/java/java_enum_field.h
+++ b/src/google/protobuf/compiler/java/enum_field.h
@@ -38,7 +38,7 @@
 #include <map>
 #include <string>
 
-#include <google/protobuf/compiler/java/java_field.h>
+#include <google/protobuf/compiler/java/field.h>
 
 namespace google {
 namespace protobuf {
diff --git a/src/google/protobuf/compiler/java/java_enum_field_lite.cc b/src/google/protobuf/compiler/java/enum_field_lite.cc
similarity index 99%
rename from src/google/protobuf/compiler/java/java_enum_field_lite.cc
rename to src/google/protobuf/compiler/java/enum_field_lite.cc
index db13d1d..e80b938 100644
--- a/src/google/protobuf/compiler/java/java_enum_field_lite.cc
+++ b/src/google/protobuf/compiler/java/enum_field_lite.cc
@@ -32,7 +32,7 @@
 //  Based on original Protocol Buffers design by
 //  Sanjay Ghemawat, Jeff Dean, and others.
 
-#include <google/protobuf/compiler/java/java_enum_field_lite.h>
+#include <google/protobuf/compiler/java/enum_field_lite.h>
 
 #include <cstdint>
 #include <map>
@@ -43,10 +43,10 @@
 #include <google/protobuf/io/printer.h>
 #include <google/protobuf/wire_format.h>
 #include <google/protobuf/stubs/strutil.h>
-#include <google/protobuf/compiler/java/java_context.h>
-#include <google/protobuf/compiler/java/java_doc_comment.h>
-#include <google/protobuf/compiler/java/java_helpers.h>
-#include <google/protobuf/compiler/java/java_name_resolver.h>
+#include <google/protobuf/compiler/java/context.h>
+#include <google/protobuf/compiler/java/doc_comment.h>
+#include <google/protobuf/compiler/java/helpers.h>
+#include <google/protobuf/compiler/java/name_resolver.h>
 
 // Must be last.
 #include <google/protobuf/port_def.inc>
diff --git a/src/google/protobuf/compiler/java/java_enum_field_lite.h b/src/google/protobuf/compiler/java/enum_field_lite.h
similarity index 98%
rename from src/google/protobuf/compiler/java/java_enum_field_lite.h
rename to src/google/protobuf/compiler/java/enum_field_lite.h
index 6ed11c9..492b268 100644
--- a/src/google/protobuf/compiler/java/java_enum_field_lite.h
+++ b/src/google/protobuf/compiler/java/enum_field_lite.h
@@ -39,7 +39,7 @@
 #include <map>
 #include <string>
 
-#include <google/protobuf/compiler/java/java_field.h>
+#include <google/protobuf/compiler/java/field.h>
 
 namespace google {
 namespace protobuf {
diff --git a/src/google/protobuf/compiler/java/java_enum_lite.cc b/src/google/protobuf/compiler/java/enum_lite.cc
similarity index 96%
rename from src/google/protobuf/compiler/java/java_enum_lite.cc
rename to src/google/protobuf/compiler/java/enum_lite.cc
index 5d7955c..4387090 100644
--- a/src/google/protobuf/compiler/java/java_enum_lite.cc
+++ b/src/google/protobuf/compiler/java/enum_lite.cc
@@ -32,17 +32,17 @@
 //  Based on original Protocol Buffers design by
 //  Sanjay Ghemawat, Jeff Dean, and others.
 
-#include <google/protobuf/compiler/java/java_enum_lite.h>
+#include <google/protobuf/compiler/java/enum_lite.h>
 
 #include <map>
 #include <string>
 
 #include <google/protobuf/io/printer.h>
 #include <google/protobuf/stubs/strutil.h>
-#include <google/protobuf/compiler/java/java_context.h>
-#include <google/protobuf/compiler/java/java_doc_comment.h>
-#include <google/protobuf/compiler/java/java_helpers.h>
-#include <google/protobuf/compiler/java/java_name_resolver.h>
+#include <google/protobuf/compiler/java/context.h>
+#include <google/protobuf/compiler/java/doc_comment.h>
+#include <google/protobuf/compiler/java/helpers.h>
+#include <google/protobuf/compiler/java/name_resolver.h>
 #include <google/protobuf/descriptor.pb.h>
 #include <google/protobuf/stubs/map_util.h>
 
diff --git a/src/google/protobuf/compiler/java/java_enum_lite.h b/src/google/protobuf/compiler/java/enum_lite.h
similarity index 100%
rename from src/google/protobuf/compiler/java/java_enum_lite.h
rename to src/google/protobuf/compiler/java/enum_lite.h
diff --git a/src/google/protobuf/compiler/java/java_extension.cc b/src/google/protobuf/compiler/java/extension.cc
similarity index 95%
rename from src/google/protobuf/compiler/java/java_extension.cc
rename to src/google/protobuf/compiler/java/extension.cc
index b37e938..8b93eb1 100644
--- a/src/google/protobuf/compiler/java/java_extension.cc
+++ b/src/google/protobuf/compiler/java/extension.cc
@@ -32,14 +32,14 @@
 //  Based on original Protocol Buffers design by
 //  Sanjay Ghemawat, Jeff Dean, and others.
 
-#include <google/protobuf/compiler/java/java_extension.h>
+#include <google/protobuf/compiler/java/extension.h>
 
 #include <google/protobuf/io/printer.h>
 #include <google/protobuf/stubs/strutil.h>
-#include <google/protobuf/compiler/java/java_context.h>
-#include <google/protobuf/compiler/java/java_doc_comment.h>
-#include <google/protobuf/compiler/java/java_helpers.h>
-#include <google/protobuf/compiler/java/java_name_resolver.h>
+#include <google/protobuf/compiler/java/context.h>
+#include <google/protobuf/compiler/java/doc_comment.h>
+#include <google/protobuf/compiler/java/helpers.h>
+#include <google/protobuf/compiler/java/name_resolver.h>
 
 // Must be last.
 #include <google/protobuf/port_def.inc>
diff --git a/src/google/protobuf/compiler/java/java_extension.h b/src/google/protobuf/compiler/java/extension.h
similarity index 100%
rename from src/google/protobuf/compiler/java/java_extension.h
rename to src/google/protobuf/compiler/java/extension.h
diff --git a/src/google/protobuf/compiler/java/java_extension_lite.cc b/src/google/protobuf/compiler/java/extension_lite.cc
similarity index 93%
rename from src/google/protobuf/compiler/java/java_extension_lite.cc
rename to src/google/protobuf/compiler/java/extension_lite.cc
index cac29f6..bffb1d6 100644
--- a/src/google/protobuf/compiler/java/java_extension_lite.cc
+++ b/src/google/protobuf/compiler/java/extension_lite.cc
@@ -28,14 +28,14 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-#include <google/protobuf/compiler/java/java_extension_lite.h>
+#include <google/protobuf/compiler/java/extension_lite.h>
 
 #include <google/protobuf/io/printer.h>
 #include <google/protobuf/stubs/strutil.h>
-#include <google/protobuf/compiler/java/java_context.h>
-#include <google/protobuf/compiler/java/java_doc_comment.h>
-#include <google/protobuf/compiler/java/java_helpers.h>
-#include <google/protobuf/compiler/java/java_name_resolver.h>
+#include <google/protobuf/compiler/java/context.h>
+#include <google/protobuf/compiler/java/doc_comment.h>
+#include <google/protobuf/compiler/java/helpers.h>
+#include <google/protobuf/compiler/java/name_resolver.h>
 
 // Must be last.
 #include <google/protobuf/port_def.inc>
diff --git a/src/google/protobuf/compiler/java/java_extension_lite.h b/src/google/protobuf/compiler/java/extension_lite.h
similarity index 98%
rename from src/google/protobuf/compiler/java/java_extension_lite.h
rename to src/google/protobuf/compiler/java/extension_lite.h
index 54dc437..264230c 100644
--- a/src/google/protobuf/compiler/java/java_extension_lite.h
+++ b/src/google/protobuf/compiler/java/extension_lite.h
@@ -35,7 +35,7 @@
 #include <string>
 
 #include <google/protobuf/stubs/common.h>
-#include <google/protobuf/compiler/java/java_extension.h>
+#include <google/protobuf/compiler/java/extension.h>
 
 namespace google {
 namespace protobuf {
diff --git a/src/google/protobuf/compiler/java/java_field.cc b/src/google/protobuf/compiler/java/field.cc
similarity index 93%
rename from src/google/protobuf/compiler/java/java_field.cc
rename to src/google/protobuf/compiler/java/field.cc
index cd08d60..6313a2a 100644
--- a/src/google/protobuf/compiler/java/java_field.cc
+++ b/src/google/protobuf/compiler/java/field.cc
@@ -32,7 +32,7 @@
 //  Based on original Protocol Buffers design by
 //  Sanjay Ghemawat, Jeff Dean, and others.
 
-#include <google/protobuf/compiler/java/java_field.h>
+#include <google/protobuf/compiler/java/field.h>
 
 #include <memory>
 
@@ -41,18 +41,18 @@
 #include <google/protobuf/io/printer.h>
 #include <google/protobuf/stubs/strutil.h>
 #include <google/protobuf/stubs/substitute.h>
-#include <google/protobuf/compiler/java/java_context.h>
-#include <google/protobuf/compiler/java/java_enum_field.h>
-#include <google/protobuf/compiler/java/java_enum_field_lite.h>
-#include <google/protobuf/compiler/java/java_helpers.h>
-#include <google/protobuf/compiler/java/java_map_field.h>
-#include <google/protobuf/compiler/java/java_map_field_lite.h>
-#include <google/protobuf/compiler/java/java_message_field.h>
-#include <google/protobuf/compiler/java/java_message_field_lite.h>
-#include <google/protobuf/compiler/java/java_primitive_field.h>
-#include <google/protobuf/compiler/java/java_primitive_field_lite.h>
-#include <google/protobuf/compiler/java/java_string_field.h>
-#include <google/protobuf/compiler/java/java_string_field_lite.h>
+#include <google/protobuf/compiler/java/context.h>
+#include <google/protobuf/compiler/java/enum_field.h>
+#include <google/protobuf/compiler/java/enum_field_lite.h>
+#include <google/protobuf/compiler/java/helpers.h>
+#include <google/protobuf/compiler/java/map_field.h>
+#include <google/protobuf/compiler/java/map_field_lite.h>
+#include <google/protobuf/compiler/java/message_field.h>
+#include <google/protobuf/compiler/java/message_field_lite.h>
+#include <google/protobuf/compiler/java/primitive_field.h>
+#include <google/protobuf/compiler/java/primitive_field_lite.h>
+#include <google/protobuf/compiler/java/string_field.h>
+#include <google/protobuf/compiler/java/string_field_lite.h>
 
 
 namespace google {
diff --git a/src/google/protobuf/compiler/java/java_field.h b/src/google/protobuf/compiler/java/field.h
similarity index 100%
rename from src/google/protobuf/compiler/java/java_field.h
rename to src/google/protobuf/compiler/java/field.h
diff --git a/src/google/protobuf/compiler/java/java_file.cc b/src/google/protobuf/compiler/java/file.cc
similarity index 97%
rename from src/google/protobuf/compiler/java/java_file.cc
rename to src/google/protobuf/compiler/java/file.cc
index d9c98f6..4bac87a 100644
--- a/src/google/protobuf/compiler/java/java_file.cc
+++ b/src/google/protobuf/compiler/java/file.cc
@@ -32,7 +32,7 @@
 //  Based on original Protocol Buffers design by
 //  Sanjay Ghemawat, Jeff Dean, and others.
 
-#include <google/protobuf/compiler/java/java_file.h>
+#include <google/protobuf/compiler/java/file.h>
 
 #include <memory>
 #include <set>
@@ -42,16 +42,16 @@
 #include <google/protobuf/io/zero_copy_stream.h>
 #include <google/protobuf/dynamic_message.h>
 #include <google/protobuf/stubs/strutil.h>
-#include <google/protobuf/compiler/java/java_context.h>
-#include <google/protobuf/compiler/java/java_enum.h>
-#include <google/protobuf/compiler/java/java_enum_lite.h>
-#include <google/protobuf/compiler/java/java_extension.h>
-#include <google/protobuf/compiler/java/java_generator_factory.h>
-#include <google/protobuf/compiler/java/java_helpers.h>
-#include <google/protobuf/compiler/java/java_message.h>
-#include <google/protobuf/compiler/java/java_name_resolver.h>
-#include <google/protobuf/compiler/java/java_service.h>
-#include <google/protobuf/compiler/java/java_shared_code_generator.h>
+#include <google/protobuf/compiler/java/context.h>
+#include <google/protobuf/compiler/java/enum.h>
+#include <google/protobuf/compiler/java/enum_lite.h>
+#include <google/protobuf/compiler/java/extension.h>
+#include <google/protobuf/compiler/java/generator_factory.h>
+#include <google/protobuf/compiler/java/helpers.h>
+#include <google/protobuf/compiler/java/message.h>
+#include <google/protobuf/compiler/java/name_resolver.h>
+#include <google/protobuf/compiler/java/service.h>
+#include <google/protobuf/compiler/java/shared_code_generator.h>
 #include <google/protobuf/descriptor.pb.h>
 
 // Must be last.
diff --git a/src/google/protobuf/compiler/java/java_file.h b/src/google/protobuf/compiler/java/file.h
similarity index 98%
rename from src/google/protobuf/compiler/java/java_file.h
rename to src/google/protobuf/compiler/java/file.h
index 79ee630..b2e0373 100644
--- a/src/google/protobuf/compiler/java/java_file.h
+++ b/src/google/protobuf/compiler/java/file.h
@@ -40,7 +40,7 @@
 #include <vector>
 
 #include <google/protobuf/stubs/common.h>
-#include <google/protobuf/compiler/java/java_options.h>
+#include <google/protobuf/compiler/java/options.h>
 
 namespace google {
 namespace protobuf {
diff --git a/src/google/protobuf/compiler/java/java_generator.cc b/src/google/protobuf/compiler/java/generator.cc
similarity index 94%
rename from src/google/protobuf/compiler/java/java_generator.cc
rename to src/google/protobuf/compiler/java/generator.cc
index f75f8b3..85e3991 100644
--- a/src/google/protobuf/compiler/java/java_generator.cc
+++ b/src/google/protobuf/compiler/java/generator.cc
@@ -32,7 +32,7 @@
 //  Based on original Protocol Buffers design by
 //  Sanjay Ghemawat, Jeff Dean, and others.
 
-#include <google/protobuf/compiler/java/java_generator.h>
+#include <google/protobuf/compiler/java/generator.h>
 
 
 #include <memory>
@@ -40,12 +40,12 @@
 #include <google/protobuf/io/printer.h>
 #include <google/protobuf/io/zero_copy_stream.h>
 #include <google/protobuf/stubs/stringprintf.h>
-#include <google/protobuf/compiler/java/java_file.h>
-#include <google/protobuf/compiler/java/java_generator_factory.h>
-#include <google/protobuf/compiler/java/java_helpers.h>
-#include <google/protobuf/compiler/java/java_name_resolver.h>
-#include <google/protobuf/compiler/java/java_options.h>
-#include <google/protobuf/compiler/java/java_shared_code_generator.h>
+#include <google/protobuf/compiler/java/file.h>
+#include <google/protobuf/compiler/java/generator_factory.h>
+#include <google/protobuf/compiler/java/helpers.h>
+#include <google/protobuf/compiler/java/name_resolver.h>
+#include <google/protobuf/compiler/java/options.h>
+#include <google/protobuf/compiler/java/shared_code_generator.h>
 #include <google/protobuf/descriptor.pb.h>
 
 #include <google/protobuf/stubs/strutil.h>
diff --git a/src/google/protobuf/compiler/java/java_generator.h b/src/google/protobuf/compiler/java/generator.h
similarity index 100%
rename from src/google/protobuf/compiler/java/java_generator.h
rename to src/google/protobuf/compiler/java/generator.h
diff --git a/src/google/protobuf/compiler/java/java_generator_factory.cc b/src/google/protobuf/compiler/java/generator_factory.cc
similarity index 83%
rename from src/google/protobuf/compiler/java/java_generator_factory.cc
rename to src/google/protobuf/compiler/java/generator_factory.cc
index 3a62adb..dd526ba 100644
--- a/src/google/protobuf/compiler/java/java_generator_factory.cc
+++ b/src/google/protobuf/compiler/java/generator_factory.cc
@@ -30,17 +30,17 @@
 
 // Author: liujisi@google.com (Pherl Liu)
 
-#include <google/protobuf/compiler/java/java_generator_factory.h>
+#include <google/protobuf/compiler/java/generator_factory.h>
 
-#include <google/protobuf/compiler/java/java_context.h>
-#include <google/protobuf/compiler/java/java_enum_field.h>
-#include <google/protobuf/compiler/java/java_extension.h>
-#include <google/protobuf/compiler/java/java_extension_lite.h>
-#include <google/protobuf/compiler/java/java_field.h>
-#include <google/protobuf/compiler/java/java_helpers.h>
-#include <google/protobuf/compiler/java/java_message.h>
-#include <google/protobuf/compiler/java/java_message_lite.h>
-#include <google/protobuf/compiler/java/java_service.h>
+#include <google/protobuf/compiler/java/context.h>
+#include <google/protobuf/compiler/java/enum_field.h>
+#include <google/protobuf/compiler/java/extension.h>
+#include <google/protobuf/compiler/java/extension_lite.h>
+#include <google/protobuf/compiler/java/field.h>
+#include <google/protobuf/compiler/java/helpers.h>
+#include <google/protobuf/compiler/java/message.h>
+#include <google/protobuf/compiler/java/message_lite.h>
+#include <google/protobuf/compiler/java/service.h>
 
 namespace google {
 namespace protobuf {
diff --git a/src/google/protobuf/compiler/java/java_generator_factory.h b/src/google/protobuf/compiler/java/generator_factory.h
similarity index 100%
rename from src/google/protobuf/compiler/java/java_generator_factory.h
rename to src/google/protobuf/compiler/java/generator_factory.h
diff --git a/src/google/protobuf/compiler/java/java_helpers.cc b/src/google/protobuf/compiler/java/helpers.cc
similarity index 99%
rename from src/google/protobuf/compiler/java/java_helpers.cc
rename to src/google/protobuf/compiler/java/helpers.cc
index d5433e7..3cbcaca 100644
--- a/src/google/protobuf/compiler/java/java_helpers.cc
+++ b/src/google/protobuf/compiler/java/helpers.cc
@@ -32,7 +32,7 @@
 //  Based on original Protocol Buffers design by
 //  Sanjay Ghemawat, Jeff Dean, and others.
 
-#include <google/protobuf/compiler/java/java_helpers.h>
+#include <google/protobuf/compiler/java/helpers.h>
 
 #include <algorithm>
 #include <cstdint>
@@ -44,8 +44,8 @@
 #include <google/protobuf/stubs/strutil.h>
 #include <google/protobuf/stubs/stringprintf.h>
 #include <google/protobuf/stubs/substitute.h>
-#include <google/protobuf/compiler/java/java_name_resolver.h>
-#include <google/protobuf/compiler/java/java_names.h>
+#include <google/protobuf/compiler/java/name_resolver.h>
+#include <google/protobuf/compiler/java/names.h>
 #include <google/protobuf/descriptor.pb.h>
 #include <google/protobuf/stubs/hash.h>  // for hash<T *>
 
diff --git a/src/google/protobuf/compiler/java/java_helpers.h b/src/google/protobuf/compiler/java/helpers.h
similarity index 99%
rename from src/google/protobuf/compiler/java/java_helpers.h
rename to src/google/protobuf/compiler/java/helpers.h
index dd947bc..9f1a557 100644
--- a/src/google/protobuf/compiler/java/java_helpers.h
+++ b/src/google/protobuf/compiler/java/helpers.h
@@ -40,7 +40,7 @@
 
 #include <google/protobuf/io/printer.h>
 #include <google/protobuf/descriptor.h>
-#include <google/protobuf/compiler/java/java_context.h>
+#include <google/protobuf/compiler/java/context.h>
 #include <google/protobuf/descriptor.pb.h>
 
 namespace google {
diff --git a/src/google/protobuf/compiler/java/java_kotlin_generator.cc b/src/google/protobuf/compiler/java/kotlin_generator.cc
similarity index 95%
rename from src/google/protobuf/compiler/java/java_kotlin_generator.cc
rename to src/google/protobuf/compiler/java/kotlin_generator.cc
index aa54bb2..1af548a 100644
--- a/src/google/protobuf/compiler/java/java_kotlin_generator.cc
+++ b/src/google/protobuf/compiler/java/kotlin_generator.cc
@@ -28,13 +28,13 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-#include <google/protobuf/compiler/java/java_kotlin_generator.h>
+#include <google/protobuf/compiler/java/kotlin_generator.h>
 
 #include <google/protobuf/compiler/code_generator.h>
-#include <google/protobuf/compiler/java/java_file.h>
-#include <google/protobuf/compiler/java/java_generator.h>
-#include <google/protobuf/compiler/java/java_helpers.h>
-#include <google/protobuf/compiler/java/java_options.h>
+#include <google/protobuf/compiler/java/file.h>
+#include <google/protobuf/compiler/java/generator.h>
+#include <google/protobuf/compiler/java/helpers.h>
+#include <google/protobuf/compiler/java/options.h>
 
 namespace google {
 namespace protobuf {
diff --git a/src/google/protobuf/compiler/java/java_kotlin_generator.h b/src/google/protobuf/compiler/java/kotlin_generator.h
similarity index 100%
rename from src/google/protobuf/compiler/java/java_kotlin_generator.h
rename to src/google/protobuf/compiler/java/kotlin_generator.h
diff --git a/src/google/protobuf/compiler/java/java_map_field.cc b/src/google/protobuf/compiler/java/map_field.cc
similarity index 99%
rename from src/google/protobuf/compiler/java/java_map_field.cc
rename to src/google/protobuf/compiler/java/map_field.cc
index 0daab80..1b31916 100644
--- a/src/google/protobuf/compiler/java/java_map_field.cc
+++ b/src/google/protobuf/compiler/java/map_field.cc
@@ -28,13 +28,13 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-#include <google/protobuf/compiler/java/java_map_field.h>
+#include <google/protobuf/compiler/java/map_field.h>
 
 #include <google/protobuf/io/printer.h>
-#include <google/protobuf/compiler/java/java_context.h>
-#include <google/protobuf/compiler/java/java_doc_comment.h>
-#include <google/protobuf/compiler/java/java_helpers.h>
-#include <google/protobuf/compiler/java/java_name_resolver.h>
+#include <google/protobuf/compiler/java/context.h>
+#include <google/protobuf/compiler/java/doc_comment.h>
+#include <google/protobuf/compiler/java/helpers.h>
+#include <google/protobuf/compiler/java/name_resolver.h>
 
 // Must be last.
 #include <google/protobuf/port_def.inc>
diff --git a/src/google/protobuf/compiler/java/java_map_field.h b/src/google/protobuf/compiler/java/map_field.h
similarity index 98%
rename from src/google/protobuf/compiler/java/java_map_field.h
rename to src/google/protobuf/compiler/java/map_field.h
index 98d9249..7fee10a 100644
--- a/src/google/protobuf/compiler/java/java_map_field.h
+++ b/src/google/protobuf/compiler/java/map_field.h
@@ -31,7 +31,7 @@
 #ifndef GOOGLE_PROTOBUF_COMPILER_JAVA_MAP_FIELD_H__
 #define GOOGLE_PROTOBUF_COMPILER_JAVA_MAP_FIELD_H__
 
-#include <google/protobuf/compiler/java/java_field.h>
+#include <google/protobuf/compiler/java/field.h>
 
 namespace google {
 namespace protobuf {
diff --git a/src/google/protobuf/compiler/java/java_map_field_lite.cc b/src/google/protobuf/compiler/java/map_field_lite.cc
similarity index 99%
rename from src/google/protobuf/compiler/java/java_map_field_lite.cc
rename to src/google/protobuf/compiler/java/map_field_lite.cc
index d5d6fb4..ed6f8f3 100644
--- a/src/google/protobuf/compiler/java/java_map_field_lite.cc
+++ b/src/google/protobuf/compiler/java/map_field_lite.cc
@@ -28,15 +28,15 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-#include <google/protobuf/compiler/java/java_map_field_lite.h>
+#include <google/protobuf/compiler/java/map_field_lite.h>
 
 #include <cstdint>
 
 #include <google/protobuf/io/printer.h>
-#include <google/protobuf/compiler/java/java_context.h>
-#include <google/protobuf/compiler/java/java_doc_comment.h>
-#include <google/protobuf/compiler/java/java_helpers.h>
-#include <google/protobuf/compiler/java/java_name_resolver.h>
+#include <google/protobuf/compiler/java/context.h>
+#include <google/protobuf/compiler/java/doc_comment.h>
+#include <google/protobuf/compiler/java/helpers.h>
+#include <google/protobuf/compiler/java/name_resolver.h>
 
 // Must be last.
 #include <google/protobuf/port_def.inc>
diff --git a/src/google/protobuf/compiler/java/java_map_field_lite.h b/src/google/protobuf/compiler/java/map_field_lite.h
similarity index 98%
rename from src/google/protobuf/compiler/java/java_map_field_lite.h
rename to src/google/protobuf/compiler/java/map_field_lite.h
index da046b2..964f098 100644
--- a/src/google/protobuf/compiler/java/java_map_field_lite.h
+++ b/src/google/protobuf/compiler/java/map_field_lite.h
@@ -33,7 +33,7 @@
 
 #include <cstdint>
 
-#include <google/protobuf/compiler/java/java_field.h>
+#include <google/protobuf/compiler/java/field.h>
 
 namespace google {
 namespace protobuf {
diff --git a/src/google/protobuf/compiler/java/java_message.cc b/src/google/protobuf/compiler/java/message.cc
similarity index 98%
rename from src/google/protobuf/compiler/java/java_message.cc
rename to src/google/protobuf/compiler/java/message.cc
index 3149d89..13846ec 100644
--- a/src/google/protobuf/compiler/java/java_message.cc
+++ b/src/google/protobuf/compiler/java/message.cc
@@ -32,7 +32,7 @@
 //  Based on original Protocol Buffers design by
 //  Sanjay Ghemawat, Jeff Dean, and others.
 
-#include <google/protobuf/compiler/java/java_message.h>
+#include <google/protobuf/compiler/java/message.h>
 
 #include <algorithm>
 #include <cstdint>
@@ -45,15 +45,15 @@
 #include <google/protobuf/wire_format.h>
 #include <google/protobuf/stubs/strutil.h>
 #include <google/protobuf/stubs/substitute.h>
-#include <google/protobuf/compiler/java/java_context.h>
-#include <google/protobuf/compiler/java/java_doc_comment.h>
-#include <google/protobuf/compiler/java/java_enum.h>
-#include <google/protobuf/compiler/java/java_extension.h>
-#include <google/protobuf/compiler/java/java_generator_factory.h>
-#include <google/protobuf/compiler/java/java_helpers.h>
-#include <google/protobuf/compiler/java/java_message_builder.h>
-#include <google/protobuf/compiler/java/java_message_builder_lite.h>
-#include <google/protobuf/compiler/java/java_name_resolver.h>
+#include <google/protobuf/compiler/java/context.h>
+#include <google/protobuf/compiler/java/doc_comment.h>
+#include <google/protobuf/compiler/java/enum.h>
+#include <google/protobuf/compiler/java/extension.h>
+#include <google/protobuf/compiler/java/generator_factory.h>
+#include <google/protobuf/compiler/java/helpers.h>
+#include <google/protobuf/compiler/java/message_builder.h>
+#include <google/protobuf/compiler/java/message_builder_lite.h>
+#include <google/protobuf/compiler/java/name_resolver.h>
 #include <google/protobuf/descriptor.pb.h>
 
 // Must be last.
diff --git a/src/google/protobuf/compiler/java/java_message.h b/src/google/protobuf/compiler/java/message.h
similarity index 98%
rename from src/google/protobuf/compiler/java/java_message.h
rename to src/google/protobuf/compiler/java/message.h
index cc24d73..2dbd0dd 100644
--- a/src/google/protobuf/compiler/java/java_message.h
+++ b/src/google/protobuf/compiler/java/message.h
@@ -38,7 +38,7 @@
 #include <map>
 #include <string>
 
-#include <google/protobuf/compiler/java/java_field.h>
+#include <google/protobuf/compiler/java/field.h>
 
 namespace google {
 namespace protobuf {
diff --git a/src/google/protobuf/compiler/java/java_message_builder.cc b/src/google/protobuf/compiler/java/message_builder.cc
similarity index 98%
rename from src/google/protobuf/compiler/java/java_message_builder.cc
rename to src/google/protobuf/compiler/java/message_builder.cc
index 7ed7850..2366c0c 100644
--- a/src/google/protobuf/compiler/java/java_message_builder.cc
+++ b/src/google/protobuf/compiler/java/message_builder.cc
@@ -32,7 +32,7 @@
 //  Based on original Protocol Buffers design by
 //  Sanjay Ghemawat, Jeff Dean, and others.
 
-#include <google/protobuf/compiler/java/java_message_builder.h>
+#include <google/protobuf/compiler/java/message_builder.h>
 
 #include <algorithm>
 #include <map>
@@ -44,13 +44,13 @@
 #include <google/protobuf/wire_format.h>
 #include <google/protobuf/stubs/strutil.h>
 #include <google/protobuf/stubs/substitute.h>
-#include <google/protobuf/compiler/java/java_context.h>
-#include <google/protobuf/compiler/java/java_doc_comment.h>
-#include <google/protobuf/compiler/java/java_enum.h>
-#include <google/protobuf/compiler/java/java_extension.h>
-#include <google/protobuf/compiler/java/java_generator_factory.h>
-#include <google/protobuf/compiler/java/java_helpers.h>
-#include <google/protobuf/compiler/java/java_name_resolver.h>
+#include <google/protobuf/compiler/java/context.h>
+#include <google/protobuf/compiler/java/doc_comment.h>
+#include <google/protobuf/compiler/java/enum.h>
+#include <google/protobuf/compiler/java/extension.h>
+#include <google/protobuf/compiler/java/generator_factory.h>
+#include <google/protobuf/compiler/java/helpers.h>
+#include <google/protobuf/compiler/java/name_resolver.h>
 #include <google/protobuf/descriptor.pb.h>
 
 // Must be last.
diff --git a/src/google/protobuf/compiler/java/java_message_builder.h b/src/google/protobuf/compiler/java/message_builder.h
similarity index 98%
rename from src/google/protobuf/compiler/java/java_message_builder.h
rename to src/google/protobuf/compiler/java/message_builder.h
index 619bf9e..f9c9a00 100644
--- a/src/google/protobuf/compiler/java/java_message_builder.h
+++ b/src/google/protobuf/compiler/java/message_builder.h
@@ -38,7 +38,7 @@
 #include <map>
 #include <string>
 
-#include <google/protobuf/compiler/java/java_field.h>
+#include <google/protobuf/compiler/java/field.h>
 
 namespace google {
 namespace protobuf {
diff --git a/src/google/protobuf/compiler/java/java_message_builder_lite.cc b/src/google/protobuf/compiler/java/message_builder_lite.cc
similarity index 92%
rename from src/google/protobuf/compiler/java/java_message_builder_lite.cc
rename to src/google/protobuf/compiler/java/message_builder_lite.cc
index 4fcfca9..526f949 100644
--- a/src/google/protobuf/compiler/java/java_message_builder_lite.cc
+++ b/src/google/protobuf/compiler/java/message_builder_lite.cc
@@ -32,7 +32,7 @@
 //  Based on original Protocol Buffers design by
 //  Sanjay Ghemawat, Jeff Dean, and others.
 
-#include <google/protobuf/compiler/java/java_message_builder_lite.h>
+#include <google/protobuf/compiler/java/message_builder_lite.h>
 
 #include <algorithm>
 #include <map>
@@ -44,13 +44,13 @@
 #include <google/protobuf/wire_format.h>
 #include <google/protobuf/stubs/strutil.h>
 #include <google/protobuf/stubs/substitute.h>
-#include <google/protobuf/compiler/java/java_context.h>
-#include <google/protobuf/compiler/java/java_doc_comment.h>
-#include <google/protobuf/compiler/java/java_enum.h>
-#include <google/protobuf/compiler/java/java_extension.h>
-#include <google/protobuf/compiler/java/java_generator_factory.h>
-#include <google/protobuf/compiler/java/java_helpers.h>
-#include <google/protobuf/compiler/java/java_name_resolver.h>
+#include <google/protobuf/compiler/java/context.h>
+#include <google/protobuf/compiler/java/doc_comment.h>
+#include <google/protobuf/compiler/java/enum.h>
+#include <google/protobuf/compiler/java/extension.h>
+#include <google/protobuf/compiler/java/generator_factory.h>
+#include <google/protobuf/compiler/java/helpers.h>
+#include <google/protobuf/compiler/java/name_resolver.h>
 #include <google/protobuf/descriptor.pb.h>
 
 // Must be last.
diff --git a/src/google/protobuf/compiler/java/java_message_builder_lite.h b/src/google/protobuf/compiler/java/message_builder_lite.h
similarity index 98%
rename from src/google/protobuf/compiler/java/java_message_builder_lite.h
rename to src/google/protobuf/compiler/java/message_builder_lite.h
index 03ecbf8..0d895fc 100644
--- a/src/google/protobuf/compiler/java/java_message_builder_lite.h
+++ b/src/google/protobuf/compiler/java/message_builder_lite.h
@@ -38,7 +38,7 @@
 #include <map>
 #include <string>
 
-#include <google/protobuf/compiler/java/java_field.h>
+#include <google/protobuf/compiler/java/field.h>
 
 namespace google {
 namespace protobuf {
diff --git a/src/google/protobuf/compiler/java/java_message_field.cc b/src/google/protobuf/compiler/java/message_field.cc
similarity index 99%
rename from src/google/protobuf/compiler/java/java_message_field.cc
rename to src/google/protobuf/compiler/java/message_field.cc
index b7e82fc..75e59e5 100644
--- a/src/google/protobuf/compiler/java/java_message_field.cc
+++ b/src/google/protobuf/compiler/java/message_field.cc
@@ -32,7 +32,7 @@
 //  Based on original Protocol Buffers design by
 //  Sanjay Ghemawat, Jeff Dean, and others.
 
-#include <google/protobuf/compiler/java/java_message_field.h>
+#include <google/protobuf/compiler/java/message_field.h>
 
 #include <map>
 #include <string>
@@ -40,10 +40,10 @@
 #include <google/protobuf/io/printer.h>
 #include <google/protobuf/wire_format.h>
 #include <google/protobuf/stubs/strutil.h>
-#include <google/protobuf/compiler/java/java_context.h>
-#include <google/protobuf/compiler/java/java_doc_comment.h>
-#include <google/protobuf/compiler/java/java_helpers.h>
-#include <google/protobuf/compiler/java/java_name_resolver.h>
+#include <google/protobuf/compiler/java/context.h>
+#include <google/protobuf/compiler/java/doc_comment.h>
+#include <google/protobuf/compiler/java/helpers.h>
+#include <google/protobuf/compiler/java/name_resolver.h>
 
 // Must be last.
 #include <google/protobuf/port_def.inc>
diff --git a/src/google/protobuf/compiler/java/java_message_field.h b/src/google/protobuf/compiler/java/message_field.h
similarity index 99%
rename from src/google/protobuf/compiler/java/java_message_field.h
rename to src/google/protobuf/compiler/java/message_field.h
index be1fb20..32dd4f0 100644
--- a/src/google/protobuf/compiler/java/java_message_field.h
+++ b/src/google/protobuf/compiler/java/message_field.h
@@ -38,7 +38,7 @@
 #include <map>
 #include <string>
 
-#include <google/protobuf/compiler/java/java_field.h>
+#include <google/protobuf/compiler/java/field.h>
 
 namespace google {
 namespace protobuf {
diff --git a/src/google/protobuf/compiler/java/java_message_field_lite.cc b/src/google/protobuf/compiler/java/message_field_lite.cc
similarity index 99%
rename from src/google/protobuf/compiler/java/java_message_field_lite.cc
rename to src/google/protobuf/compiler/java/message_field_lite.cc
index fbae6fe..da96790 100644
--- a/src/google/protobuf/compiler/java/java_message_field_lite.cc
+++ b/src/google/protobuf/compiler/java/message_field_lite.cc
@@ -32,7 +32,7 @@
 //  Based on original Protocol Buffers design by
 //  Sanjay Ghemawat, Jeff Dean, and others.
 
-#include <google/protobuf/compiler/java/java_message_field_lite.h>
+#include <google/protobuf/compiler/java/message_field_lite.h>
 
 #include <cstdint>
 #include <map>
@@ -41,10 +41,10 @@
 #include <google/protobuf/io/printer.h>
 #include <google/protobuf/wire_format.h>
 #include <google/protobuf/stubs/strutil.h>
-#include <google/protobuf/compiler/java/java_context.h>
-#include <google/protobuf/compiler/java/java_doc_comment.h>
-#include <google/protobuf/compiler/java/java_helpers.h>
-#include <google/protobuf/compiler/java/java_name_resolver.h>
+#include <google/protobuf/compiler/java/context.h>
+#include <google/protobuf/compiler/java/doc_comment.h>
+#include <google/protobuf/compiler/java/helpers.h>
+#include <google/protobuf/compiler/java/name_resolver.h>
 
 // Must be last.
 #include <google/protobuf/port_def.inc>
diff --git a/src/google/protobuf/compiler/java/java_message_field_lite.h b/src/google/protobuf/compiler/java/message_field_lite.h
similarity index 98%
rename from src/google/protobuf/compiler/java/java_message_field_lite.h
rename to src/google/protobuf/compiler/java/message_field_lite.h
index 313a409..4253acc 100644
--- a/src/google/protobuf/compiler/java/java_message_field_lite.h
+++ b/src/google/protobuf/compiler/java/message_field_lite.h
@@ -39,7 +39,7 @@
 #include <map>
 #include <string>
 
-#include <google/protobuf/compiler/java/java_field.h>
+#include <google/protobuf/compiler/java/field.h>
 
 namespace google {
 namespace protobuf {
diff --git a/src/google/protobuf/compiler/java/java_message_lite.cc b/src/google/protobuf/compiler/java/message_lite.cc
similarity index 98%
rename from src/google/protobuf/compiler/java/java_message_lite.cc
rename to src/google/protobuf/compiler/java/message_lite.cc
index fedf14e..dfc7d28 100644
--- a/src/google/protobuf/compiler/java/java_message_lite.cc
+++ b/src/google/protobuf/compiler/java/message_lite.cc
@@ -32,7 +32,7 @@
 //  Based on original Protocol Buffers design by
 //  Sanjay Ghemawat, Jeff Dean, and others.
 
-#include <google/protobuf/compiler/java/java_message_lite.h>
+#include <google/protobuf/compiler/java/message_lite.h>
 
 #include <algorithm>
 #include <cstdint>
@@ -45,15 +45,15 @@
 #include <google/protobuf/wire_format.h>
 #include <google/protobuf/stubs/strutil.h>
 #include <google/protobuf/stubs/substitute.h>
-#include <google/protobuf/compiler/java/java_context.h>
-#include <google/protobuf/compiler/java/java_doc_comment.h>
-#include <google/protobuf/compiler/java/java_enum_lite.h>
-#include <google/protobuf/compiler/java/java_extension_lite.h>
-#include <google/protobuf/compiler/java/java_generator_factory.h>
-#include <google/protobuf/compiler/java/java_helpers.h>
-#include <google/protobuf/compiler/java/java_message_builder.h>
-#include <google/protobuf/compiler/java/java_message_builder_lite.h>
-#include <google/protobuf/compiler/java/java_name_resolver.h>
+#include <google/protobuf/compiler/java/context.h>
+#include <google/protobuf/compiler/java/doc_comment.h>
+#include <google/protobuf/compiler/java/enum_lite.h>
+#include <google/protobuf/compiler/java/extension_lite.h>
+#include <google/protobuf/compiler/java/generator_factory.h>
+#include <google/protobuf/compiler/java/helpers.h>
+#include <google/protobuf/compiler/java/message_builder.h>
+#include <google/protobuf/compiler/java/message_builder_lite.h>
+#include <google/protobuf/compiler/java/name_resolver.h>
 #include <google/protobuf/descriptor.pb.h>
 
 // Must be last.
diff --git a/src/google/protobuf/compiler/java/java_message_lite.h b/src/google/protobuf/compiler/java/message_lite.h
similarity index 96%
rename from src/google/protobuf/compiler/java/java_message_lite.h
rename to src/google/protobuf/compiler/java/message_lite.h
index c0afbc9..3999132 100644
--- a/src/google/protobuf/compiler/java/java_message_lite.h
+++ b/src/google/protobuf/compiler/java/message_lite.h
@@ -38,8 +38,8 @@
 #include <map>
 #include <string>
 
-#include <google/protobuf/compiler/java/java_field.h>
-#include <google/protobuf/compiler/java/java_message.h>
+#include <google/protobuf/compiler/java/field.h>
+#include <google/protobuf/compiler/java/message.h>
 
 namespace google {
 namespace protobuf {
diff --git a/src/google/protobuf/compiler/java/java_name_resolver.cc b/src/google/protobuf/compiler/java/name_resolver.cc
similarity index 98%
rename from src/google/protobuf/compiler/java/java_name_resolver.cc
rename to src/google/protobuf/compiler/java/name_resolver.cc
index f088d6c..06a637e 100644
--- a/src/google/protobuf/compiler/java/java_name_resolver.cc
+++ b/src/google/protobuf/compiler/java/name_resolver.cc
@@ -28,15 +28,15 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-#include <google/protobuf/compiler/java/java_name_resolver.h>
+#include <google/protobuf/compiler/java/name_resolver.h>
 
 #include <map>
 #include <string>
 
 #include <google/protobuf/compiler/code_generator.h>
 #include <google/protobuf/stubs/substitute.h>
-#include <google/protobuf/compiler/java/java_helpers.h>
-#include <google/protobuf/compiler/java/java_names.h>
+#include <google/protobuf/compiler/java/helpers.h>
+#include <google/protobuf/compiler/java/names.h>
 
 // Must be last.
 #include <google/protobuf/port_def.inc>
diff --git a/src/google/protobuf/compiler/java/java_name_resolver.h b/src/google/protobuf/compiler/java/name_resolver.h
similarity index 100%
rename from src/google/protobuf/compiler/java/java_name_resolver.h
rename to src/google/protobuf/compiler/java/name_resolver.h
diff --git a/src/google/protobuf/compiler/java/java_names.h b/src/google/protobuf/compiler/java/names.h
similarity index 100%
rename from src/google/protobuf/compiler/java/java_names.h
rename to src/google/protobuf/compiler/java/names.h
diff --git a/src/google/protobuf/compiler/java/java_options.h b/src/google/protobuf/compiler/java/options.h
similarity index 100%
rename from src/google/protobuf/compiler/java/java_options.h
rename to src/google/protobuf/compiler/java/options.h
diff --git a/src/google/protobuf/compiler/java/java_plugin_unittest.cc b/src/google/protobuf/compiler/java/plugin_unittest.cc
similarity index 98%
rename from src/google/protobuf/compiler/java/java_plugin_unittest.cc
rename to src/google/protobuf/compiler/java/plugin_unittest.cc
index f7f3cf9..8135f86 100644
--- a/src/google/protobuf/compiler/java/java_plugin_unittest.cc
+++ b/src/google/protobuf/compiler/java/plugin_unittest.cc
@@ -35,7 +35,7 @@
 
 #include <google/protobuf/testing/file.h>
 #include <google/protobuf/testing/file.h>
-#include <google/protobuf/compiler/java/java_generator.h>
+#include <google/protobuf/compiler/java/generator.h>
 #include <google/protobuf/compiler/command_line_interface.h>
 #include <google/protobuf/io/printer.h>
 #include <google/protobuf/io/zero_copy_stream.h>
diff --git a/src/google/protobuf/compiler/java/java_primitive_field.cc b/src/google/protobuf/compiler/java/primitive_field.cc
similarity index 99%
rename from src/google/protobuf/compiler/java/java_primitive_field.cc
rename to src/google/protobuf/compiler/java/primitive_field.cc
index 3a338ee..40b4190 100644
--- a/src/google/protobuf/compiler/java/java_primitive_field.cc
+++ b/src/google/protobuf/compiler/java/primitive_field.cc
@@ -32,7 +32,7 @@
 //  Based on original Protocol Buffers design by
 //  Sanjay Ghemawat, Jeff Dean, and others.
 
-#include <google/protobuf/compiler/java/java_primitive_field.h>
+#include <google/protobuf/compiler/java/primitive_field.h>
 
 #include <cstdint>
 #include <map>
@@ -43,10 +43,10 @@
 #include <google/protobuf/io/printer.h>
 #include <google/protobuf/wire_format.h>
 #include <google/protobuf/stubs/strutil.h>
-#include <google/protobuf/compiler/java/java_context.h>
-#include <google/protobuf/compiler/java/java_doc_comment.h>
-#include <google/protobuf/compiler/java/java_helpers.h>
-#include <google/protobuf/compiler/java/java_name_resolver.h>
+#include <google/protobuf/compiler/java/context.h>
+#include <google/protobuf/compiler/java/doc_comment.h>
+#include <google/protobuf/compiler/java/helpers.h>
+#include <google/protobuf/compiler/java/name_resolver.h>
 
 namespace google {
 namespace protobuf {
diff --git a/src/google/protobuf/compiler/java/java_primitive_field.h b/src/google/protobuf/compiler/java/primitive_field.h
similarity index 99%
rename from src/google/protobuf/compiler/java/java_primitive_field.h
rename to src/google/protobuf/compiler/java/primitive_field.h
index 2eb1b23..f8ffc56 100644
--- a/src/google/protobuf/compiler/java/java_primitive_field.h
+++ b/src/google/protobuf/compiler/java/primitive_field.h
@@ -38,7 +38,7 @@
 #include <map>
 #include <string>
 
-#include <google/protobuf/compiler/java/java_field.h>
+#include <google/protobuf/compiler/java/field.h>
 
 namespace google {
 namespace protobuf {
diff --git a/src/google/protobuf/compiler/java/java_primitive_field_lite.cc b/src/google/protobuf/compiler/java/primitive_field_lite.cc
similarity index 98%
rename from src/google/protobuf/compiler/java/java_primitive_field_lite.cc
rename to src/google/protobuf/compiler/java/primitive_field_lite.cc
index 2da5f0d..28c23d5 100644
--- a/src/google/protobuf/compiler/java/java_primitive_field_lite.cc
+++ b/src/google/protobuf/compiler/java/primitive_field_lite.cc
@@ -32,7 +32,7 @@
 //  Based on original Protocol Buffers design by
 //  Sanjay Ghemawat, Jeff Dean, and others.
 
-#include <google/protobuf/compiler/java/java_primitive_field_lite.h>
+#include <google/protobuf/compiler/java/primitive_field_lite.h>
 
 #include <cstdint>
 #include <map>
@@ -43,10 +43,10 @@
 #include <google/protobuf/io/printer.h>
 #include <google/protobuf/wire_format.h>
 #include <google/protobuf/stubs/strutil.h>
-#include <google/protobuf/compiler/java/java_context.h>
-#include <google/protobuf/compiler/java/java_doc_comment.h>
-#include <google/protobuf/compiler/java/java_helpers.h>
-#include <google/protobuf/compiler/java/java_name_resolver.h>
+#include <google/protobuf/compiler/java/context.h>
+#include <google/protobuf/compiler/java/doc_comment.h>
+#include <google/protobuf/compiler/java/helpers.h>
+#include <google/protobuf/compiler/java/name_resolver.h>
 
 namespace google {
 namespace protobuf {
diff --git a/src/google/protobuf/compiler/java/java_primitive_field_lite.h b/src/google/protobuf/compiler/java/primitive_field_lite.h
similarity index 98%
rename from src/google/protobuf/compiler/java/java_primitive_field_lite.h
rename to src/google/protobuf/compiler/java/primitive_field_lite.h
index d277436..2da0cd8 100644
--- a/src/google/protobuf/compiler/java/java_primitive_field_lite.h
+++ b/src/google/protobuf/compiler/java/primitive_field_lite.h
@@ -39,7 +39,7 @@
 #include <map>
 #include <string>
 
-#include <google/protobuf/compiler/java/java_field.h>
+#include <google/protobuf/compiler/java/field.h>
 
 namespace google {
 namespace protobuf {
diff --git a/src/google/protobuf/compiler/java/java_service.cc b/src/google/protobuf/compiler/java/service.cc
similarity index 98%
rename from src/google/protobuf/compiler/java/java_service.cc
rename to src/google/protobuf/compiler/java/service.cc
index f8cdfeb..9e20620 100644
--- a/src/google/protobuf/compiler/java/java_service.cc
+++ b/src/google/protobuf/compiler/java/service.cc
@@ -32,14 +32,14 @@
 //  Based on original Protocol Buffers design by
 //  Sanjay Ghemawat, Jeff Dean, and others.
 
-#include <google/protobuf/compiler/java/java_service.h>
+#include <google/protobuf/compiler/java/service.h>
 
 #include <google/protobuf/io/printer.h>
 #include <google/protobuf/stubs/strutil.h>
-#include <google/protobuf/compiler/java/java_context.h>
-#include <google/protobuf/compiler/java/java_doc_comment.h>
-#include <google/protobuf/compiler/java/java_helpers.h>
-#include <google/protobuf/compiler/java/java_name_resolver.h>
+#include <google/protobuf/compiler/java/context.h>
+#include <google/protobuf/compiler/java/doc_comment.h>
+#include <google/protobuf/compiler/java/helpers.h>
+#include <google/protobuf/compiler/java/name_resolver.h>
 
 // Must be last.
 #include <google/protobuf/port_def.inc>
diff --git a/src/google/protobuf/compiler/java/java_service.h b/src/google/protobuf/compiler/java/service.h
similarity index 100%
rename from src/google/protobuf/compiler/java/java_service.h
rename to src/google/protobuf/compiler/java/service.h
diff --git a/src/google/protobuf/compiler/java/java_shared_code_generator.cc b/src/google/protobuf/compiler/java/shared_code_generator.cc
similarity index 96%
rename from src/google/protobuf/compiler/java/java_shared_code_generator.cc
rename to src/google/protobuf/compiler/java/shared_code_generator.cc
index e527234..39b96ee 100644
--- a/src/google/protobuf/compiler/java/java_shared_code_generator.cc
+++ b/src/google/protobuf/compiler/java/shared_code_generator.cc
@@ -30,7 +30,7 @@
 
 // Author: xiaofeng@google.com (Feng Xiao)
 
-#include <google/protobuf/compiler/java/java_shared_code_generator.h>
+#include <google/protobuf/compiler/java/shared_code_generator.h>
 
 #include <memory>
 
@@ -39,9 +39,9 @@
 #include <google/protobuf/io/zero_copy_stream.h>
 #include <google/protobuf/descriptor.h>
 #include <google/protobuf/stubs/strutil.h>
-#include <google/protobuf/compiler/java/java_helpers.h>
-#include <google/protobuf/compiler/java/java_name_resolver.h>
-#include <google/protobuf/compiler/java/java_names.h>
+#include <google/protobuf/compiler/java/helpers.h>
+#include <google/protobuf/compiler/java/name_resolver.h>
+#include <google/protobuf/compiler/java/names.h>
 #include <google/protobuf/descriptor.pb.h>
 
 namespace google {
diff --git a/src/google/protobuf/compiler/java/java_shared_code_generator.h b/src/google/protobuf/compiler/java/shared_code_generator.h
similarity index 98%
rename from src/google/protobuf/compiler/java/java_shared_code_generator.h
rename to src/google/protobuf/compiler/java/shared_code_generator.h
index 7c79abe..b1f6eb3 100644
--- a/src/google/protobuf/compiler/java/java_shared_code_generator.h
+++ b/src/google/protobuf/compiler/java/shared_code_generator.h
@@ -40,7 +40,7 @@
 #include <vector>
 
 #include <google/protobuf/stubs/common.h>
-#include <google/protobuf/compiler/java/java_options.h>
+#include <google/protobuf/compiler/java/options.h>
 
 namespace google {
 namespace protobuf {
diff --git a/src/google/protobuf/compiler/java/java_string_field.cc b/src/google/protobuf/compiler/java/string_field.cc
similarity index 99%
rename from src/google/protobuf/compiler/java/java_string_field.cc
rename to src/google/protobuf/compiler/java/string_field.cc
index 409d528..7230e20 100644
--- a/src/google/protobuf/compiler/java/java_string_field.cc
+++ b/src/google/protobuf/compiler/java/string_field.cc
@@ -33,7 +33,7 @@
 //  Based on original Protocol Buffers design by
 //  Sanjay Ghemawat, Jeff Dean, and others.
 
-#include <google/protobuf/compiler/java/java_string_field.h>
+#include <google/protobuf/compiler/java/string_field.h>
 
 #include <cstdint>
 #include <map>
@@ -44,10 +44,10 @@
 #include <google/protobuf/io/printer.h>
 #include <google/protobuf/wire_format.h>
 #include <google/protobuf/stubs/strutil.h>
-#include <google/protobuf/compiler/java/java_context.h>
-#include <google/protobuf/compiler/java/java_doc_comment.h>
-#include <google/protobuf/compiler/java/java_helpers.h>
-#include <google/protobuf/compiler/java/java_name_resolver.h>
+#include <google/protobuf/compiler/java/context.h>
+#include <google/protobuf/compiler/java/doc_comment.h>
+#include <google/protobuf/compiler/java/helpers.h>
+#include <google/protobuf/compiler/java/name_resolver.h>
 
 namespace google {
 namespace protobuf {
diff --git a/src/google/protobuf/compiler/java/java_string_field.h b/src/google/protobuf/compiler/java/string_field.h
similarity index 99%
rename from src/google/protobuf/compiler/java/java_string_field.h
rename to src/google/protobuf/compiler/java/string_field.h
index 3112887..b38d8e1 100644
--- a/src/google/protobuf/compiler/java/java_string_field.h
+++ b/src/google/protobuf/compiler/java/string_field.h
@@ -39,7 +39,7 @@
 #include <map>
 #include <string>
 
-#include <google/protobuf/compiler/java/java_field.h>
+#include <google/protobuf/compiler/java/field.h>
 
 namespace google {
 namespace protobuf {
diff --git a/src/google/protobuf/compiler/java/java_string_field_lite.cc b/src/google/protobuf/compiler/java/string_field_lite.cc
similarity index 99%
rename from src/google/protobuf/compiler/java/java_string_field_lite.cc
rename to src/google/protobuf/compiler/java/string_field_lite.cc
index d010634..4c92706 100644
--- a/src/google/protobuf/compiler/java/java_string_field_lite.cc
+++ b/src/google/protobuf/compiler/java/string_field_lite.cc
@@ -33,7 +33,7 @@
 //  Based on original Protocol Buffers design by
 //  Sanjay Ghemawat, Jeff Dean, and others.
 
-#include <google/protobuf/compiler/java/java_string_field_lite.h>
+#include <google/protobuf/compiler/java/string_field_lite.h>
 
 #include <cstdint>
 #include <map>
@@ -44,10 +44,10 @@
 #include <google/protobuf/io/printer.h>
 #include <google/protobuf/wire_format.h>
 #include <google/protobuf/stubs/strutil.h>
-#include <google/protobuf/compiler/java/java_context.h>
-#include <google/protobuf/compiler/java/java_doc_comment.h>
-#include <google/protobuf/compiler/java/java_helpers.h>
-#include <google/protobuf/compiler/java/java_name_resolver.h>
+#include <google/protobuf/compiler/java/context.h>
+#include <google/protobuf/compiler/java/doc_comment.h>
+#include <google/protobuf/compiler/java/helpers.h>
+#include <google/protobuf/compiler/java/name_resolver.h>
 
 namespace google {
 namespace protobuf {
diff --git a/src/google/protobuf/compiler/java/java_string_field_lite.h b/src/google/protobuf/compiler/java/string_field_lite.h
similarity index 98%
rename from src/google/protobuf/compiler/java/java_string_field_lite.h
rename to src/google/protobuf/compiler/java/string_field_lite.h
index 85ec602..b6ad1ea 100644
--- a/src/google/protobuf/compiler/java/java_string_field_lite.h
+++ b/src/google/protobuf/compiler/java/string_field_lite.h
@@ -40,7 +40,7 @@
 #include <map>
 #include <string>
 
-#include <google/protobuf/compiler/java/java_field.h>
+#include <google/protobuf/compiler/java/field.h>
 
 namespace google {
 namespace protobuf {
diff --git a/src/google/protobuf/compiler/main.cc b/src/google/protobuf/compiler/main.cc
index 0374d44..dacab7c 100644
--- a/src/google/protobuf/compiler/main.cc
+++ b/src/google/protobuf/compiler/main.cc
@@ -28,16 +28,16 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-#include <google/protobuf/compiler/cpp/cpp_generator.h>
-#include <google/protobuf/compiler/java/java_generator.h>
-#include <google/protobuf/compiler/java/java_kotlin_generator.h>
+#include <google/protobuf/compiler/cpp/generator.h>
+#include <google/protobuf/compiler/java/generator.h>
+#include <google/protobuf/compiler/java/kotlin_generator.h>
 #include <google/protobuf/compiler/js/js_generator.h>
 #include <google/protobuf/compiler/command_line_interface.h>
 #include <google/protobuf/compiler/csharp/csharp_generator.h>
 #include <google/protobuf/compiler/objectivec/objectivec_generator.h>
 #include <google/protobuf/compiler/php/php_generator.h>
-#include <google/protobuf/compiler/python/python_generator.h>
-#include <google/protobuf/compiler/python/python_pyi_generator.h>
+#include <google/protobuf/compiler/python/generator.h>
+#include <google/protobuf/compiler/python/pyi_generator.h>
 #include <google/protobuf/compiler/ruby/ruby_generator.h>
 
 // Must be included last.
diff --git a/src/google/protobuf/compiler/python/python_generator.cc b/src/google/protobuf/compiler/python/generator.cc
similarity index 99%
rename from src/google/protobuf/compiler/python/python_generator.cc
rename to src/google/protobuf/compiler/python/generator.cc
index 342ed80..8039474 100644
--- a/src/google/protobuf/compiler/python/python_generator.cc
+++ b/src/google/protobuf/compiler/python/generator.cc
@@ -42,7 +42,7 @@
 // performance-minded Python code leverage the fast C++ implementation
 // directly.
 
-#include <google/protobuf/compiler/python/python_generator.h>
+#include <google/protobuf/compiler/python/generator.h>
 
 #include <algorithm>
 #include <limits>
@@ -57,8 +57,8 @@
 #include <google/protobuf/stubs/strutil.h>
 #include <google/protobuf/stubs/stringprintf.h>
 #include <google/protobuf/stubs/substitute.h>
-#include <google/protobuf/compiler/python/python_helpers.h>
-#include <google/protobuf/compiler/python/python_pyi_generator.h>
+#include <google/protobuf/compiler/python/helpers.h>
+#include <google/protobuf/compiler/python/pyi_generator.h>
 #include <google/protobuf/descriptor.h>
 #include <google/protobuf/descriptor.pb.h>
 #include <google/protobuf/io/printer.h>
diff --git a/src/google/protobuf/compiler/python/python_generator.h b/src/google/protobuf/compiler/python/generator.h
similarity index 100%
rename from src/google/protobuf/compiler/python/python_generator.h
rename to src/google/protobuf/compiler/python/generator.h
diff --git a/src/google/protobuf/compiler/python/python_helpers.cc b/src/google/protobuf/compiler/python/helpers.cc
similarity index 98%
rename from src/google/protobuf/compiler/python/python_helpers.cc
rename to src/google/protobuf/compiler/python/helpers.cc
index a836eea..e4d3c13 100644
--- a/src/google/protobuf/compiler/python/python_helpers.cc
+++ b/src/google/protobuf/compiler/python/helpers.cc
@@ -28,7 +28,7 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-#include <google/protobuf/compiler/python/python_helpers.h>
+#include <google/protobuf/compiler/python/helpers.h>
 
 #include <algorithm>
 
diff --git a/src/google/protobuf/compiler/python/python_helpers.h b/src/google/protobuf/compiler/python/helpers.h
similarity index 100%
rename from src/google/protobuf/compiler/python/python_helpers.h
rename to src/google/protobuf/compiler/python/helpers.h
diff --git a/src/google/protobuf/compiler/python/python_plugin_unittest.cc b/src/google/protobuf/compiler/python/plugin_unittest.cc
similarity index 98%
rename from src/google/protobuf/compiler/python/python_plugin_unittest.cc
rename to src/google/protobuf/compiler/python/plugin_unittest.cc
index 11e7721..7f9589b 100644
--- a/src/google/protobuf/compiler/python/python_plugin_unittest.cc
+++ b/src/google/protobuf/compiler/python/plugin_unittest.cc
@@ -36,7 +36,7 @@
 #include <google/protobuf/testing/file.h>
 #include <google/protobuf/testing/file.h>
 #include <google/protobuf/compiler/command_line_interface.h>
-#include <google/protobuf/compiler/python/python_generator.h>
+#include <google/protobuf/compiler/python/generator.h>
 #include <google/protobuf/io/printer.h>
 #include <google/protobuf/io/zero_copy_stream.h>
 #include <google/protobuf/stubs/strutil.h>
diff --git a/src/google/protobuf/compiler/python/python_pyi_generator.cc b/src/google/protobuf/compiler/python/pyi_generator.cc
similarity index 99%
rename from src/google/protobuf/compiler/python/python_pyi_generator.cc
rename to src/google/protobuf/compiler/python/pyi_generator.cc
index 4efbff5..e356bb5 100644
--- a/src/google/protobuf/compiler/python/python_pyi_generator.cc
+++ b/src/google/protobuf/compiler/python/pyi_generator.cc
@@ -28,12 +28,12 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-#include <google/protobuf/compiler/python/python_pyi_generator.h>
+#include <google/protobuf/compiler/python/pyi_generator.h>
 
 #include <string>
 
 #include <google/protobuf/stubs/strutil.h>
-#include <google/protobuf/compiler/python/python_helpers.h>
+#include <google/protobuf/compiler/python/helpers.h>
 #include <google/protobuf/descriptor.h>
 #include <google/protobuf/descriptor.pb.h>
 #include <google/protobuf/io/printer.h>
diff --git a/src/google/protobuf/compiler/python/python_pyi_generator.h b/src/google/protobuf/compiler/python/pyi_generator.h
similarity index 100%
rename from src/google/protobuf/compiler/python/python_pyi_generator.h
rename to src/google/protobuf/compiler/python/pyi_generator.h
diff --git a/src/google/protobuf/message_lite.h b/src/google/protobuf/message_lite.h
index 67abf21..950ae1a 100644
--- a/src/google/protobuf/message_lite.h
+++ b/src/google/protobuf/message_lite.h
@@ -187,10 +187,9 @@
   Arena* GetArena() const { return _internal_metadata_.user_arena(); }
 
   // Clear all fields of the message and set them to their default values.
-  // Clear() avoids freeing memory, assuming that any memory allocated
-  // to hold parts of the message will be needed again to hold the next
-  // message.  If you actually want to free the memory used by a Message,
-  // you must delete it.
+  // Clear() assumes that any memory allocated to hold parts of the message
+  // will likely be needed again, so the memory used may not be freed.
+  // To ensure that all memory used by a Message is freed, you must delete it.
   virtual void Clear() = 0;
 
   // Quickly check if all required fields have values set.
diff --git a/src/google/protobuf/text_format.cc b/src/google/protobuf/text_format.cc
index 04eee73..454fd63 100644
--- a/src/google/protobuf/text_format.cc
+++ b/src/google/protobuf/text_format.cc
@@ -42,6 +42,7 @@
 #include <climits>
 #include <cmath>
 #include <limits>
+#include <utility>
 #include <vector>
 
 #include <google/protobuf/io/coded_stream.h>
@@ -455,8 +456,9 @@
         }
       }
       reflection->SetString(message, any_type_url_field,
-                            prefix_and_full_type_name);
-      reflection->SetString(message, any_value_field, serialized_value);
+                            std::move(prefix_and_full_type_name));
+      reflection->SetString(message, any_value_field,
+                            std::move(serialized_value));
       return true;
     }
     if (TryConsume("[")) {
diff --git a/src/google/protobuf/wire_format_unittest.inc b/src/google/protobuf/wire_format_unittest.inc
index 4b7862c..54cd87a 100644
--- a/src/google/protobuf/wire_format_unittest.inc
+++ b/src/google/protobuf/wire_format_unittest.inc
@@ -32,8 +32,6 @@
 //  Based on original Protocol Buffers design by
 //  Sanjay Ghemawat, Jeff Dean, and others.
 
-#include <google/protobuf/wire_format.h>
-
 #include <google/protobuf/stubs/logging.h>
 #include <google/protobuf/stubs/common.h>
 #include <google/protobuf/test_util2.h>
@@ -41,13 +39,15 @@
 #include <google/protobuf/io/zero_copy_stream_impl.h>
 #include <google/protobuf/io/zero_copy_stream_impl_lite.h>
 #include <google/protobuf/descriptor.h>
+#include <google/protobuf/wire_format.h>
 #include <google/protobuf/wire_format_lite.h>
-#include <google/protobuf/testing/googletest.h>
-#include <google/protobuf/stubs/logging.h>
 #include <gmock/gmock.h>
+#include <google/protobuf/testing/googletest.h>
 #include <gtest/gtest.h>
 #include <google/protobuf/stubs/casts.h>
+#include <google/protobuf/stubs/logging.h>
 #include <google/protobuf/stubs/strutil.h>
+#include <google/protobuf/dynamic_message.h>
 #include <google/protobuf/stubs/stl_util.h>
 
 // clang-format off