Merge pull request #10766 from deannagarcia/fixCrossCompilation
Edit toolchain to work with absl dep
diff --git a/java/core/src/main/java/com/google/protobuf/GeneratedMessageLite.java b/java/core/src/main/java/com/google/protobuf/GeneratedMessageLite.java
index 85930c9..ac975b9 100644
--- a/java/core/src/main/java/com/google/protobuf/GeneratedMessageLite.java
+++ b/java/core/src/main/java/com/google/protobuf/GeneratedMessageLite.java
@@ -412,8 +412,13 @@
protected static <T extends GeneratedMessageLite<?, ?>> void registerDefaultInstance(
Class<T> clazz, T defaultInstance) {
+ // Default instances must be immutable.
+ // Marking immutable here to avoid extra bytecode in every generated message class.
+ // Only calling "markImmutable" rather than "makeImmutable" because for Default Instances:
+ // 1. All sub-messages are initialized to null / default instances and thus immutable
+ // 2. All lists are initialized to default instance empty lists which are also immutable.
+ defaultInstance.markImmutable();
defaultInstanceMap.put(clazz, defaultInstance);
- defaultInstance.makeImmutable();
}
protected static Object newMessageInfo(