|  | @@ -79,8 +79,7 @@ public class DescriptorsTest extends TestCase {
 | 
	
		
			
				|  |  |    private static final Object STATIC_INIT_TEST = FieldDescriptor.Type.BOOL;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    public void testFieldTypeEnumMapping() throws Exception {
 | 
	
		
			
				|  |  | -    assertEquals(FieldDescriptor.Type.values().length,
 | 
	
		
			
				|  |  | -        FieldDescriptorProto.Type.values().length);
 | 
	
		
			
				|  |  | +    assertEquals(FieldDescriptor.Type.values().length, FieldDescriptorProto.Type.values().length);
 | 
	
		
			
				|  |  |      for (FieldDescriptor.Type type : FieldDescriptor.Type.values()) {
 | 
	
		
			
				|  |  |        FieldDescriptorProto.Type protoType = type.toProto();
 | 
	
		
			
				|  |  |        assertEquals("TYPE_" + type.name(), protoType.name());
 | 
	
	
		
			
				|  | @@ -95,11 +94,9 @@ public class DescriptorsTest extends TestCase {
 | 
	
		
			
				|  |  |      assertEquals("protobuf_unittest", file.getPackage());
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      assertEquals("UnittestProto", file.getOptions().getJavaOuterClassname());
 | 
	
		
			
				|  |  | -    assertEquals("google/protobuf/unittest.proto",
 | 
	
		
			
				|  |  | -                 file.toProto().getName());
 | 
	
		
			
				|  |  | +    assertEquals("google/protobuf/unittest.proto", file.toProto().getName());
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    assertEquals(Arrays.asList(UnittestImport.getDescriptor()),
 | 
	
		
			
				|  |  | -                 file.getDependencies());
 | 
	
		
			
				|  |  | +    assertEquals(Arrays.asList(UnittestImport.getDescriptor()), file.getDependencies());
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      Descriptor messageType = TestAllTypes.getDescriptor();
 | 
	
		
			
				|  |  |      assertEquals(messageType, file.getMessageTypes().get(0));
 | 
	
	
		
			
				|  | @@ -115,9 +112,9 @@ public class DescriptorsTest extends TestCase {
 | 
	
		
			
				|  |  |      assertEquals(enumType, file.findEnumTypeByName("ForeignEnum"));
 | 
	
		
			
				|  |  |      assertNull(file.findEnumTypeByName("NoSuchType"));
 | 
	
		
			
				|  |  |      assertNull(file.findEnumTypeByName("protobuf_unittest.ForeignEnum"));
 | 
	
		
			
				|  |  | -    assertEquals(Arrays.asList(ImportEnum.getDescriptor(),
 | 
	
		
			
				|  |  | -                               ImportEnumForMap.getDescriptor()),
 | 
	
		
			
				|  |  | -                 UnittestImport.getDescriptor().getEnumTypes());
 | 
	
		
			
				|  |  | +    assertEquals(
 | 
	
		
			
				|  |  | +        Arrays.asList(ImportEnum.getDescriptor(), ImportEnumForMap.getDescriptor()),
 | 
	
		
			
				|  |  | +        UnittestImport.getDescriptor().getEnumTypes());
 | 
	
		
			
				|  |  |      for (int i = 0; i < file.getEnumTypes().size(); i++) {
 | 
	
		
			
				|  |  |        assertEquals(i, file.getEnumTypes().get(i).getIndex());
 | 
	
		
			
				|  |  |      }
 | 
	
	
		
			
				|  | @@ -127,22 +124,17 @@ public class DescriptorsTest extends TestCase {
 | 
	
		
			
				|  |  |      assertEquals(service, file.findServiceByName("TestService"));
 | 
	
		
			
				|  |  |      assertNull(file.findServiceByName("NoSuchType"));
 | 
	
		
			
				|  |  |      assertNull(file.findServiceByName("protobuf_unittest.TestService"));
 | 
	
		
			
				|  |  | -    assertEquals(Collections.emptyList(),
 | 
	
		
			
				|  |  | -                 UnittestImport.getDescriptor().getServices());
 | 
	
		
			
				|  |  | +    assertEquals(Collections.emptyList(), UnittestImport.getDescriptor().getServices());
 | 
	
		
			
				|  |  |      for (int i = 0; i < file.getServices().size(); i++) {
 | 
	
		
			
				|  |  |        assertEquals(i, file.getServices().get(i).getIndex());
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    FieldDescriptor extension =
 | 
	
		
			
				|  |  | -      UnittestProto.optionalInt32Extension.getDescriptor();
 | 
	
		
			
				|  |  | +    FieldDescriptor extension = UnittestProto.optionalInt32Extension.getDescriptor();
 | 
	
		
			
				|  |  |      assertEquals(extension, file.getExtensions().get(0));
 | 
	
		
			
				|  |  | -    assertEquals(extension,
 | 
	
		
			
				|  |  | -                 file.findExtensionByName("optional_int32_extension"));
 | 
	
		
			
				|  |  | +    assertEquals(extension, file.findExtensionByName("optional_int32_extension"));
 | 
	
		
			
				|  |  |      assertNull(file.findExtensionByName("no_such_ext"));
 | 
	
		
			
				|  |  | -    assertNull(file.findExtensionByName(
 | 
	
		
			
				|  |  | -      "protobuf_unittest.optional_int32_extension"));
 | 
	
		
			
				|  |  | -    assertEquals(Collections.emptyList(),
 | 
	
		
			
				|  |  | -                 UnittestImport.getDescriptor().getExtensions());
 | 
	
		
			
				|  |  | +    assertNull(file.findExtensionByName("protobuf_unittest.optional_int32_extension"));
 | 
	
		
			
				|  |  | +    assertEquals(Collections.emptyList(), UnittestImport.getDescriptor().getExtensions());
 | 
	
		
			
				|  |  |      for (int i = 0; i < file.getExtensions().size(); i++) {
 | 
	
		
			
				|  |  |        assertEquals(i, file.getExtensions().get(i).getIndex());
 | 
	
		
			
				|  |  |      }
 | 
	
	
		
			
				|  | @@ -156,13 +148,11 @@ public class DescriptorsTest extends TestCase {
 | 
	
		
			
				|  |  |      assertEquals("protobuf_unittest.TestAllTypes", messageType.getFullName());
 | 
	
		
			
				|  |  |      assertEquals(UnittestProto.getDescriptor(), messageType.getFile());
 | 
	
		
			
				|  |  |      assertNull(messageType.getContainingType());
 | 
	
		
			
				|  |  | -    assertEquals(DescriptorProtos.MessageOptions.getDefaultInstance(),
 | 
	
		
			
				|  |  | -                 messageType.getOptions());
 | 
	
		
			
				|  |  | +    assertEquals(DescriptorProtos.MessageOptions.getDefaultInstance(), messageType.getOptions());
 | 
	
		
			
				|  |  |      assertEquals("TestAllTypes", messageType.toProto().getName());
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      assertEquals("NestedMessage", nestedType.getName());
 | 
	
		
			
				|  |  | -    assertEquals("protobuf_unittest.TestAllTypes.NestedMessage",
 | 
	
		
			
				|  |  | -                 nestedType.getFullName());
 | 
	
		
			
				|  |  | +    assertEquals("protobuf_unittest.TestAllTypes.NestedMessage", nestedType.getFullName());
 | 
	
		
			
				|  |  |      assertEquals(UnittestProto.getDescriptor(), nestedType.getFile());
 | 
	
		
			
				|  |  |      assertEquals(messageType, nestedType.getContainingType());
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -194,36 +184,28 @@ public class DescriptorsTest extends TestCase {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    public void testFieldDescriptor() throws Exception {
 | 
	
		
			
				|  |  |      Descriptor messageType = TestAllTypes.getDescriptor();
 | 
	
		
			
				|  |  | -    FieldDescriptor primitiveField =
 | 
	
		
			
				|  |  | -      messageType.findFieldByName("optional_int32");
 | 
	
		
			
				|  |  | -    FieldDescriptor enumField =
 | 
	
		
			
				|  |  | -      messageType.findFieldByName("optional_nested_enum");
 | 
	
		
			
				|  |  | -    FieldDescriptor messageField =
 | 
	
		
			
				|  |  | -      messageType.findFieldByName("optional_foreign_message");
 | 
	
		
			
				|  |  | -    FieldDescriptor cordField =
 | 
	
		
			
				|  |  | -      messageType.findFieldByName("optional_cord");
 | 
	
		
			
				|  |  | -    FieldDescriptor extension =
 | 
	
		
			
				|  |  | -      UnittestProto.optionalInt32Extension.getDescriptor();
 | 
	
		
			
				|  |  | +    FieldDescriptor primitiveField = messageType.findFieldByName("optional_int32");
 | 
	
		
			
				|  |  | +    FieldDescriptor enumField = messageType.findFieldByName("optional_nested_enum");
 | 
	
		
			
				|  |  | +    FieldDescriptor messageField = messageType.findFieldByName("optional_foreign_message");
 | 
	
		
			
				|  |  | +    FieldDescriptor cordField = messageType.findFieldByName("optional_cord");
 | 
	
		
			
				|  |  | +    FieldDescriptor extension = UnittestProto.optionalInt32Extension.getDescriptor();
 | 
	
		
			
				|  |  |      FieldDescriptor nestedExtension = TestRequired.single.getDescriptor();
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      assertEquals("optional_int32", primitiveField.getName());
 | 
	
		
			
				|  |  | -    assertEquals("protobuf_unittest.TestAllTypes.optional_int32",
 | 
	
		
			
				|  |  | -                 primitiveField.getFullName());
 | 
	
		
			
				|  |  | +    assertEquals("protobuf_unittest.TestAllTypes.optional_int32", primitiveField.getFullName());
 | 
	
		
			
				|  |  |      assertEquals(1, primitiveField.getNumber());
 | 
	
		
			
				|  |  |      assertEquals(messageType, primitiveField.getContainingType());
 | 
	
		
			
				|  |  |      assertEquals(UnittestProto.getDescriptor(), primitiveField.getFile());
 | 
	
		
			
				|  |  |      assertEquals(FieldDescriptor.Type.INT32, primitiveField.getType());
 | 
	
		
			
				|  |  |      assertEquals(FieldDescriptor.JavaType.INT, primitiveField.getJavaType());
 | 
	
		
			
				|  |  | -    assertEquals(DescriptorProtos.FieldOptions.getDefaultInstance(),
 | 
	
		
			
				|  |  | -                 primitiveField.getOptions());
 | 
	
		
			
				|  |  | +    assertEquals(DescriptorProtos.FieldOptions.getDefaultInstance(), primitiveField.getOptions());
 | 
	
		
			
				|  |  |      assertFalse(primitiveField.isExtension());
 | 
	
		
			
				|  |  |      assertEquals("optional_int32", primitiveField.toProto().getName());
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      assertEquals("optional_nested_enum", enumField.getName());
 | 
	
		
			
				|  |  |      assertEquals(FieldDescriptor.Type.ENUM, enumField.getType());
 | 
	
		
			
				|  |  |      assertEquals(FieldDescriptor.JavaType.ENUM, enumField.getJavaType());
 | 
	
		
			
				|  |  | -    assertEquals(TestAllTypes.NestedEnum.getDescriptor(),
 | 
	
		
			
				|  |  | -                 enumField.getEnumType());
 | 
	
		
			
				|  |  | +    assertEquals(TestAllTypes.NestedEnum.getDescriptor(), enumField.getEnumType());
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      assertEquals("optional_foreign_message", messageField.getName());
 | 
	
		
			
				|  |  |      assertEquals(FieldDescriptor.Type.MESSAGE, messageField.getType());
 | 
	
	
		
			
				|  | @@ -233,38 +215,29 @@ public class DescriptorsTest extends TestCase {
 | 
	
		
			
				|  |  |      assertEquals("optional_cord", cordField.getName());
 | 
	
		
			
				|  |  |      assertEquals(FieldDescriptor.Type.STRING, cordField.getType());
 | 
	
		
			
				|  |  |      assertEquals(FieldDescriptor.JavaType.STRING, cordField.getJavaType());
 | 
	
		
			
				|  |  | -    assertEquals(DescriptorProtos.FieldOptions.CType.CORD,
 | 
	
		
			
				|  |  | -                 cordField.getOptions().getCtype());
 | 
	
		
			
				|  |  | +    assertEquals(DescriptorProtos.FieldOptions.CType.CORD, cordField.getOptions().getCtype());
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      assertEquals("optional_int32_extension", extension.getName());
 | 
	
		
			
				|  |  | -    assertEquals("protobuf_unittest.optional_int32_extension",
 | 
	
		
			
				|  |  | -                 extension.getFullName());
 | 
	
		
			
				|  |  | +    assertEquals("protobuf_unittest.optional_int32_extension", extension.getFullName());
 | 
	
		
			
				|  |  |      assertEquals(1, extension.getNumber());
 | 
	
		
			
				|  |  | -    assertEquals(TestAllExtensions.getDescriptor(),
 | 
	
		
			
				|  |  | -                 extension.getContainingType());
 | 
	
		
			
				|  |  | +    assertEquals(TestAllExtensions.getDescriptor(), extension.getContainingType());
 | 
	
		
			
				|  |  |      assertEquals(UnittestProto.getDescriptor(), extension.getFile());
 | 
	
		
			
				|  |  |      assertEquals(FieldDescriptor.Type.INT32, extension.getType());
 | 
	
		
			
				|  |  |      assertEquals(FieldDescriptor.JavaType.INT, extension.getJavaType());
 | 
	
		
			
				|  |  | -    assertEquals(DescriptorProtos.FieldOptions.getDefaultInstance(),
 | 
	
		
			
				|  |  | -                 extension.getOptions());
 | 
	
		
			
				|  |  | +    assertEquals(DescriptorProtos.FieldOptions.getDefaultInstance(), extension.getOptions());
 | 
	
		
			
				|  |  |      assertTrue(extension.isExtension());
 | 
	
		
			
				|  |  |      assertEquals(null, extension.getExtensionScope());
 | 
	
		
			
				|  |  |      assertEquals("optional_int32_extension", extension.toProto().getName());
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      assertEquals("single", nestedExtension.getName());
 | 
	
		
			
				|  |  | -    assertEquals("protobuf_unittest.TestRequired.single",
 | 
	
		
			
				|  |  | -                 nestedExtension.getFullName());
 | 
	
		
			
				|  |  | -    assertEquals(TestRequired.getDescriptor(),
 | 
	
		
			
				|  |  | -                 nestedExtension.getExtensionScope());
 | 
	
		
			
				|  |  | +    assertEquals("protobuf_unittest.TestRequired.single", nestedExtension.getFullName());
 | 
	
		
			
				|  |  | +    assertEquals(TestRequired.getDescriptor(), nestedExtension.getExtensionScope());
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    public void testFieldDescriptorLabel() throws Exception {
 | 
	
		
			
				|  |  | -    FieldDescriptor requiredField =
 | 
	
		
			
				|  |  | -      TestRequired.getDescriptor().findFieldByName("a");
 | 
	
		
			
				|  |  | -    FieldDescriptor optionalField =
 | 
	
		
			
				|  |  | -      TestAllTypes.getDescriptor().findFieldByName("optional_int32");
 | 
	
		
			
				|  |  | -    FieldDescriptor repeatedField =
 | 
	
		
			
				|  |  | -      TestAllTypes.getDescriptor().findFieldByName("repeated_int32");
 | 
	
		
			
				|  |  | +    FieldDescriptor requiredField = TestRequired.getDescriptor().findFieldByName("a");
 | 
	
		
			
				|  |  | +    FieldDescriptor optionalField = TestAllTypes.getDescriptor().findFieldByName("optional_int32");
 | 
	
		
			
				|  |  | +    FieldDescriptor repeatedField = TestAllTypes.getDescriptor().findFieldByName("repeated_int32");
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      assertTrue(requiredField.isRequired());
 | 
	
		
			
				|  |  |      assertFalse(requiredField.isRepeated());
 | 
	
	
		
			
				|  | @@ -273,7 +246,7 @@ public class DescriptorsTest extends TestCase {
 | 
	
		
			
				|  |  |      assertFalse(repeatedField.isRequired());
 | 
	
		
			
				|  |  |      assertTrue(repeatedField.isRepeated());
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  | -  
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |    public void testFieldDescriptorJsonName() throws Exception {
 | 
	
		
			
				|  |  |      FieldDescriptor requiredField = TestRequired.getDescriptor().findFieldByName("a");
 | 
	
		
			
				|  |  |      FieldDescriptor optionalField = TestAllTypes.getDescriptor().findFieldByName("optional_int32");
 | 
	
	
		
			
				|  | @@ -292,9 +265,8 @@ public class DescriptorsTest extends TestCase {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      d = TestExtremeDefaultValues.getDescriptor();
 | 
	
		
			
				|  |  |      assertEquals(
 | 
	
		
			
				|  |  | -      ByteString.copyFrom(
 | 
	
		
			
				|  |  | -        "\0\001\007\b\f\n\r\t\013\\\'\"\u00fe".getBytes(Internal.ISO_8859_1)),
 | 
	
		
			
				|  |  | -      d.findFieldByName("escaped_bytes").getDefaultValue());
 | 
	
		
			
				|  |  | +        ByteString.copyFrom("\0\001\007\b\f\n\r\t\013\\\'\"\u00fe".getBytes(Internal.ISO_8859_1)),
 | 
	
		
			
				|  |  | +        d.findFieldByName("escaped_bytes").getDefaultValue());
 | 
	
		
			
				|  |  |      assertEquals(-1, d.findFieldByName("large_uint32").getDefaultValue());
 | 
	
		
			
				|  |  |      assertEquals(-1L, d.findFieldByName("large_uint64").getDefaultValue());
 | 
	
		
			
				|  |  |    }
 | 
	
	
		
			
				|  | @@ -307,12 +279,10 @@ public class DescriptorsTest extends TestCase {
 | 
	
		
			
				|  |  |      assertEquals("protobuf_unittest.ForeignEnum", enumType.getFullName());
 | 
	
		
			
				|  |  |      assertEquals(UnittestProto.getDescriptor(), enumType.getFile());
 | 
	
		
			
				|  |  |      assertNull(enumType.getContainingType());
 | 
	
		
			
				|  |  | -    assertEquals(DescriptorProtos.EnumOptions.getDefaultInstance(),
 | 
	
		
			
				|  |  | -                 enumType.getOptions());
 | 
	
		
			
				|  |  | +    assertEquals(DescriptorProtos.EnumOptions.getDefaultInstance(), enumType.getOptions());
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      assertEquals("NestedEnum", nestedType.getName());
 | 
	
		
			
				|  |  | -    assertEquals("protobuf_unittest.TestAllTypes.NestedEnum",
 | 
	
		
			
				|  |  | -                 nestedType.getFullName());
 | 
	
		
			
				|  |  | +    assertEquals("protobuf_unittest.TestAllTypes.NestedEnum", nestedType.getFullName());
 | 
	
		
			
				|  |  |      assertEquals(UnittestProto.getDescriptor(), nestedType.getFile());
 | 
	
		
			
				|  |  |      assertEquals(TestAllTypes.getDescriptor(), nestedType.getContainingType());
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -339,18 +309,14 @@ public class DescriptorsTest extends TestCase {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      MethodDescriptor fooMethod = service.getMethods().get(0);
 | 
	
		
			
				|  |  |      assertEquals("Foo", fooMethod.getName());
 | 
	
		
			
				|  |  | -    assertEquals(UnittestProto.FooRequest.getDescriptor(),
 | 
	
		
			
				|  |  | -                 fooMethod.getInputType());
 | 
	
		
			
				|  |  | -    assertEquals(UnittestProto.FooResponse.getDescriptor(),
 | 
	
		
			
				|  |  | -                 fooMethod.getOutputType());
 | 
	
		
			
				|  |  | +    assertEquals(UnittestProto.FooRequest.getDescriptor(), fooMethod.getInputType());
 | 
	
		
			
				|  |  | +    assertEquals(UnittestProto.FooResponse.getDescriptor(), fooMethod.getOutputType());
 | 
	
		
			
				|  |  |      assertEquals(fooMethod, service.findMethodByName("Foo"));
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      MethodDescriptor barMethod = service.getMethods().get(1);
 | 
	
		
			
				|  |  |      assertEquals("Bar", barMethod.getName());
 | 
	
		
			
				|  |  | -    assertEquals(UnittestProto.BarRequest.getDescriptor(),
 | 
	
		
			
				|  |  | -                 barMethod.getInputType());
 | 
	
		
			
				|  |  | -    assertEquals(UnittestProto.BarResponse.getDescriptor(),
 | 
	
		
			
				|  |  | -                 barMethod.getOutputType());
 | 
	
		
			
				|  |  | +    assertEquals(UnittestProto.BarRequest.getDescriptor(), barMethod.getInputType());
 | 
	
		
			
				|  |  | +    assertEquals(UnittestProto.BarResponse.getDescriptor(), barMethod.getOutputType());
 | 
	
		
			
				|  |  |      assertEquals(barMethod, service.findMethodByName("Bar"));
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      assertNull(service.findMethodByName("NoSuchMethod"));
 | 
	
	
		
			
				|  | @@ -367,58 +333,53 @@ public class DescriptorsTest extends TestCase {
 | 
	
		
			
				|  |  |      // dependencies are also properly initialized.
 | 
	
		
			
				|  |  |      Descriptor descriptor =
 | 
	
		
			
				|  |  |          TestCustomOptions.TestMessageWithCustomOptionsContainer.getDescriptor()
 | 
	
		
			
				|  |  | -        .findFieldByName("field").getMessageType();
 | 
	
		
			
				|  |  | +            .findFieldByName("field")
 | 
	
		
			
				|  |  | +            .getMessageType();
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    assertTrue(
 | 
	
		
			
				|  |  | -      descriptor.getOptions().hasExtension(UnittestCustomOptions.messageOpt1));
 | 
	
		
			
				|  |  | -    assertEquals(Integer.valueOf(-56),
 | 
	
		
			
				|  |  | -      descriptor.getOptions().getExtension(UnittestCustomOptions.messageOpt1));
 | 
	
		
			
				|  |  | +    assertTrue(descriptor.getOptions().hasExtension(UnittestCustomOptions.messageOpt1));
 | 
	
		
			
				|  |  | +    assertEquals(
 | 
	
		
			
				|  |  | +        Integer.valueOf(-56),
 | 
	
		
			
				|  |  | +        descriptor.getOptions().getExtension(UnittestCustomOptions.messageOpt1));
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      FieldDescriptor field = descriptor.findFieldByName("field1");
 | 
	
		
			
				|  |  |      assertNotNull(field);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    assertTrue(
 | 
	
		
			
				|  |  | -      field.getOptions().hasExtension(UnittestCustomOptions.fieldOpt1));
 | 
	
		
			
				|  |  | -    assertEquals(Long.valueOf(8765432109L),
 | 
	
		
			
				|  |  | -      field.getOptions().getExtension(UnittestCustomOptions.fieldOpt1));
 | 
	
		
			
				|  |  | +    assertTrue(field.getOptions().hasExtension(UnittestCustomOptions.fieldOpt1));
 | 
	
		
			
				|  |  | +    assertEquals(
 | 
	
		
			
				|  |  | +        Long.valueOf(8765432109L),
 | 
	
		
			
				|  |  | +        field.getOptions().getExtension(UnittestCustomOptions.fieldOpt1));
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      OneofDescriptor oneof = descriptor.getOneofs().get(0);
 | 
	
		
			
				|  |  |      assertNotNull(oneof);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    assertTrue(
 | 
	
		
			
				|  |  | -      oneof.getOptions().hasExtension(UnittestCustomOptions.oneofOpt1));
 | 
	
		
			
				|  |  | -    assertEquals(Integer.valueOf(-99),
 | 
	
		
			
				|  |  | -      oneof.getOptions().getExtension(UnittestCustomOptions.oneofOpt1));
 | 
	
		
			
				|  |  | +    assertTrue(oneof.getOptions().hasExtension(UnittestCustomOptions.oneofOpt1));
 | 
	
		
			
				|  |  | +    assertEquals(
 | 
	
		
			
				|  |  | +        Integer.valueOf(-99), oneof.getOptions().getExtension(UnittestCustomOptions.oneofOpt1));
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      EnumDescriptor enumType =
 | 
	
		
			
				|  |  | -      UnittestCustomOptions.TestMessageWithCustomOptions.AnEnum.getDescriptor();
 | 
	
		
			
				|  |  | +        UnittestCustomOptions.TestMessageWithCustomOptions.AnEnum.getDescriptor();
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    assertTrue(
 | 
	
		
			
				|  |  | -      enumType.getOptions().hasExtension(UnittestCustomOptions.enumOpt1));
 | 
	
		
			
				|  |  | -    assertEquals(Integer.valueOf(-789),
 | 
	
		
			
				|  |  | -      enumType.getOptions().getExtension(UnittestCustomOptions.enumOpt1));
 | 
	
		
			
				|  |  | +    assertTrue(enumType.getOptions().hasExtension(UnittestCustomOptions.enumOpt1));
 | 
	
		
			
				|  |  | +    assertEquals(
 | 
	
		
			
				|  |  | +        Integer.valueOf(-789), enumType.getOptions().getExtension(UnittestCustomOptions.enumOpt1));
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    ServiceDescriptor service =
 | 
	
		
			
				|  |  | -      UnittestCustomOptions.TestServiceWithCustomOptions.getDescriptor();
 | 
	
		
			
				|  |  | +    ServiceDescriptor service = UnittestCustomOptions.TestServiceWithCustomOptions.getDescriptor();
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    assertTrue(
 | 
	
		
			
				|  |  | -      service.getOptions().hasExtension(UnittestCustomOptions.serviceOpt1));
 | 
	
		
			
				|  |  | -    assertEquals(Long.valueOf(-9876543210L),
 | 
	
		
			
				|  |  | -      service.getOptions().getExtension(UnittestCustomOptions.serviceOpt1));
 | 
	
		
			
				|  |  | +    assertTrue(service.getOptions().hasExtension(UnittestCustomOptions.serviceOpt1));
 | 
	
		
			
				|  |  | +    assertEquals(
 | 
	
		
			
				|  |  | +        Long.valueOf(-9876543210L),
 | 
	
		
			
				|  |  | +        service.getOptions().getExtension(UnittestCustomOptions.serviceOpt1));
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      MethodDescriptor method = service.findMethodByName("Foo");
 | 
	
		
			
				|  |  |      assertNotNull(method);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    assertTrue(
 | 
	
		
			
				|  |  | -      method.getOptions().hasExtension(UnittestCustomOptions.methodOpt1));
 | 
	
		
			
				|  |  | -    assertEquals(UnittestCustomOptions.MethodOpt1.METHODOPT1_VAL2,
 | 
	
		
			
				|  |  | -      method.getOptions().getExtension(UnittestCustomOptions.methodOpt1));
 | 
	
		
			
				|  |  | +    assertTrue(method.getOptions().hasExtension(UnittestCustomOptions.methodOpt1));
 | 
	
		
			
				|  |  | +    assertEquals(
 | 
	
		
			
				|  |  | +        UnittestCustomOptions.MethodOpt1.METHODOPT1_VAL2,
 | 
	
		
			
				|  |  | +        method.getOptions().getExtension(UnittestCustomOptions.methodOpt1));
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -  /**
 | 
	
		
			
				|  |  | -   * Test that the FieldDescriptor.Type enum is the same as the
 | 
	
		
			
				|  |  | -   * WireFormat.FieldType enum.
 | 
	
		
			
				|  |  | -   */
 | 
	
		
			
				|  |  | +  /** Test that the FieldDescriptor.Type enum is the same as the WireFormat.FieldType enum. */
 | 
	
		
			
				|  |  |    public void testFieldTypeTablesMatch() throws Exception {
 | 
	
		
			
				|  |  |      FieldDescriptor.Type[] values1 = FieldDescriptor.Type.values();
 | 
	
		
			
				|  |  |      WireFormat.FieldType[] values2 = WireFormat.FieldType.values();
 | 
	
	
		
			
				|  | @@ -430,10 +391,7 @@ public class DescriptorsTest extends TestCase {
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -  /**
 | 
	
		
			
				|  |  | -   * Test that the FieldDescriptor.JavaType enum is the same as the
 | 
	
		
			
				|  |  | -   * WireFormat.JavaType enum.
 | 
	
		
			
				|  |  | -   */
 | 
	
		
			
				|  |  | +  /** Test that the FieldDescriptor.JavaType enum is the same as the WireFormat.JavaType enum. */
 | 
	
		
			
				|  |  |    public void testJavaTypeTablesMatch() throws Exception {
 | 
	
		
			
				|  |  |      FieldDescriptor.JavaType[] values1 = FieldDescriptor.JavaType.values();
 | 
	
		
			
				|  |  |      WireFormat.JavaType[] values2 = WireFormat.JavaType.values();
 | 
	
	
		
			
				|  | @@ -448,31 +406,29 @@ public class DescriptorsTest extends TestCase {
 | 
	
		
			
				|  |  |    public void testEnormousDescriptor() throws Exception {
 | 
	
		
			
				|  |  |      // The descriptor for this file is larger than 64k, yet it did not cause
 | 
	
		
			
				|  |  |      // a compiler error due to an over-long string literal.
 | 
	
		
			
				|  |  | -    assertTrue(
 | 
	
		
			
				|  |  | -        UnittestEnormousDescriptor.getDescriptor()
 | 
	
		
			
				|  |  | -          .toProto().getSerializedSize() > 65536);
 | 
	
		
			
				|  |  | +    assertTrue(UnittestEnormousDescriptor.getDescriptor().toProto().getSerializedSize() > 65536);
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -  /**
 | 
	
		
			
				|  |  | -   * Tests that the DescriptorValidationException works as intended.
 | 
	
		
			
				|  |  | -   */
 | 
	
		
			
				|  |  | +  /** Tests that the DescriptorValidationException works as intended. */
 | 
	
		
			
				|  |  |    public void testDescriptorValidatorException() throws Exception {
 | 
	
		
			
				|  |  | -    FileDescriptorProto fileDescriptorProto = FileDescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | -      .setName("foo.proto")
 | 
	
		
			
				|  |  | -      .addMessageType(DescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | -      .setName("Foo")
 | 
	
		
			
				|  |  | -        .addField(FieldDescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | -          .setLabel(FieldDescriptorProto.Label.LABEL_OPTIONAL)
 | 
	
		
			
				|  |  | -          .setType(FieldDescriptorProto.Type.TYPE_INT32)
 | 
	
		
			
				|  |  | -          .setName("foo")
 | 
	
		
			
				|  |  | -          .setNumber(1)
 | 
	
		
			
				|  |  | -          .setDefaultValue("invalid")
 | 
	
		
			
				|  |  | -          .build())
 | 
	
		
			
				|  |  | -        .build())
 | 
	
		
			
				|  |  | -      .build();
 | 
	
		
			
				|  |  | +    FileDescriptorProto fileDescriptorProto =
 | 
	
		
			
				|  |  | +        FileDescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | +            .setName("foo.proto")
 | 
	
		
			
				|  |  | +            .addMessageType(
 | 
	
		
			
				|  |  | +                DescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | +                    .setName("Foo")
 | 
	
		
			
				|  |  | +                    .addField(
 | 
	
		
			
				|  |  | +                        FieldDescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | +                            .setLabel(FieldDescriptorProto.Label.LABEL_OPTIONAL)
 | 
	
		
			
				|  |  | +                            .setType(FieldDescriptorProto.Type.TYPE_INT32)
 | 
	
		
			
				|  |  | +                            .setName("foo")
 | 
	
		
			
				|  |  | +                            .setNumber(1)
 | 
	
		
			
				|  |  | +                            .setDefaultValue("invalid")
 | 
	
		
			
				|  |  | +                            .build())
 | 
	
		
			
				|  |  | +                    .build())
 | 
	
		
			
				|  |  | +            .build();
 | 
	
		
			
				|  |  |      try {
 | 
	
		
			
				|  |  | -      Descriptors.FileDescriptor.buildFrom(fileDescriptorProto,
 | 
	
		
			
				|  |  | -          new FileDescriptor[0]);
 | 
	
		
			
				|  |  | +      Descriptors.FileDescriptor.buildFrom(fileDescriptorProto, new FileDescriptor[0]);
 | 
	
		
			
				|  |  |        fail("DescriptorValidationException expected");
 | 
	
		
			
				|  |  |      } catch (DescriptorValidationException e) {
 | 
	
		
			
				|  |  |        // Expected; check that the error message contains some useful hints
 | 
	
	
		
			
				|  | @@ -485,35 +441,39 @@ public class DescriptorsTest extends TestCase {
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    /**
 | 
	
		
			
				|  |  | -   * Tests the translate/crosslink for an example where a message field's name
 | 
	
		
			
				|  |  | -   * and type name are the same.
 | 
	
		
			
				|  |  | +   * Tests the translate/crosslink for an example where a message field's name and type name are the
 | 
	
		
			
				|  |  | +   * same.
 | 
	
		
			
				|  |  |     */
 | 
	
		
			
				|  |  |    public void testDescriptorComplexCrosslink() throws Exception {
 | 
	
		
			
				|  |  | -    FileDescriptorProto fileDescriptorProto = FileDescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | -      .setName("foo.proto")
 | 
	
		
			
				|  |  | -      .addMessageType(DescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | -        .setName("Foo")
 | 
	
		
			
				|  |  | -        .addField(FieldDescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | -          .setLabel(FieldDescriptorProto.Label.LABEL_OPTIONAL)
 | 
	
		
			
				|  |  | -          .setType(FieldDescriptorProto.Type.TYPE_INT32)
 | 
	
		
			
				|  |  | -          .setName("foo")
 | 
	
		
			
				|  |  | -          .setNumber(1)
 | 
	
		
			
				|  |  | -          .build())
 | 
	
		
			
				|  |  | -        .build())
 | 
	
		
			
				|  |  | -      .addMessageType(DescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | -        .setName("Bar")
 | 
	
		
			
				|  |  | -        .addField(FieldDescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | -          .setLabel(FieldDescriptorProto.Label.LABEL_OPTIONAL)
 | 
	
		
			
				|  |  | -          .setTypeName("Foo")
 | 
	
		
			
				|  |  | -          .setName("Foo")
 | 
	
		
			
				|  |  | -          .setNumber(1)
 | 
	
		
			
				|  |  | -          .build())
 | 
	
		
			
				|  |  | -        .build())
 | 
	
		
			
				|  |  | -      .build();
 | 
	
		
			
				|  |  | +    FileDescriptorProto fileDescriptorProto =
 | 
	
		
			
				|  |  | +        FileDescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | +            .setName("foo.proto")
 | 
	
		
			
				|  |  | +            .addMessageType(
 | 
	
		
			
				|  |  | +                DescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | +                    .setName("Foo")
 | 
	
		
			
				|  |  | +                    .addField(
 | 
	
		
			
				|  |  | +                        FieldDescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | +                            .setLabel(FieldDescriptorProto.Label.LABEL_OPTIONAL)
 | 
	
		
			
				|  |  | +                            .setType(FieldDescriptorProto.Type.TYPE_INT32)
 | 
	
		
			
				|  |  | +                            .setName("foo")
 | 
	
		
			
				|  |  | +                            .setNumber(1)
 | 
	
		
			
				|  |  | +                            .build())
 | 
	
		
			
				|  |  | +                    .build())
 | 
	
		
			
				|  |  | +            .addMessageType(
 | 
	
		
			
				|  |  | +                DescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | +                    .setName("Bar")
 | 
	
		
			
				|  |  | +                    .addField(
 | 
	
		
			
				|  |  | +                        FieldDescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | +                            .setLabel(FieldDescriptorProto.Label.LABEL_OPTIONAL)
 | 
	
		
			
				|  |  | +                            .setTypeName("Foo")
 | 
	
		
			
				|  |  | +                            .setName("Foo")
 | 
	
		
			
				|  |  | +                            .setNumber(1)
 | 
	
		
			
				|  |  | +                            .build())
 | 
	
		
			
				|  |  | +                    .build())
 | 
	
		
			
				|  |  | +            .build();
 | 
	
		
			
				|  |  |      // translate and crosslink
 | 
	
		
			
				|  |  |      FileDescriptor file =
 | 
	
		
			
				|  |  | -      Descriptors.FileDescriptor.buildFrom(fileDescriptorProto,
 | 
	
		
			
				|  |  | -          new FileDescriptor[0]);
 | 
	
		
			
				|  |  | +        Descriptors.FileDescriptor.buildFrom(fileDescriptorProto, new FileDescriptor[0]);
 | 
	
		
			
				|  |  |      // verify resulting descriptors
 | 
	
		
			
				|  |  |      assertNotNull(file);
 | 
	
		
			
				|  |  |      List<Descriptor> msglist = file.getMessageTypes();
 | 
	
	
		
			
				|  | @@ -535,62 +495,57 @@ public class DescriptorsTest extends TestCase {
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    public void testDependencyOrder() throws Exception {
 | 
	
		
			
				|  |  | -    FileDescriptorProto fooProto = FileDescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | -        .setName("foo.proto").build();
 | 
	
		
			
				|  |  | -    FileDescriptorProto barProto = FileDescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | -        .setName("bar.proto")
 | 
	
		
			
				|  |  | -        .addDependency("foo.proto")
 | 
	
		
			
				|  |  | -        .build();
 | 
	
		
			
				|  |  | -    FileDescriptorProto bazProto = FileDescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | -        .setName("baz.proto")
 | 
	
		
			
				|  |  | -        .addDependency("foo.proto")
 | 
	
		
			
				|  |  | -        .addDependency("bar.proto")
 | 
	
		
			
				|  |  | -        .addPublicDependency(0)
 | 
	
		
			
				|  |  | -        .addPublicDependency(1)
 | 
	
		
			
				|  |  | -        .build();
 | 
	
		
			
				|  |  | -    FileDescriptor fooFile = Descriptors.FileDescriptor.buildFrom(fooProto,
 | 
	
		
			
				|  |  | -        new FileDescriptor[0]);
 | 
	
		
			
				|  |  | -    FileDescriptor barFile = Descriptors.FileDescriptor.buildFrom(barProto,
 | 
	
		
			
				|  |  | -        new FileDescriptor[] {fooFile});
 | 
	
		
			
				|  |  | +    FileDescriptorProto fooProto = FileDescriptorProto.newBuilder().setName("foo.proto").build();
 | 
	
		
			
				|  |  | +    FileDescriptorProto barProto =
 | 
	
		
			
				|  |  | +        FileDescriptorProto.newBuilder().setName("bar.proto").addDependency("foo.proto").build();
 | 
	
		
			
				|  |  | +    FileDescriptorProto bazProto =
 | 
	
		
			
				|  |  | +        FileDescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | +            .setName("baz.proto")
 | 
	
		
			
				|  |  | +            .addDependency("foo.proto")
 | 
	
		
			
				|  |  | +            .addDependency("bar.proto")
 | 
	
		
			
				|  |  | +            .addPublicDependency(0)
 | 
	
		
			
				|  |  | +            .addPublicDependency(1)
 | 
	
		
			
				|  |  | +            .build();
 | 
	
		
			
				|  |  | +    FileDescriptor fooFile = Descriptors.FileDescriptor.buildFrom(fooProto, new FileDescriptor[0]);
 | 
	
		
			
				|  |  | +    FileDescriptor barFile =
 | 
	
		
			
				|  |  | +        Descriptors.FileDescriptor.buildFrom(barProto, new FileDescriptor[] {fooFile});
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      // Items in the FileDescriptor array can be in any order.
 | 
	
		
			
				|  |  | -    Descriptors.FileDescriptor.buildFrom(bazProto,
 | 
	
		
			
				|  |  | -        new FileDescriptor[] {fooFile, barFile});
 | 
	
		
			
				|  |  | -    Descriptors.FileDescriptor.buildFrom(bazProto,
 | 
	
		
			
				|  |  | -        new FileDescriptor[] {barFile, fooFile});
 | 
	
		
			
				|  |  | +    Descriptors.FileDescriptor.buildFrom(bazProto, new FileDescriptor[] {fooFile, barFile});
 | 
	
		
			
				|  |  | +    Descriptors.FileDescriptor.buildFrom(bazProto, new FileDescriptor[] {barFile, fooFile});
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    public void testInvalidPublicDependency() throws Exception {
 | 
	
		
			
				|  |  | -    FileDescriptorProto fooProto = FileDescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | -        .setName("foo.proto").build();
 | 
	
		
			
				|  |  | -    FileDescriptorProto barProto = FileDescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | -        .setName("boo.proto")
 | 
	
		
			
				|  |  | -        .addDependency("foo.proto")
 | 
	
		
			
				|  |  | -        .addPublicDependency(1)  // Error, should be 0.
 | 
	
		
			
				|  |  | -        .build();
 | 
	
		
			
				|  |  | -    FileDescriptor fooFile = Descriptors.FileDescriptor.buildFrom(fooProto,
 | 
	
		
			
				|  |  | -        new FileDescriptor[0]);
 | 
	
		
			
				|  |  | +    FileDescriptorProto fooProto = FileDescriptorProto.newBuilder().setName("foo.proto").build();
 | 
	
		
			
				|  |  | +    FileDescriptorProto barProto =
 | 
	
		
			
				|  |  | +        FileDescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | +            .setName("boo.proto")
 | 
	
		
			
				|  |  | +            .addDependency("foo.proto")
 | 
	
		
			
				|  |  | +            .addPublicDependency(1) // Error, should be 0.
 | 
	
		
			
				|  |  | +            .build();
 | 
	
		
			
				|  |  | +    FileDescriptor fooFile = Descriptors.FileDescriptor.buildFrom(fooProto, new FileDescriptor[0]);
 | 
	
		
			
				|  |  |      try {
 | 
	
		
			
				|  |  | -      Descriptors.FileDescriptor.buildFrom(barProto,
 | 
	
		
			
				|  |  | -          new FileDescriptor[] {fooFile});
 | 
	
		
			
				|  |  | +      Descriptors.FileDescriptor.buildFrom(barProto, new FileDescriptor[] {fooFile});
 | 
	
		
			
				|  |  |        fail("DescriptorValidationException expected");
 | 
	
		
			
				|  |  |      } catch (DescriptorValidationException e) {
 | 
	
		
			
				|  |  | -      assertTrue(
 | 
	
		
			
				|  |  | -          e.getMessage().indexOf("Invalid public dependency index.") != -1);
 | 
	
		
			
				|  |  | +      assertTrue(e.getMessage().indexOf("Invalid public dependency index.") != -1);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    public void testUnknownFieldsDenied() throws Exception {
 | 
	
		
			
				|  |  | -    FileDescriptorProto fooProto = FileDescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | -        .setName("foo.proto")
 | 
	
		
			
				|  |  | -        .addMessageType(DescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | -            .setName("Foo")
 | 
	
		
			
				|  |  | -            .addField(FieldDescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | -                .setLabel(FieldDescriptorProto.Label.LABEL_OPTIONAL)
 | 
	
		
			
				|  |  | -                .setTypeName("Bar")
 | 
	
		
			
				|  |  | -                .setName("bar")
 | 
	
		
			
				|  |  | -                .setNumber(1)))
 | 
	
		
			
				|  |  | -        .build();
 | 
	
		
			
				|  |  | +    FileDescriptorProto fooProto =
 | 
	
		
			
				|  |  | +        FileDescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | +            .setName("foo.proto")
 | 
	
		
			
				|  |  | +            .addMessageType(
 | 
	
		
			
				|  |  | +                DescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | +                    .setName("Foo")
 | 
	
		
			
				|  |  | +                    .addField(
 | 
	
		
			
				|  |  | +                        FieldDescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | +                            .setLabel(FieldDescriptorProto.Label.LABEL_OPTIONAL)
 | 
	
		
			
				|  |  | +                            .setTypeName("Bar")
 | 
	
		
			
				|  |  | +                            .setName("bar")
 | 
	
		
			
				|  |  | +                            .setNumber(1)))
 | 
	
		
			
				|  |  | +            .build();
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      try {
 | 
	
		
			
				|  |  |        Descriptors.FileDescriptor.buildFrom(fooProto, new FileDescriptor[0]);
 | 
	
	
		
			
				|  | @@ -602,48 +557,54 @@ public class DescriptorsTest extends TestCase {
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    public void testUnknownFieldsAllowed() throws Exception {
 | 
	
		
			
				|  |  | -    FileDescriptorProto fooProto = FileDescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | -        .setName("foo.proto")
 | 
	
		
			
				|  |  | -        .addDependency("bar.proto")
 | 
	
		
			
				|  |  | -        .addMessageType(DescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | -            .setName("Foo")
 | 
	
		
			
				|  |  | -            .addField(FieldDescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | -                .setLabel(FieldDescriptorProto.Label.LABEL_OPTIONAL)
 | 
	
		
			
				|  |  | -                .setTypeName("Bar")
 | 
	
		
			
				|  |  | -                .setName("bar")
 | 
	
		
			
				|  |  | -                .setNumber(1)))
 | 
	
		
			
				|  |  | -        .build();
 | 
	
		
			
				|  |  | +    FileDescriptorProto fooProto =
 | 
	
		
			
				|  |  | +        FileDescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | +            .setName("foo.proto")
 | 
	
		
			
				|  |  | +            .addDependency("bar.proto")
 | 
	
		
			
				|  |  | +            .addMessageType(
 | 
	
		
			
				|  |  | +                DescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | +                    .setName("Foo")
 | 
	
		
			
				|  |  | +                    .addField(
 | 
	
		
			
				|  |  | +                        FieldDescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | +                            .setLabel(FieldDescriptorProto.Label.LABEL_OPTIONAL)
 | 
	
		
			
				|  |  | +                            .setTypeName("Bar")
 | 
	
		
			
				|  |  | +                            .setName("bar")
 | 
	
		
			
				|  |  | +                            .setNumber(1)))
 | 
	
		
			
				|  |  | +            .build();
 | 
	
		
			
				|  |  |      Descriptors.FileDescriptor.buildFrom(fooProto, new FileDescriptor[0], true);
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    public void testHiddenDependency() throws Exception {
 | 
	
		
			
				|  |  | -    FileDescriptorProto barProto = FileDescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | -        .setName("bar.proto")
 | 
	
		
			
				|  |  | -        .addMessageType(DescriptorProto.newBuilder().setName("Bar"))
 | 
	
		
			
				|  |  | -        .build();
 | 
	
		
			
				|  |  | -    FileDescriptorProto forwardProto = FileDescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | -        .setName("forward.proto")
 | 
	
		
			
				|  |  | -        .addDependency("bar.proto")
 | 
	
		
			
				|  |  | -        .build();
 | 
	
		
			
				|  |  | -    FileDescriptorProto fooProto = FileDescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | -        .setName("foo.proto")
 | 
	
		
			
				|  |  | -        .addDependency("forward.proto")
 | 
	
		
			
				|  |  | -        .addMessageType(DescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | -            .setName("Foo")
 | 
	
		
			
				|  |  | -            .addField(FieldDescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | -                .setLabel(FieldDescriptorProto.Label.LABEL_OPTIONAL)
 | 
	
		
			
				|  |  | -                .setTypeName("Bar")
 | 
	
		
			
				|  |  | -                .setName("bar")
 | 
	
		
			
				|  |  | -                .setNumber(1)))
 | 
	
		
			
				|  |  | -        .build();
 | 
	
		
			
				|  |  | -    FileDescriptor barFile = Descriptors.FileDescriptor.buildFrom(
 | 
	
		
			
				|  |  | -        barProto, new FileDescriptor[0]);
 | 
	
		
			
				|  |  | -    FileDescriptor forwardFile = Descriptors.FileDescriptor.buildFrom(
 | 
	
		
			
				|  |  | -        forwardProto, new FileDescriptor[] {barFile});
 | 
	
		
			
				|  |  | +    FileDescriptorProto barProto =
 | 
	
		
			
				|  |  | +        FileDescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | +            .setName("bar.proto")
 | 
	
		
			
				|  |  | +            .addMessageType(DescriptorProto.newBuilder().setName("Bar"))
 | 
	
		
			
				|  |  | +            .build();
 | 
	
		
			
				|  |  | +    FileDescriptorProto forwardProto =
 | 
	
		
			
				|  |  | +        FileDescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | +            .setName("forward.proto")
 | 
	
		
			
				|  |  | +            .addDependency("bar.proto")
 | 
	
		
			
				|  |  | +            .build();
 | 
	
		
			
				|  |  | +    FileDescriptorProto fooProto =
 | 
	
		
			
				|  |  | +        FileDescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | +            .setName("foo.proto")
 | 
	
		
			
				|  |  | +            .addDependency("forward.proto")
 | 
	
		
			
				|  |  | +            .addMessageType(
 | 
	
		
			
				|  |  | +                DescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | +                    .setName("Foo")
 | 
	
		
			
				|  |  | +                    .addField(
 | 
	
		
			
				|  |  | +                        FieldDescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | +                            .setLabel(FieldDescriptorProto.Label.LABEL_OPTIONAL)
 | 
	
		
			
				|  |  | +                            .setTypeName("Bar")
 | 
	
		
			
				|  |  | +                            .setName("bar")
 | 
	
		
			
				|  |  | +                            .setNumber(1)))
 | 
	
		
			
				|  |  | +            .build();
 | 
	
		
			
				|  |  | +    FileDescriptor barFile = Descriptors.FileDescriptor.buildFrom(barProto, new FileDescriptor[0]);
 | 
	
		
			
				|  |  | +    FileDescriptor forwardFile =
 | 
	
		
			
				|  |  | +        Descriptors.FileDescriptor.buildFrom(forwardProto, new FileDescriptor[] {barFile});
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      try {
 | 
	
		
			
				|  |  | -      Descriptors.FileDescriptor.buildFrom(
 | 
	
		
			
				|  |  | -          fooProto, new FileDescriptor[] {forwardFile});
 | 
	
		
			
				|  |  | +      Descriptors.FileDescriptor.buildFrom(fooProto, new FileDescriptor[] {forwardFile});
 | 
	
		
			
				|  |  |        fail("DescriptorValidationException expected");
 | 
	
		
			
				|  |  |      } catch (DescriptorValidationException e) {
 | 
	
		
			
				|  |  |        assertTrue(e.getMessage().indexOf("Bar") != -1);
 | 
	
	
		
			
				|  | @@ -652,65 +613,67 @@ public class DescriptorsTest extends TestCase {
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    public void testPublicDependency() throws Exception {
 | 
	
		
			
				|  |  | -    FileDescriptorProto barProto = FileDescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | -        .setName("bar.proto")
 | 
	
		
			
				|  |  | -        .addMessageType(DescriptorProto.newBuilder().setName("Bar"))
 | 
	
		
			
				|  |  | -        .build();
 | 
	
		
			
				|  |  | -    FileDescriptorProto forwardProto = FileDescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | -        .setName("forward.proto")
 | 
	
		
			
				|  |  | -        .addDependency("bar.proto")
 | 
	
		
			
				|  |  | -        .addPublicDependency(0)
 | 
	
		
			
				|  |  | -        .build();
 | 
	
		
			
				|  |  | -    FileDescriptorProto fooProto = FileDescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | -        .setName("foo.proto")
 | 
	
		
			
				|  |  | -        .addDependency("forward.proto")
 | 
	
		
			
				|  |  | -        .addMessageType(DescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | -            .setName("Foo")
 | 
	
		
			
				|  |  | -            .addField(FieldDescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | -                .setLabel(FieldDescriptorProto.Label.LABEL_OPTIONAL)
 | 
	
		
			
				|  |  | -                .setTypeName("Bar")
 | 
	
		
			
				|  |  | -                .setName("bar")
 | 
	
		
			
				|  |  | -                .setNumber(1)))
 | 
	
		
			
				|  |  | -        .build();
 | 
	
		
			
				|  |  | -    FileDescriptor barFile = Descriptors.FileDescriptor.buildFrom(
 | 
	
		
			
				|  |  | -        barProto, new FileDescriptor[0]);
 | 
	
		
			
				|  |  | -    FileDescriptor forwardFile = Descriptors.FileDescriptor.buildFrom(
 | 
	
		
			
				|  |  | -        forwardProto, new FileDescriptor[]{barFile});
 | 
	
		
			
				|  |  | -    Descriptors.FileDescriptor.buildFrom(
 | 
	
		
			
				|  |  | -        fooProto, new FileDescriptor[] {forwardFile});
 | 
	
		
			
				|  |  | +    FileDescriptorProto barProto =
 | 
	
		
			
				|  |  | +        FileDescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | +            .setName("bar.proto")
 | 
	
		
			
				|  |  | +            .addMessageType(DescriptorProto.newBuilder().setName("Bar"))
 | 
	
		
			
				|  |  | +            .build();
 | 
	
		
			
				|  |  | +    FileDescriptorProto forwardProto =
 | 
	
		
			
				|  |  | +        FileDescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | +            .setName("forward.proto")
 | 
	
		
			
				|  |  | +            .addDependency("bar.proto")
 | 
	
		
			
				|  |  | +            .addPublicDependency(0)
 | 
	
		
			
				|  |  | +            .build();
 | 
	
		
			
				|  |  | +    FileDescriptorProto fooProto =
 | 
	
		
			
				|  |  | +        FileDescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | +            .setName("foo.proto")
 | 
	
		
			
				|  |  | +            .addDependency("forward.proto")
 | 
	
		
			
				|  |  | +            .addMessageType(
 | 
	
		
			
				|  |  | +                DescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | +                    .setName("Foo")
 | 
	
		
			
				|  |  | +                    .addField(
 | 
	
		
			
				|  |  | +                        FieldDescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | +                            .setLabel(FieldDescriptorProto.Label.LABEL_OPTIONAL)
 | 
	
		
			
				|  |  | +                            .setTypeName("Bar")
 | 
	
		
			
				|  |  | +                            .setName("bar")
 | 
	
		
			
				|  |  | +                            .setNumber(1)))
 | 
	
		
			
				|  |  | +            .build();
 | 
	
		
			
				|  |  | +    FileDescriptor barFile = Descriptors.FileDescriptor.buildFrom(barProto, new FileDescriptor[0]);
 | 
	
		
			
				|  |  | +    FileDescriptor forwardFile =
 | 
	
		
			
				|  |  | +        Descriptors.FileDescriptor.buildFrom(forwardProto, new FileDescriptor[] {barFile});
 | 
	
		
			
				|  |  | +    Descriptors.FileDescriptor.buildFrom(fooProto, new FileDescriptor[] {forwardFile});
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -  /**
 | 
	
		
			
				|  |  | -   * Tests the translate/crosslink for an example with a more complex namespace
 | 
	
		
			
				|  |  | -   * referencing.
 | 
	
		
			
				|  |  | -   */
 | 
	
		
			
				|  |  | +  /** Tests the translate/crosslink for an example with a more complex namespace referencing. */
 | 
	
		
			
				|  |  |    public void testComplexNamespacePublicDependency() throws Exception {
 | 
	
		
			
				|  |  | -    FileDescriptorProto fooProto = FileDescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | -        .setName("bar.proto")
 | 
	
		
			
				|  |  | -        .setPackage("a.b.c.d.bar.shared")
 | 
	
		
			
				|  |  | -        .addEnumType(EnumDescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | -            .setName("MyEnum")
 | 
	
		
			
				|  |  | -            .addValue(EnumValueDescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | -                .setName("BLAH")
 | 
	
		
			
				|  |  | -                .setNumber(1)))
 | 
	
		
			
				|  |  | -        .build();
 | 
	
		
			
				|  |  | -    FileDescriptorProto barProto = FileDescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | -        .setName("foo.proto")
 | 
	
		
			
				|  |  | -        .addDependency("bar.proto")
 | 
	
		
			
				|  |  | -        .setPackage("a.b.c.d.foo.shared")
 | 
	
		
			
				|  |  | -        .addMessageType(DescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | -            .setName("MyMessage")
 | 
	
		
			
				|  |  | -            .addField(FieldDescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | -                .setLabel(FieldDescriptorProto.Label.LABEL_REPEATED)
 | 
	
		
			
				|  |  | -                .setTypeName("bar.shared.MyEnum")
 | 
	
		
			
				|  |  | -                .setName("MyField")
 | 
	
		
			
				|  |  | -                .setNumber(1)))
 | 
	
		
			
				|  |  | -        .build();
 | 
	
		
			
				|  |  | +    FileDescriptorProto fooProto =
 | 
	
		
			
				|  |  | +        FileDescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | +            .setName("bar.proto")
 | 
	
		
			
				|  |  | +            .setPackage("a.b.c.d.bar.shared")
 | 
	
		
			
				|  |  | +            .addEnumType(
 | 
	
		
			
				|  |  | +                EnumDescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | +                    .setName("MyEnum")
 | 
	
		
			
				|  |  | +                    .addValue(EnumValueDescriptorProto.newBuilder().setName("BLAH").setNumber(1)))
 | 
	
		
			
				|  |  | +            .build();
 | 
	
		
			
				|  |  | +    FileDescriptorProto barProto =
 | 
	
		
			
				|  |  | +        FileDescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | +            .setName("foo.proto")
 | 
	
		
			
				|  |  | +            .addDependency("bar.proto")
 | 
	
		
			
				|  |  | +            .setPackage("a.b.c.d.foo.shared")
 | 
	
		
			
				|  |  | +            .addMessageType(
 | 
	
		
			
				|  |  | +                DescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | +                    .setName("MyMessage")
 | 
	
		
			
				|  |  | +                    .addField(
 | 
	
		
			
				|  |  | +                        FieldDescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | +                            .setLabel(FieldDescriptorProto.Label.LABEL_REPEATED)
 | 
	
		
			
				|  |  | +                            .setTypeName("bar.shared.MyEnum")
 | 
	
		
			
				|  |  | +                            .setName("MyField")
 | 
	
		
			
				|  |  | +                            .setNumber(1)))
 | 
	
		
			
				|  |  | +            .build();
 | 
	
		
			
				|  |  |      // translate and crosslink
 | 
	
		
			
				|  |  | -    FileDescriptor fooFile = Descriptors.FileDescriptor.buildFrom(
 | 
	
		
			
				|  |  | -        fooProto, new FileDescriptor[0]);
 | 
	
		
			
				|  |  | -    FileDescriptor barFile = Descriptors.FileDescriptor.buildFrom(
 | 
	
		
			
				|  |  | -        barProto, new FileDescriptor[]{fooFile});
 | 
	
		
			
				|  |  | +    FileDescriptor fooFile = Descriptors.FileDescriptor.buildFrom(fooProto, new FileDescriptor[0]);
 | 
	
		
			
				|  |  | +    FileDescriptor barFile =
 | 
	
		
			
				|  |  | +        Descriptors.FileDescriptor.buildFrom(barProto, new FileDescriptor[] {fooFile});
 | 
	
		
			
				|  |  |      // verify resulting descriptors
 | 
	
		
			
				|  |  |      assertNotNull(barFile);
 | 
	
		
			
				|  |  |      List<Descriptor> msglist = barFile.getMessageTypes();
 | 
	
	
		
			
				|  | @@ -726,15 +689,13 @@ public class DescriptorsTest extends TestCase {
 | 
	
		
			
				|  |  |        assertTrue(field.getType() == FieldDescriptor.Type.ENUM);
 | 
	
		
			
				|  |  |        assertTrue(field.getEnumType().getName().equals("MyEnum"));
 | 
	
		
			
				|  |  |        assertTrue(field.getEnumType().getFile().getName().equals("bar.proto"));
 | 
	
		
			
				|  |  | -      assertTrue(field.getEnumType().getFile().getPackage().equals(
 | 
	
		
			
				|  |  | -          "a.b.c.d.bar.shared"));
 | 
	
		
			
				|  |  | +      assertTrue(field.getEnumType().getFile().getPackage().equals("a.b.c.d.bar.shared"));
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    public void testOneofDescriptor() throws Exception {
 | 
	
		
			
				|  |  |      Descriptor messageType = TestAllTypes.getDescriptor();
 | 
	
		
			
				|  |  | -    FieldDescriptor field =
 | 
	
		
			
				|  |  | -        messageType.findFieldByName("oneof_nested_message");
 | 
	
		
			
				|  |  | +    FieldDescriptor field = messageType.findFieldByName("oneof_nested_message");
 | 
	
		
			
				|  |  |      OneofDescriptor oneofDescriptor = field.getContainingOneof();
 | 
	
		
			
				|  |  |      assertNotNull(oneofDescriptor);
 | 
	
		
			
				|  |  |      assertSame(oneofDescriptor, messageType.getOneofs().get(0));
 | 
	
	
		
			
				|  | @@ -774,36 +735,38 @@ public class DescriptorsTest extends TestCase {
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    public void testToString() {
 | 
	
		
			
				|  |  | -    assertEquals("protobuf_unittest.TestAllTypes.optional_uint64",
 | 
	
		
			
				|  |  | -        UnittestProto.TestAllTypes.getDescriptor().findFieldByNumber(
 | 
	
		
			
				|  |  | -            UnittestProto.TestAllTypes.OPTIONAL_UINT64_FIELD_NUMBER).toString());
 | 
	
		
			
				|  |  | +    assertEquals(
 | 
	
		
			
				|  |  | +        "protobuf_unittest.TestAllTypes.optional_uint64",
 | 
	
		
			
				|  |  | +        UnittestProto.TestAllTypes.getDescriptor()
 | 
	
		
			
				|  |  | +            .findFieldByNumber(UnittestProto.TestAllTypes.OPTIONAL_UINT64_FIELD_NUMBER)
 | 
	
		
			
				|  |  | +            .toString());
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    public void testPackedEnumField() throws Exception {
 | 
	
		
			
				|  |  | -    FileDescriptorProto fileDescriptorProto = FileDescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | -        .setName("foo.proto")
 | 
	
		
			
				|  |  | -        .addEnumType(EnumDescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | -          .setName("Enum")
 | 
	
		
			
				|  |  | -          .addValue(EnumValueDescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | -            .setName("FOO")
 | 
	
		
			
				|  |  | -            .setNumber(1)
 | 
	
		
			
				|  |  | -            .build())
 | 
	
		
			
				|  |  | -          .build())
 | 
	
		
			
				|  |  | -        .addMessageType(DescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | -          .setName("Message")
 | 
	
		
			
				|  |  | -          .addField(FieldDescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | -            .setName("foo")
 | 
	
		
			
				|  |  | -            .setTypeName("Enum")
 | 
	
		
			
				|  |  | -            .setNumber(1)
 | 
	
		
			
				|  |  | -            .setLabel(FieldDescriptorProto.Label.LABEL_REPEATED)
 | 
	
		
			
				|  |  | -            .setOptions(DescriptorProtos.FieldOptions.newBuilder()
 | 
	
		
			
				|  |  | -              .setPacked(true)
 | 
	
		
			
				|  |  | -              .build())
 | 
	
		
			
				|  |  | -            .build())
 | 
	
		
			
				|  |  | -          .build())
 | 
	
		
			
				|  |  | -        .build();
 | 
	
		
			
				|  |  | -    Descriptors.FileDescriptor.buildFrom(
 | 
	
		
			
				|  |  | -        fileDescriptorProto, new FileDescriptor[0]);
 | 
	
		
			
				|  |  | +    FileDescriptorProto fileDescriptorProto =
 | 
	
		
			
				|  |  | +        FileDescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | +            .setName("foo.proto")
 | 
	
		
			
				|  |  | +            .addEnumType(
 | 
	
		
			
				|  |  | +                EnumDescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | +                    .setName("Enum")
 | 
	
		
			
				|  |  | +                    .addValue(
 | 
	
		
			
				|  |  | +                        EnumValueDescriptorProto.newBuilder().setName("FOO").setNumber(1).build())
 | 
	
		
			
				|  |  | +                    .build())
 | 
	
		
			
				|  |  | +            .addMessageType(
 | 
	
		
			
				|  |  | +                DescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | +                    .setName("Message")
 | 
	
		
			
				|  |  | +                    .addField(
 | 
	
		
			
				|  |  | +                        FieldDescriptorProto.newBuilder()
 | 
	
		
			
				|  |  | +                            .setName("foo")
 | 
	
		
			
				|  |  | +                            .setTypeName("Enum")
 | 
	
		
			
				|  |  | +                            .setNumber(1)
 | 
	
		
			
				|  |  | +                            .setLabel(FieldDescriptorProto.Label.LABEL_REPEATED)
 | 
	
		
			
				|  |  | +                            .setOptions(
 | 
	
		
			
				|  |  | +                                DescriptorProtos.FieldOptions.newBuilder().setPacked(true).build())
 | 
	
		
			
				|  |  | +                            .build())
 | 
	
		
			
				|  |  | +                    .build())
 | 
	
		
			
				|  |  | +            .build();
 | 
	
		
			
				|  |  | +    Descriptors.FileDescriptor.buildFrom(fileDescriptorProto, new FileDescriptor[0]);
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    public void testFieldJsonName() throws Exception {
 |