Hack serialization of Environment$Extension so that it deserializes, although not correctly. Attempts to use it will still most likely fail, but won't crash. -- MOS_MIGRATED_REVID=103029603
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/Environment.java b/src/main/java/com/google/devtools/build/lib/syntax/Environment.java index 1bfba3a..89360a7 100644 --- a/src/main/java/com/google/devtools/build/lib/syntax/Environment.java +++ b/src/main/java/com/google/devtools/build/lib/syntax/Environment.java
@@ -230,6 +230,11 @@ BaseExtension(Environment env) { this.bindings = ImmutableMap.copyOf(env.globalFrame.bindings); } + + // Hack to allow serialization. + BaseExtension() { + this.bindings = ImmutableMap.of(); + } } /** @@ -249,6 +254,12 @@ this.transitiveContentHashCode = env.getTransitiveContentHashCode(); } + // Hack to allow serialization. + private Extension() { + super(); + this.transitiveContentHashCode = null; + } + @VisibleForTesting // This is only used in one test. public String getTransitiveContentHashCode() { return transitiveContentHashCode;