aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec/AutoCodecUtil.java
diff options
context:
space:
mode:
authorGravatar janakr <janakr@google.com>2018-03-21 17:10:27 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-03-21 17:11:39 -0700
commit2410e1ab3e035382abe519003c618271a69a7b8e (patch)
treed39cc4379b69b2371efc2f093ed0482b3a5254fa /src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec/AutoCodecUtil.java
parent0f5679ef95611e457a6e39313cf88feac8b2278f (diff)
Clean up unnecessary "additional data" from memoizing deserialization. Since memoization is now a simple on-off switch, change semantics to have at most one memoizing frame: starting memoization is now an idempotent operation.
PiperOrigin-RevId: 189993914
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec/AutoCodecUtil.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec/AutoCodecUtil.java15
1 files changed, 4 insertions, 11 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec/AutoCodecUtil.java b/src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec/AutoCodecUtil.java
index dd4706ab15..2ba6d9b2c2 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec/AutoCodecUtil.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec/AutoCodecUtil.java
@@ -37,9 +37,9 @@ import javax.lang.model.type.TypeMirror;
/** Static utilities for AutoCodec processors. */
class AutoCodecUtil {
// Synthesized classes will have `_AutoCodec` suffix added.
- public static final String GENERATED_CLASS_NAME_SUFFIX = "AutoCodec";
+ private static final String GENERATED_CLASS_NAME_SUFFIX = "AutoCodec";
static final Class<AutoCodec> ANNOTATION = AutoCodec.class;
- static final String MUTABILITY_VARIABLE_NAME = "mutabilityForMemoizeAdditionalData";
+
/**
* Initializes a builder for a class of the appropriate type.
*
@@ -84,7 +84,7 @@ class AutoCodecUtil {
.addParameter(TypeName.get(env.getTypeUtils().erasure(encodedType.asType())), "input")
.addParameter(CodedOutputStream.class, "codedOut");
if (startMemoizing) {
- builder.addStatement("context = context.newMemoizingContext()");
+ builder.addStatement("context = context.getMemoizingContext()");
}
return builder;
}
@@ -107,14 +107,7 @@ class AutoCodecUtil {
.addParameter(DeserializationContext.class, "context")
.addParameter(CodedInputStream.class, "codedIn");
if (startMemoizing) {
- // We can't directly use the Mutability class here because there are @AutoCodec'ed classes
- // that Mutability depends on. Those classes won't start memoization, of course, but the code
- // generator doesn't know that.
- builder.addStatement(
- "com.google.devtools.build.lib.syntax.Mutability $L = "
- + "com.google.devtools.build.lib.syntax.Mutability.create(\"deserialize skylark\")",
- MUTABILITY_VARIABLE_NAME);
- builder.addStatement("context = context.newMemoizingContext($L)", MUTABILITY_VARIABLE_NAME);
+ builder.addStatement("context = context.getMemoizingContext()");
}
return builder;
}