aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/skyframe/serialization
diff options
context:
space:
mode:
authorGravatar shahan <shahan@google.com>2018-06-29 14:08:49 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-06-29 14:10:13 -0700
commit38fbbf20419ce76152a1c3d024a5fedfef47403a (patch)
tree8a4fbde26dcef96d2b175d651295fb3ae8eaa61c /src/main/java/com/google/devtools/build/lib/skyframe/serialization
parent02f480420fc6d786ee7263dadbe9eb8d501f117e (diff)
Deletes AutoCodec.PUBLIC_FIELDS strategy. Superseded by DynamicCodec.
PiperOrigin-RevId: 202704472
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/serialization')
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec/AutoCodec.java7
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec/AutoCodecProcessor.java60
2 files changed, 0 insertions, 67 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec/AutoCodec.java b/src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec/AutoCodec.java
index 840e7dfaef..fd8635d45f 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec/AutoCodec.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec/AutoCodec.java
@@ -64,13 +64,6 @@ public @interface AutoCodec {
*/
INSTANTIATOR,
/**
- * Uses the public fields to infer serialization code.
- *
- * <p>Serializes each public field. Calls the no-arg constructor of the class to instantiate an
- * instance for deserialization.
- */
- PUBLIC_FIELDS,
- /**
* For use with {@link com.google.auto.value.AutoValue} classes with an {@link
* com.google.auto.value.AutoValue.Builder} static nested Builder class: uses the builder when
* deserializing.
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec/AutoCodecProcessor.java b/src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec/AutoCodecProcessor.java
index 41909261a9..b50681db91 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec/AutoCodecProcessor.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec/AutoCodecProcessor.java
@@ -108,9 +108,6 @@ public class AutoCodecProcessor extends AbstractProcessor {
case INSTANTIATOR:
codecClassBuilder = buildClassWithInstantiatorStrategy(encodedType, annotation);
break;
- case PUBLIC_FIELDS:
- codecClassBuilder = buildClassWithPublicFieldsStrategy(encodedType, annotation);
- break;
case AUTO_VALUE_BUILDER:
codecClassBuilder = buildClassWithAutoValueBuilderStrategy(encodedType, annotation);
break;
@@ -632,45 +629,6 @@ public class AutoCodecProcessor extends AbstractProcessor {
return serializeBuilder.build();
}
- private TypeSpec.Builder buildClassWithPublicFieldsStrategy(
- TypeElement encodedType, AutoCodec annotation) {
- TypeSpec.Builder codecClassBuilder =
- AutoCodecUtil.initializeCodecClassBuilder(encodedType, env);
- ImmutableList<? extends VariableElement> publicFields =
- ElementFilter.fieldsIn(env.getElementUtils().getAllMembers(encodedType))
- .stream()
- .filter(this::isPublicField)
- .collect(toImmutableList());
- codecClassBuilder.addMethod(
- buildSerializeMethodWithPublicFields(encodedType, publicFields, annotation));
- MethodSpec.Builder deserializeBuilder =
- AutoCodecUtil.initializeDeserializeMethodBuilder(encodedType, env);
- buildDeserializeBody(deserializeBuilder, publicFields);
- addInstantiatePopulateFieldsAndReturn(deserializeBuilder, encodedType, publicFields);
- codecClassBuilder.addMethod(deserializeBuilder.build());
- return codecClassBuilder;
- }
-
- private boolean isPublicField(VariableElement element) {
- if (matchesType(element.asType(), Void.class)) {
- return false; // Void types can't be instantiated, so the processor ignores them completely.
- }
- Set<Modifier> modifiers = element.getModifiers();
- return modifiers.contains(Modifier.PUBLIC) && !modifiers.contains(Modifier.STATIC);
- }
-
- private MethodSpec buildSerializeMethodWithPublicFields(
- TypeElement encodedType, List<? extends VariableElement> fields, AutoCodec annotation) {
- MethodSpec.Builder serializeBuilder =
- AutoCodecUtil.initializeSerializeMethodBuilder(encodedType, annotation, env);
- for (VariableElement parameter : fields) {
- String paramAccessor = "input." + parameter.getSimpleName();
- marshallers.writeSerializationCode(
- new Marshaller.Context(serializeBuilder, parameter.asType(), paramAccessor));
- }
- return serializeBuilder.build();
- }
-
/**
* Adds a body to the deserialize method that extracts serialized parameters.
*
@@ -737,24 +695,6 @@ public class AutoCodecProcessor extends AbstractProcessor {
}
/**
- * Invokes the constructor, populates public fields and returns the value.
- *
- * <p>Used by the {@link AutoCodec.Strategy#PUBLIC_FIELDS} strategy.
- */
- private static void addInstantiatePopulateFieldsAndReturn(
- MethodSpec.Builder builder, TypeElement type, List<? extends VariableElement> fields) {
- builder.addStatement(
- "$T deserializationResult = new $T()",
- TypeName.get(type.asType()),
- TypeName.get(type.asType()));
- for (VariableElement field : fields) {
- String fieldName = field.getSimpleName().toString();
- builder.addStatement("deserializationResult.$L = $L", fieldName, fieldName + "_");
- }
- builder.addStatement("return deserializationResult");
- }
-
- /**
* Adds fields to the codec class to hold offsets and adds a constructor to initialize them.
*
* <p>For a parameter with name {@code target}, the field will have name {@code target_offset}.