Index: third_party/protobuf/java/core/src/main/java/com/google/protobuf/ExtensionRegistryLite.java |
diff --git a/third_party/protobuf/java/core/src/main/java/com/google/protobuf/ExtensionRegistryLite.java b/third_party/protobuf/java/core/src/main/java/com/google/protobuf/ExtensionRegistryLite.java |
index f3d48d3af34e7e3eeb71601bfeca4c2561038a9a..65cf73857642534c0f368229919c6e7fb5ff1656 100644 |
--- a/third_party/protobuf/java/core/src/main/java/com/google/protobuf/ExtensionRegistryLite.java |
+++ b/third_party/protobuf/java/core/src/main/java/com/google/protobuf/ExtensionRegistryLite.java |
@@ -79,22 +79,6 @@ public class ExtensionRegistryLite { |
// applications. Need to support this feature on smaller granularity. |
private static volatile boolean eagerlyParseMessageSets = false; |
- // Visible for testing. |
- static final String EXTENSION_CLASS_NAME = "com.google.protobuf.Extension"; |
- |
- /* @Nullable */ |
- static Class<?> resolveExtensionClass() { |
- try { |
- return Class.forName(EXTENSION_CLASS_NAME); |
- } catch (ClassNotFoundException e) { |
- // See comment in ExtensionRegistryFactory on the potential expense of this. |
- return null; |
- } |
- } |
- |
- /* @Nullable */ |
- private static final Class<?> extensionClass = resolveExtensionClass(); |
- |
public static boolean isEagerlyParseMessageSets() { |
return eagerlyParseMessageSets; |
} |
@@ -103,25 +87,16 @@ public class ExtensionRegistryLite { |
eagerlyParseMessageSets = isEagerlyParse; |
} |
- /** |
- * Construct a new, empty instance. |
- * |
- * <p>This may be an {@code ExtensionRegistry} if the full (non-Lite) proto libraries are |
- * available. |
- */ |
+ /** Construct a new, empty instance. */ |
public static ExtensionRegistryLite newInstance() { |
- return ExtensionRegistryFactory.create(); |
+ return new ExtensionRegistryLite(); |
} |
- /** |
- * Get the unmodifiable singleton empty instance of either ExtensionRegistryLite or |
- * {@code ExtensionRegistry} (if the full (non-Lite) proto libraries are available). |
- */ |
+ /** Get the unmodifiable singleton empty instance. */ |
public static ExtensionRegistryLite getEmptyRegistry() { |
- return ExtensionRegistryFactory.createEmpty(); |
+ return EMPTY; |
} |
- |
/** Returns an unmodifiable view of the registry. */ |
public ExtensionRegistryLite getUnmodifiable() { |
return new ExtensionRegistryLite(this); |
@@ -153,23 +128,6 @@ public class ExtensionRegistryLite { |
extension); |
} |
- /** |
- * Add an extension from a lite generated file to the registry only if it is |
- * a non-lite extension i.e. {@link GeneratedMessageLite.GeneratedExtension}. */ |
- public final void add(ExtensionLite<?, ?> extension) { |
- if (GeneratedMessageLite.GeneratedExtension.class.isAssignableFrom(extension.getClass())) { |
- add((GeneratedMessageLite.GeneratedExtension<?, ?>) extension); |
- } |
- if (ExtensionRegistryFactory.isFullRegistry(this)) { |
- try { |
- this.getClass().getMethod("add", extensionClass).invoke(this, extension); |
- } catch (Exception e) { |
- throw new IllegalArgumentException( |
- String.format("Could not invoke ExtensionRegistry#add for %s", extension), e); |
- } |
- } |
- } |
- |
// ================================================================= |
// Private stuff. |
@@ -181,11 +139,9 @@ public class ExtensionRegistryLite { |
new HashMap<ObjectIntPair, |
GeneratedMessageLite.GeneratedExtension<?, ?>>(); |
} |
- static final ExtensionRegistryLite EMPTY_REGISTRY_LITE = |
- new ExtensionRegistryLite(true); |
ExtensionRegistryLite(ExtensionRegistryLite other) { |
- if (other == EMPTY_REGISTRY_LITE) { |
+ if (other == EMPTY) { |
this.extensionsByNumber = Collections.emptyMap(); |
} else { |
this.extensionsByNumber = |
@@ -197,9 +153,11 @@ public class ExtensionRegistryLite { |
GeneratedMessageLite.GeneratedExtension<?, ?>> |
extensionsByNumber; |
- ExtensionRegistryLite(boolean empty) { |
+ private ExtensionRegistryLite(boolean empty) { |
this.extensionsByNumber = Collections.emptyMap(); |
} |
+ private static final ExtensionRegistryLite EMPTY = |
+ new ExtensionRegistryLite(true); |
/** A (Object, int) pair, used as a map key. */ |
private static final class ObjectIntPair { |