Mark `FieldDescriptor.hasOptionalKeyword()` as deprecated.

This API will be removed in a future breaking change.

PiperOrigin-RevId: 547505900
pull/13287/head
Sandy Zhang 2 years ago committed by Copybara-Service
parent 43778a5e2b
commit d6157f7c7e
  1. 4
      java/core/src/main/java/com/google/protobuf/Descriptors.java
  2. 11
      java/core/src/main/java/com/google/protobuf/LegacyDescriptorsUtil.java

@ -1266,7 +1266,9 @@ public final class Descriptors {
* Returns true if this field was syntactically written with "optional" in the .proto file. * Returns true if this field was syntactically written with "optional" in the .proto file.
* Excludes singular proto3 fields that do not have a label. * Excludes singular proto3 fields that do not have a label.
*/ */
public boolean hasOptionalKeyword() { @Deprecated
public
boolean hasOptionalKeyword() {
return isProto3Optional return isProto3Optional
|| (file.getSyntax() == Syntax.PROTO2 && isOptional() && getContainingOneof() == null); || (file.getSyntax() == Syntax.PROTO2 && isOptional() && getContainingOneof() == null);
} }

@ -30,6 +30,7 @@
package com.google.protobuf; package com.google.protobuf;
import com.google.protobuf.Descriptors.FieldDescriptor;
import com.google.protobuf.Descriptors.FileDescriptor; import com.google.protobuf.Descriptors.FileDescriptor;
import com.google.protobuf.Descriptors.OneofDescriptor; import com.google.protobuf.Descriptors.OneofDescriptor;
@ -70,6 +71,16 @@ public final class LegacyDescriptorsUtil {
private LegacyFileDescriptor() {} private LegacyFileDescriptor() {}
} }
/** Wraps FieldDescriptor */
public static final class LegacyFieldDescriptor {
public static boolean hasOptionalKeyword(FieldDescriptor descriptor) {
return descriptor.hasOptionalKeyword();
}
private LegacyFieldDescriptor() {}
}
/** Wraps OneofDescriptor */ /** Wraps OneofDescriptor */
public static final class LegacyOneofDescriptor { public static final class LegacyOneofDescriptor {

Loading…
Cancel
Save