diff options
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec/AutoCodecProcessor.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec/AutoCodecProcessor.java | 21 |
1 files changed, 15 insertions, 6 deletions
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 38bcf24994..c3d14df9f2 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 @@ -222,6 +222,12 @@ public class AutoCodecProcessor extends AbstractProcessor { UnsafeProvider.class, parameter.getSimpleName()); break; + case DOUBLE: + serializeBuilder.addStatement( + "codedOut.writeDoubleNoTag($T.getInstance().getDouble(input, $L_offset))", + UnsafeProvider.class, + parameter.getSimpleName()); + break; case ARRAY: // fall through case DECLARED: @@ -291,6 +297,9 @@ public class AutoCodecProcessor extends AbstractProcessor { case INT: serializeBuilder.addStatement("codedOut.writeInt32NoTag($L)", getter); break; + case DOUBLE: + serializeBuilder.addStatement("codedOut.writeDoubleNoTag($L)", getter); + break; case ARRAY: // fall through case DECLARED: @@ -350,10 +359,10 @@ public class AutoCodecProcessor extends AbstractProcessor { case INT: serializeBuilder.addStatement("codedOut.writeInt32NoTag($L)", paramAccessor); break; - case ARRAY: - marshallers.writeSerializationCode( - new Marshaller.Context(serializeBuilder, parameter.asType(), paramAccessor)); + case DOUBLE: + serializeBuilder.addStatement("codedOut.writeDoubleNoTag($L)", paramAccessor); break; + case ARRAY: case DECLARED: marshallers.writeSerializationCode( new Marshaller.Context(serializeBuilder, parameter.asType(), paramAccessor)); @@ -384,10 +393,10 @@ public class AutoCodecProcessor extends AbstractProcessor { case INT: builder.addStatement("int $L = codedIn.readInt32()", paramName); break; - case ARRAY: - marshallers.writeDeserializationCode( - new Marshaller.Context(builder, parameter.asType(), paramName)); + case DOUBLE: + builder.addStatement("double $L = codedIn.readDouble()", paramName); break; + case ARRAY: case DECLARED: marshallers.writeDeserializationCode( new Marshaller.Context(builder, parameter.asType(), paramName)); |