blob: 9cc9e84ebfce1c3b4e6b0aca361051a2ca7dbac6 [file] [log] [blame]
// Copyright (c) 2019, the R8 project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
package proto2;
import com.android.tools.r8.proto2.Shrinking.HasFlaggedOffExtension;
import com.google.protobuf.ExtensionRegistryLite;
import com.google.protobuf.InvalidProtocolBufferException;
import com.google.protobuf.WireFormat;
import java.nio.ByteBuffer;
public class HasFlaggedOffExtensionBuilderTestClass {
// A protobuf payload indicating that varint field 1 is set to 42.
// See https://developers.google.com/protocol-buffers/docs/encoding
//
// Since serialization and deserialization use the same schema (which we're modifying), testing
// against wire-format data is preferred.
private static final byte[] FIELD1_SET_TO_42 =
new byte[] {(1 << 3) | WireFormat.WIRETYPE_VARINT, 42};
// A protobuf payload indicating that field 10 is a message whose field 1 is set to 42.
private static final byte[] MESSAGE10_WITH_FIELD1_SET_TO_42 =
ByteBuffer.allocate(4)
.put(
new byte[] {
(10 << 3) | WireFormat.WIRETYPE_LENGTH_DELIMITED, (byte) FIELD1_SET_TO_42.length
})
.put(FIELD1_SET_TO_42)
.array();
public static void main(String[] args) {
HasFlaggedOffExtension msg;
try {
msg =
HasFlaggedOffExtension.parseFrom(
MESSAGE10_WITH_FIELD1_SET_TO_42, ExtensionRegistryLite.getGeneratedRegistry());
} catch (InvalidProtocolBufferException e) {
System.out.println("Unexpected exception: " + e);
throw new RuntimeException(e);
}
Printer.print(HasFlaggedOffExtension.newBuilder(msg).build());
}
}