Allow message name "List" without conflict

PiperOrigin-RevId: 491380902
diff --git a/java/kotlin-lite/src/test/kotlin/com/google/protobuf/Proto2LiteTest.kt b/java/kotlin-lite/src/test/kotlin/com/google/protobuf/Proto2LiteTest.kt
index 50ebbd7..b858b14 100644
--- a/java/kotlin-lite/src/test/kotlin/com/google/protobuf/Proto2LiteTest.kt
+++ b/java/kotlin-lite/src/test/kotlin/com/google/protobuf/Proto2LiteTest.kt
@@ -55,9 +55,9 @@
 import protobuf_unittest.MapLiteUnittest.MapEnumLite
 import protobuf_unittest.MapLiteUnittest.TestMapLite
 import protobuf_unittest.testMapLite
-import `in`.com.google.protobuf.kotlin.generator.EvilNamesProto2OuterClass.EvilNamesProto2
-import `in`.com.google.protobuf.kotlin.generator.EvilNamesProto2OuterClass.HardKeywordsAllTypesProto2
-import `in`.com.google.protobuf.kotlin.generator.EvilNamesProto2OuterClass.Interface
+import `in`.com.google.protobuf.kotlin.generator.EvilNamesProto2
+import `in`.com.google.protobuf.kotlin.generator.HardKeywordsAllTypesProto2
+import `in`.com.google.protobuf.kotlin.generator.Interface
 import `in`.com.google.protobuf.kotlin.generator.HardKeywordsAllTypesProto2Kt
 import `in`.com.google.protobuf.kotlin.generator.evilNamesProto2
 import `in`.com.google.protobuf.kotlin.generator.hardKeywordsAllTypesProto2
diff --git a/java/kotlin/src/test/kotlin/com/google/protobuf/Proto2Test.kt b/java/kotlin/src/test/kotlin/com/google/protobuf/Proto2Test.kt
index 426b367..5ca3403 100644
--- a/java/kotlin/src/test/kotlin/com/google/protobuf/Proto2Test.kt
+++ b/java/kotlin/src/test/kotlin/com/google/protobuf/Proto2Test.kt
@@ -60,9 +60,9 @@
 import protobuf_unittest.testEnumMap
 import protobuf_unittest.testIntIntMap
 import protobuf_unittest.testMaps
-import `in`.com.google.protobuf.kotlin.generator.EvilNamesProto2OuterClass.EvilNamesProto2
-import `in`.com.google.protobuf.kotlin.generator.EvilNamesProto2OuterClass.HardKeywordsAllTypesProto2
-import `in`.com.google.protobuf.kotlin.generator.EvilNamesProto2OuterClass.Interface
+import `in`.com.google.protobuf.kotlin.generator.EvilNamesProto2
+import `in`.com.google.protobuf.kotlin.generator.HardKeywordsAllTypesProto2
+import `in`.com.google.protobuf.kotlin.generator.Interface
 import `in`.com.google.protobuf.kotlin.generator.HardKeywordsAllTypesProto2Kt
 import `in`.com.google.protobuf.kotlin.generator.evilNamesProto2
 import `in`.com.google.protobuf.kotlin.generator.hardKeywordsAllTypesProto2
diff --git a/java/kotlin/src/test/proto/com/google/protobuf/evil_names_proto2.proto b/java/kotlin/src/test/proto/com/google/protobuf/evil_names_proto2.proto
index e5cdc7d..4ada5ea 100644
--- a/java/kotlin/src/test/proto/com/google/protobuf/evil_names_proto2.proto
+++ b/java/kotlin/src/test/proto/com/google/protobuf/evil_names_proto2.proto
@@ -34,6 +34,7 @@
 package protobuf.kotlin.generator;
 
 option java_package = "in.com.google.protobuf.kotlin.generator";
+option java_multiple_files = true;
 
 message EvilNamesProto2 {
   optional bool initialized = 1;
@@ -67,6 +68,8 @@
   optional string by = 25;
 }
 
+message List {}
+
 message HardKeywordsAllTypesProto2 {
   message NestedMessage {
     optional int32 while = 1;
diff --git a/src/google/protobuf/compiler/java/message.cc b/src/google/protobuf/compiler/java/message.cc
index 98392bd..f23a79c 100644
--- a/src/google/protobuf/compiler/java/message.cc
+++ b/src/google/protobuf/compiler/java/message.cc
@@ -1396,7 +1396,7 @@
       "com.google.protobuf.ExtensionLite<$message$, T>): T {\n"
       "  return if (extension.isRepeated) {\n"
       "    get(extension as com.google.protobuf.ExtensionLite<$message$, "
-      "List<*>>) as T\n"
+      "kotlin.collections.List<*>>) as T\n"
       "  } else {\n"
       "    _builder.getExtension(extension)\n"
       "  }\n"
@@ -1409,7 +1409,8 @@
       "(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class)\n"
       "@kotlin.jvm.JvmName(\"-getRepeatedExtension\")\n"
       "public operator fun <E : kotlin.Any> get(\n"
-      "  extension: com.google.protobuf.ExtensionLite<$message$, List<E>>\n"
+      "  extension: com.google.protobuf.ExtensionLite<$message$, "
+      "kotlin.collections.List<E>>\n"
       "): com.google.protobuf.kotlin.ExtensionList<E, $message$> {\n"
       "  return com.google.protobuf.kotlin.ExtensionList(extension, "
       "_builder.getExtension(extension))\n"
diff --git a/src/google/protobuf/compiler/java/message_lite.cc b/src/google/protobuf/compiler/java/message_lite.cc
index fb41069..45b6f11 100644
--- a/src/google/protobuf/compiler/java/message_lite.cc
+++ b/src/google/protobuf/compiler/java/message_lite.cc
@@ -901,7 +901,7 @@
       "com.google.protobuf.ExtensionLite<$message$, T>): T {\n"
       "  return if (extension.isRepeated) {\n"
       "    get(extension as com.google.protobuf.ExtensionLite<$message$, "
-      "List<*>>) as T\n"
+      "kotlin.collections.List<*>>) as T\n"
       "  } else {\n"
       "    _builder.getExtension(extension)\n"
       "  }\n"
@@ -914,7 +914,8 @@
       "(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class)\n"
       "@kotlin.jvm.JvmName(\"-getRepeatedExtension\")\n"
       "public operator fun <E : kotlin.Any> get(\n"
-      "  extension: com.google.protobuf.ExtensionLite<$message$, List<E>>\n"
+      "  extension: com.google.protobuf.ExtensionLite<$message$, "
+      "kotlin.collections.List<E>>\n"
       "): com.google.protobuf.kotlin.ExtensionList<E, $message$> {\n"
       "  return com.google.protobuf.kotlin.ExtensionList(extension, "
       "_builder.getExtension(extension))\n"