github-code-scanning[bot] commented on code in PR #2430:
URL: https://github.com/apache/avro/pull/2430#discussion_r1297719335


##########
lang/java/protobuf/src/test/java/org/apache/avro/protobuf/noopt/Test.java:
##########
@@ -3869,16 +3924,936 @@
       return PARSER;
     }
 
+    @java.lang.Override
     public org.apache.avro.protobuf.noopt.Test.M getDefaultInstanceForType() {
       return DEFAULT_INSTANCE;
     }
 
   }
 
+  public interface BarOrBuilder extends
+      // 
@@protoc_insertion_point(interface_extends:org.apache.avro.protobuf.noopt.Bar)
+      com.google.protobuf.MessageOrBuilder {
+  }
+
+  /**
+   * <pre>
+   * a nested message
+   * </pre>
+   *
+   * Protobuf type {@code org.apache.avro.protobuf.noopt.Bar}
+   */
+  public static final class Bar extends com.google.protobuf.GeneratedMessageV3 
implements
+      // 
@@protoc_insertion_point(message_implements:org.apache.avro.protobuf.noopt.Bar)
+      BarOrBuilder {
+    private static final long serialVersionUID = 0L;
+
+    // Use Bar.newBuilder() to construct.
+    private Bar(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+      super(builder);
+    }
+
+    private Bar() {
+    }
+
+    @java.lang.Override
+    public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+      return this.unknownFields;
+    }
+
+    private Bar(com.google.protobuf.CodedInputStream input, 
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      this();
+      if (extensionRegistry == null) {
+        throw new java.lang.NullPointerException();
+      }
+      com.google.protobuf.UnknownFieldSet.Builder unknownFields = 
com.google.protobuf.UnknownFieldSet.newBuilder();
+      try {
+        boolean done = false;
+        while (!done) {
+          int tag = input.readTag();
+          switch (tag) {
+          case 0:
+            done = true;
+            break;
+          default: {
+            if (!parseUnknownField(input, unknownFields, extensionRegistry, 
tag)) {
+              done = true;
+            }
+            break;
+          }
+          }
+        }
+      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+        throw e.setUnfinishedMessage(this);
+      } catch (java.io.IOException e) {
+        throw new 
com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+      } finally {
+        this.unknownFields = unknownFields.build();
+        makeExtensionsImmutable();
+      }
+    }
+
+    public static final com.google.protobuf.Descriptors.Descriptor 
getDescriptor() {
+      return 
org.apache.avro.protobuf.noopt.Test.internal_static_org_apache_avro_protobuf_noopt_Bar_descriptor;
+    }
+
+    @java.lang.Override
+    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable 
internalGetFieldAccessorTable() {
+      return 
org.apache.avro.protobuf.noopt.Test.internal_static_org_apache_avro_protobuf_noopt_Bar_fieldAccessorTable
+          
.ensureFieldAccessorsInitialized(org.apache.avro.protobuf.noopt.Test.Bar.class,
+              org.apache.avro.protobuf.noopt.Test.Bar.Builder.class);
+    }
+
+    public interface BarInnerOrBuilder extends
+        // 
@@protoc_insertion_point(interface_extends:org.apache.avro.protobuf.noopt.Bar.BarInner)
+        com.google.protobuf.MessageOrBuilder {
+
+      /**
+       * <code>required int32 a = 1;</code>
+       */
+      boolean hasA();
+
+      /**
+       * <code>required int32 a = 1;</code>
+       */
+      int getA();
+    }
+
+    /**
+     * Protobuf type {@code org.apache.avro.protobuf.noopt.Bar.BarInner}
+     */
+    public static final class BarInner extends 
com.google.protobuf.GeneratedMessageV3 implements
+        // 
@@protoc_insertion_point(message_implements:org.apache.avro.protobuf.noopt.Bar.BarInner)
+        BarInnerOrBuilder {
+      private static final long serialVersionUID = 0L;
+
+      // Use BarInner.newBuilder() to construct.
+      private BarInner(com.google.protobuf.GeneratedMessageV3.Builder<?> 
builder) {
+        super(builder);
+      }
+
+      private BarInner() {
+        a_ = 0;
+      }
+
+      @java.lang.Override
+      public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+        return this.unknownFields;
+      }
+
+      private BarInner(com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        this();
+        if (extensionRegistry == null) {
+          throw new java.lang.NullPointerException();
+        }
+        int mutable_bitField0_ = 0;
+        com.google.protobuf.UnknownFieldSet.Builder unknownFields = 
com.google.protobuf.UnknownFieldSet.newBuilder();
+        try {
+          boolean done = false;
+          while (!done) {
+            int tag = input.readTag();
+            switch (tag) {
+            case 0:
+              done = true;
+              break;
+            case 8: {
+              bitField0_ |= 0x00000001;
+              a_ = input.readInt32();
+              break;
+            }
+            default: {
+              if (!parseUnknownField(input, unknownFields, extensionRegistry, 
tag)) {
+                done = true;
+              }
+              break;
+            }
+            }
+          }
+        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+          throw e.setUnfinishedMessage(this);
+        } catch (java.io.IOException e) {
+          throw new 
com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+        } finally {
+          this.unknownFields = unknownFields.build();
+          makeExtensionsImmutable();
+        }
+      }
+
+      public static final com.google.protobuf.Descriptors.Descriptor 
getDescriptor() {
+        return 
org.apache.avro.protobuf.noopt.Test.internal_static_org_apache_avro_protobuf_noopt_Bar_BarInner_descriptor;
+      }
+
+      @java.lang.Override
+      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable 
internalGetFieldAccessorTable() {
+        return 
org.apache.avro.protobuf.noopt.Test.internal_static_org_apache_avro_protobuf_noopt_Bar_BarInner_fieldAccessorTable
+            
.ensureFieldAccessorsInitialized(org.apache.avro.protobuf.noopt.Test.Bar.BarInner.class,
+                
org.apache.avro.protobuf.noopt.Test.Bar.BarInner.Builder.class);
+      }
+
+      private int bitField0_;
+      public static final int A_FIELD_NUMBER = 1;
+      private int a_;
+
+      /**
+       * <code>required int32 a = 1;</code>
+       */
+      public boolean hasA() {

Review Comment:
   ## Missing Override annotation
   
   This method overrides [BarInnerOrBuilder.hasA](1); it is advisable to add an 
Override annotation.
   
   [Show more 
details](https://github.com/apache/avro/security/code-scanning/3121)



##########
lang/java/protobuf/src/test/java/org/apache/avro/protobuf/noopt/Test.java:
##########
@@ -3869,16 +3924,936 @@
       return PARSER;
     }
 
+    @java.lang.Override
     public org.apache.avro.protobuf.noopt.Test.M getDefaultInstanceForType() {
       return DEFAULT_INSTANCE;
     }
 
   }
 
+  public interface BarOrBuilder extends
+      // 
@@protoc_insertion_point(interface_extends:org.apache.avro.protobuf.noopt.Bar)
+      com.google.protobuf.MessageOrBuilder {
+  }
+
+  /**
+   * <pre>
+   * a nested message
+   * </pre>
+   *
+   * Protobuf type {@code org.apache.avro.protobuf.noopt.Bar}
+   */
+  public static final class Bar extends com.google.protobuf.GeneratedMessageV3 
implements
+      // 
@@protoc_insertion_point(message_implements:org.apache.avro.protobuf.noopt.Bar)
+      BarOrBuilder {
+    private static final long serialVersionUID = 0L;
+
+    // Use Bar.newBuilder() to construct.
+    private Bar(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+      super(builder);
+    }
+
+    private Bar() {
+    }
+
+    @java.lang.Override
+    public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+      return this.unknownFields;
+    }
+
+    private Bar(com.google.protobuf.CodedInputStream input, 
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      this();
+      if (extensionRegistry == null) {
+        throw new java.lang.NullPointerException();
+      }
+      com.google.protobuf.UnknownFieldSet.Builder unknownFields = 
com.google.protobuf.UnknownFieldSet.newBuilder();
+      try {
+        boolean done = false;
+        while (!done) {
+          int tag = input.readTag();
+          switch (tag) {
+          case 0:
+            done = true;
+            break;
+          default: {
+            if (!parseUnknownField(input, unknownFields, extensionRegistry, 
tag)) {
+              done = true;
+            }
+            break;
+          }
+          }
+        }
+      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+        throw e.setUnfinishedMessage(this);
+      } catch (java.io.IOException e) {
+        throw new 
com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+      } finally {
+        this.unknownFields = unknownFields.build();
+        makeExtensionsImmutable();
+      }
+    }
+
+    public static final com.google.protobuf.Descriptors.Descriptor 
getDescriptor() {
+      return 
org.apache.avro.protobuf.noopt.Test.internal_static_org_apache_avro_protobuf_noopt_Bar_descriptor;
+    }
+
+    @java.lang.Override
+    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable 
internalGetFieldAccessorTable() {
+      return 
org.apache.avro.protobuf.noopt.Test.internal_static_org_apache_avro_protobuf_noopt_Bar_fieldAccessorTable
+          
.ensureFieldAccessorsInitialized(org.apache.avro.protobuf.noopt.Test.Bar.class,
+              org.apache.avro.protobuf.noopt.Test.Bar.Builder.class);
+    }
+
+    public interface BarInnerOrBuilder extends
+        // 
@@protoc_insertion_point(interface_extends:org.apache.avro.protobuf.noopt.Bar.BarInner)
+        com.google.protobuf.MessageOrBuilder {
+
+      /**
+       * <code>required int32 a = 1;</code>
+       */
+      boolean hasA();
+
+      /**
+       * <code>required int32 a = 1;</code>
+       */
+      int getA();
+    }
+
+    /**
+     * Protobuf type {@code org.apache.avro.protobuf.noopt.Bar.BarInner}
+     */
+    public static final class BarInner extends 
com.google.protobuf.GeneratedMessageV3 implements
+        // 
@@protoc_insertion_point(message_implements:org.apache.avro.protobuf.noopt.Bar.BarInner)
+        BarInnerOrBuilder {
+      private static final long serialVersionUID = 0L;
+
+      // Use BarInner.newBuilder() to construct.
+      private BarInner(com.google.protobuf.GeneratedMessageV3.Builder<?> 
builder) {
+        super(builder);
+      }
+
+      private BarInner() {
+        a_ = 0;
+      }
+
+      @java.lang.Override
+      public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+        return this.unknownFields;
+      }
+
+      private BarInner(com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        this();
+        if (extensionRegistry == null) {
+          throw new java.lang.NullPointerException();
+        }
+        int mutable_bitField0_ = 0;
+        com.google.protobuf.UnknownFieldSet.Builder unknownFields = 
com.google.protobuf.UnknownFieldSet.newBuilder();
+        try {
+          boolean done = false;
+          while (!done) {
+            int tag = input.readTag();
+            switch (tag) {
+            case 0:
+              done = true;
+              break;
+            case 8: {
+              bitField0_ |= 0x00000001;
+              a_ = input.readInt32();
+              break;
+            }
+            default: {
+              if (!parseUnknownField(input, unknownFields, extensionRegistry, 
tag)) {
+                done = true;
+              }
+              break;
+            }
+            }
+          }
+        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+          throw e.setUnfinishedMessage(this);
+        } catch (java.io.IOException e) {
+          throw new 
com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+        } finally {
+          this.unknownFields = unknownFields.build();
+          makeExtensionsImmutable();
+        }
+      }
+
+      public static final com.google.protobuf.Descriptors.Descriptor 
getDescriptor() {
+        return 
org.apache.avro.protobuf.noopt.Test.internal_static_org_apache_avro_protobuf_noopt_Bar_BarInner_descriptor;
+      }
+
+      @java.lang.Override
+      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable 
internalGetFieldAccessorTable() {
+        return 
org.apache.avro.protobuf.noopt.Test.internal_static_org_apache_avro_protobuf_noopt_Bar_BarInner_fieldAccessorTable
+            
.ensureFieldAccessorsInitialized(org.apache.avro.protobuf.noopt.Test.Bar.BarInner.class,
+                
org.apache.avro.protobuf.noopt.Test.Bar.BarInner.Builder.class);
+      }
+
+      private int bitField0_;
+      public static final int A_FIELD_NUMBER = 1;
+      private int a_;
+
+      /**
+       * <code>required int32 a = 1;</code>
+       */
+      public boolean hasA() {
+        return ((bitField0_ & 0x00000001) == 0x00000001);
+      }
+
+      /**
+       * <code>required int32 a = 1;</code>
+       */
+      public int getA() {

Review Comment:
   ## Missing Override annotation
   
   This method overrides [BarInnerOrBuilder.getA](1); it is advisable to add an 
Override annotation.
   
   [Show more 
details](https://github.com/apache/avro/security/code-scanning/3120)



##########
lang/java/avro/src/main/java/org/apache/avro/Schema.java:
##########
@@ -717,12 +717,14 @@
         space = name.substring(0, lastDot); // get space from name
         this.name = validateName(name.substring(lastDot + 1));
       }
-      if ("".equals(space))
-        space = null;
-      this.space = space;
+      this.space = "".equals(space) || space == null ? null : 
validateSpace(space);

Review Comment:
   ## Inefficient empty string test
   
   Inefficient comparison to empty string, check for zero length instead.
   
   [Show more 
details](https://github.com/apache/avro/security/code-scanning/3129)



##########
lang/java/protobuf/src/test/java/org/apache/avro/protobuf/noopt/Test.java:
##########
@@ -3869,16 +3924,936 @@
       return PARSER;
     }
 
+    @java.lang.Override
     public org.apache.avro.protobuf.noopt.Test.M getDefaultInstanceForType() {
       return DEFAULT_INSTANCE;
     }
 
   }
 
+  public interface BarOrBuilder extends
+      // 
@@protoc_insertion_point(interface_extends:org.apache.avro.protobuf.noopt.Bar)
+      com.google.protobuf.MessageOrBuilder {
+  }
+
+  /**
+   * <pre>
+   * a nested message
+   * </pre>
+   *
+   * Protobuf type {@code org.apache.avro.protobuf.noopt.Bar}
+   */
+  public static final class Bar extends com.google.protobuf.GeneratedMessageV3 
implements
+      // 
@@protoc_insertion_point(message_implements:org.apache.avro.protobuf.noopt.Bar)
+      BarOrBuilder {
+    private static final long serialVersionUID = 0L;
+
+    // Use Bar.newBuilder() to construct.
+    private Bar(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+      super(builder);
+    }
+
+    private Bar() {
+    }
+
+    @java.lang.Override
+    public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+      return this.unknownFields;
+    }
+
+    private Bar(com.google.protobuf.CodedInputStream input, 
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      this();
+      if (extensionRegistry == null) {
+        throw new java.lang.NullPointerException();
+      }
+      com.google.protobuf.UnknownFieldSet.Builder unknownFields = 
com.google.protobuf.UnknownFieldSet.newBuilder();
+      try {
+        boolean done = false;
+        while (!done) {
+          int tag = input.readTag();
+          switch (tag) {
+          case 0:
+            done = true;
+            break;
+          default: {
+            if (!parseUnknownField(input, unknownFields, extensionRegistry, 
tag)) {
+              done = true;
+            }
+            break;
+          }
+          }
+        }
+      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+        throw e.setUnfinishedMessage(this);
+      } catch (java.io.IOException e) {
+        throw new 
com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+      } finally {
+        this.unknownFields = unknownFields.build();
+        makeExtensionsImmutable();
+      }
+    }
+
+    public static final com.google.protobuf.Descriptors.Descriptor 
getDescriptor() {
+      return 
org.apache.avro.protobuf.noopt.Test.internal_static_org_apache_avro_protobuf_noopt_Bar_descriptor;
+    }
+
+    @java.lang.Override
+    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable 
internalGetFieldAccessorTable() {
+      return 
org.apache.avro.protobuf.noopt.Test.internal_static_org_apache_avro_protobuf_noopt_Bar_fieldAccessorTable
+          
.ensureFieldAccessorsInitialized(org.apache.avro.protobuf.noopt.Test.Bar.class,
+              org.apache.avro.protobuf.noopt.Test.Bar.Builder.class);
+    }
+
+    public interface BarInnerOrBuilder extends
+        // 
@@protoc_insertion_point(interface_extends:org.apache.avro.protobuf.noopt.Bar.BarInner)
+        com.google.protobuf.MessageOrBuilder {
+
+      /**
+       * <code>required int32 a = 1;</code>
+       */
+      boolean hasA();
+
+      /**
+       * <code>required int32 a = 1;</code>
+       */
+      int getA();
+    }
+
+    /**
+     * Protobuf type {@code org.apache.avro.protobuf.noopt.Bar.BarInner}
+     */
+    public static final class BarInner extends 
com.google.protobuf.GeneratedMessageV3 implements
+        // 
@@protoc_insertion_point(message_implements:org.apache.avro.protobuf.noopt.Bar.BarInner)
+        BarInnerOrBuilder {
+      private static final long serialVersionUID = 0L;
+
+      // Use BarInner.newBuilder() to construct.
+      private BarInner(com.google.protobuf.GeneratedMessageV3.Builder<?> 
builder) {
+        super(builder);
+      }
+
+      private BarInner() {
+        a_ = 0;
+      }
+
+      @java.lang.Override
+      public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+        return this.unknownFields;
+      }
+
+      private BarInner(com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        this();
+        if (extensionRegistry == null) {
+          throw new java.lang.NullPointerException();
+        }
+        int mutable_bitField0_ = 0;
+        com.google.protobuf.UnknownFieldSet.Builder unknownFields = 
com.google.protobuf.UnknownFieldSet.newBuilder();
+        try {
+          boolean done = false;
+          while (!done) {
+            int tag = input.readTag();
+            switch (tag) {
+            case 0:
+              done = true;
+              break;
+            case 8: {
+              bitField0_ |= 0x00000001;
+              a_ = input.readInt32();
+              break;
+            }
+            default: {
+              if (!parseUnknownField(input, unknownFields, extensionRegistry, 
tag)) {
+                done = true;
+              }
+              break;
+            }
+            }
+          }
+        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+          throw e.setUnfinishedMessage(this);
+        } catch (java.io.IOException e) {
+          throw new 
com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+        } finally {
+          this.unknownFields = unknownFields.build();
+          makeExtensionsImmutable();
+        }
+      }
+
+      public static final com.google.protobuf.Descriptors.Descriptor 
getDescriptor() {
+        return 
org.apache.avro.protobuf.noopt.Test.internal_static_org_apache_avro_protobuf_noopt_Bar_BarInner_descriptor;
+      }
+
+      @java.lang.Override
+      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable 
internalGetFieldAccessorTable() {
+        return 
org.apache.avro.protobuf.noopt.Test.internal_static_org_apache_avro_protobuf_noopt_Bar_BarInner_fieldAccessorTable
+            
.ensureFieldAccessorsInitialized(org.apache.avro.protobuf.noopt.Test.Bar.BarInner.class,
+                
org.apache.avro.protobuf.noopt.Test.Bar.BarInner.Builder.class);
+      }
+
+      private int bitField0_;
+      public static final int A_FIELD_NUMBER = 1;
+      private int a_;
+
+      /**
+       * <code>required int32 a = 1;</code>
+       */
+      public boolean hasA() {
+        return ((bitField0_ & 0x00000001) == 0x00000001);
+      }
+
+      /**
+       * <code>required int32 a = 1;</code>
+       */
+      public int getA() {
+        return a_;
+      }
+
+      private byte memoizedIsInitialized = -1;
+
+      @java.lang.Override
+      public final boolean isInitialized() {
+        byte isInitialized = memoizedIsInitialized;
+        if (isInitialized == 1)
+          return true;
+        if (isInitialized == 0)
+          return false;
+
+        if (!hasA()) {
+          memoizedIsInitialized = 0;
+          return false;
+        }
+        memoizedIsInitialized = 1;
+        return true;
+      }
+
+      @java.lang.Override
+      public void writeTo(com.google.protobuf.CodedOutputStream output) throws 
java.io.IOException {
+        if (((bitField0_ & 0x00000001) == 0x00000001)) {
+          output.writeInt32(1, a_);
+        }
+        unknownFields.writeTo(output);
+      }
+
+      @java.lang.Override
+      public int getSerializedSize() {
+        int size = memoizedSize;
+        if (size != -1)
+          return size;
+
+        size = 0;
+        if (((bitField0_ & 0x00000001) == 0x00000001)) {
+          size += com.google.protobuf.CodedOutputStream.computeInt32Size(1, 
a_);
+        }
+        size += unknownFields.getSerializedSize();
+        memoizedSize = size;
+        return size;
+      }
+
+      @java.lang.Override
+      public boolean equals(final java.lang.Object obj) {
+        if (obj == this) {
+          return true;
+        }
+        if (!(obj instanceof 
org.apache.avro.protobuf.noopt.Test.Bar.BarInner)) {
+          return super.equals(obj);
+        }
+        org.apache.avro.protobuf.noopt.Test.Bar.BarInner other = 
(org.apache.avro.protobuf.noopt.Test.Bar.BarInner) obj;
+
+        boolean result = true;
+        result = result && (hasA() == other.hasA());
+        if (hasA()) {
+          result = result && (getA() == other.getA());
+        }
+        result = result && unknownFields.equals(other.unknownFields);
+        return result;
+      }
+
+      @java.lang.Override
+      public int hashCode() {
+        if (memoizedHashCode != 0) {
+          return memoizedHashCode;
+        }
+        int hash = 41;
+        hash = (19 * hash) + getDescriptor().hashCode();
+        if (hasA()) {
+          hash = (37 * hash) + A_FIELD_NUMBER;
+          hash = (53 * hash) + getA();
+        }
+        hash = (29 * hash) + unknownFields.hashCode();
+        memoizedHashCode = hash;
+        return hash;
+      }
+
+      public static org.apache.avro.protobuf.noopt.Test.Bar.BarInner 
parseFrom(java.nio.ByteBuffer data)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        return PARSER.parseFrom(data);
+      }
+
+      public static org.apache.avro.protobuf.noopt.Test.Bar.BarInner 
parseFrom(java.nio.ByteBuffer data,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        return PARSER.parseFrom(data, extensionRegistry);
+      }
+
+      public static org.apache.avro.protobuf.noopt.Test.Bar.BarInner 
parseFrom(com.google.protobuf.ByteString data)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        return PARSER.parseFrom(data);
+      }
+
+      public static org.apache.avro.protobuf.noopt.Test.Bar.BarInner 
parseFrom(com.google.protobuf.ByteString data,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        return PARSER.parseFrom(data, extensionRegistry);
+      }
+
+      public static org.apache.avro.protobuf.noopt.Test.Bar.BarInner 
parseFrom(byte[] data)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        return PARSER.parseFrom(data);
+      }
+
+      public static org.apache.avro.protobuf.noopt.Test.Bar.BarInner 
parseFrom(byte[] data,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        return PARSER.parseFrom(data, extensionRegistry);
+      }
+
+      public static org.apache.avro.protobuf.noopt.Test.Bar.BarInner 
parseFrom(java.io.InputStream input)
+          throws java.io.IOException {
+        return 
com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
+      }
+
+      public static org.apache.avro.protobuf.noopt.Test.Bar.BarInner 
parseFrom(java.io.InputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws 
java.io.IOException {
+        return 
com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input, 
extensionRegistry);
+      }
+
+      public static org.apache.avro.protobuf.noopt.Test.Bar.BarInner 
parseDelimitedFrom(java.io.InputStream input)
+          throws java.io.IOException {
+        return 
com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, 
input);
+      }
+
+      public static org.apache.avro.protobuf.noopt.Test.Bar.BarInner 
parseDelimitedFrom(java.io.InputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws 
java.io.IOException {
+        return 
com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, 
input, extensionRegistry);
+      }
+
+      public static org.apache.avro.protobuf.noopt.Test.Bar.BarInner parseFrom(
+          com.google.protobuf.CodedInputStream input) throws 
java.io.IOException {
+        return 
com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
+      }
+
+      public static org.apache.avro.protobuf.noopt.Test.Bar.BarInner parseFrom(
+          com.google.protobuf.CodedInputStream input, 
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws java.io.IOException {
+        return 
com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input, 
extensionRegistry);
+      }
+
+      @java.lang.Override
+      public Builder newBuilderForType() {
+        return newBuilder();
+      }
+
+      public static Builder newBuilder() {
+        return DEFAULT_INSTANCE.toBuilder();
+      }
+
+      public static Builder 
newBuilder(org.apache.avro.protobuf.noopt.Test.Bar.BarInner prototype) {
+        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+      }
+
+      @java.lang.Override
+      public Builder toBuilder() {
+        return this == DEFAULT_INSTANCE ? new Builder() : new 
Builder().mergeFrom(this);
+      }
+
+      @java.lang.Override
+      protected Builder 
newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+        Builder builder = new Builder(parent);
+        return builder;
+      }
+
+      /**
+       * Protobuf type {@code org.apache.avro.protobuf.noopt.Bar.BarInner}
+       */
+      public static final class Builder extends 
com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+          // 
@@protoc_insertion_point(builder_implements:org.apache.avro.protobuf.noopt.Bar.BarInner)
+          org.apache.avro.protobuf.noopt.Test.Bar.BarInnerOrBuilder {
+        public static final com.google.protobuf.Descriptors.Descriptor 
getDescriptor() {
+          return 
org.apache.avro.protobuf.noopt.Test.internal_static_org_apache_avro_protobuf_noopt_Bar_BarInner_descriptor;
+        }
+
+        @java.lang.Override
+        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable 
internalGetFieldAccessorTable() {
+          return 
org.apache.avro.protobuf.noopt.Test.internal_static_org_apache_avro_protobuf_noopt_Bar_BarInner_fieldAccessorTable
+              
.ensureFieldAccessorsInitialized(org.apache.avro.protobuf.noopt.Test.Bar.BarInner.class,
+                  
org.apache.avro.protobuf.noopt.Test.Bar.BarInner.Builder.class);
+        }
+
+        // Construct using 
org.apache.avro.protobuf.noopt.Test.Bar.BarInner.newBuilder()
+        private Builder() {
+          maybeForceBuilderInitialization();
+        }
+
+        private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent 
parent) {
+          super(parent);
+          maybeForceBuilderInitialization();
+        }
+
+        private void maybeForceBuilderInitialization() {
+          if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+          }
+        }
+
+        @java.lang.Override
+        public Builder clear() {
+          super.clear();
+          a_ = 0;
+          bitField0_ = (bitField0_ & ~0x00000001);
+          return this;
+        }
+
+        @java.lang.Override
+        public com.google.protobuf.Descriptors.Descriptor 
getDescriptorForType() {
+          return 
org.apache.avro.protobuf.noopt.Test.internal_static_org_apache_avro_protobuf_noopt_Bar_BarInner_descriptor;
+        }
+
+        @java.lang.Override
+        public org.apache.avro.protobuf.noopt.Test.Bar.BarInner 
getDefaultInstanceForType() {
+          return 
org.apache.avro.protobuf.noopt.Test.Bar.BarInner.getDefaultInstance();
+        }
+
+        @java.lang.Override
+        public org.apache.avro.protobuf.noopt.Test.Bar.BarInner build() {
+          org.apache.avro.protobuf.noopt.Test.Bar.BarInner result = 
buildPartial();
+          if (!result.isInitialized()) {
+            throw newUninitializedMessageException(result);
+          }
+          return result;
+        }
+
+        @java.lang.Override
+        public org.apache.avro.protobuf.noopt.Test.Bar.BarInner buildPartial() 
{
+          org.apache.avro.protobuf.noopt.Test.Bar.BarInner result = new 
org.apache.avro.protobuf.noopt.Test.Bar.BarInner(
+              this);
+          int from_bitField0_ = bitField0_;
+          int to_bitField0_ = 0;
+          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
+            to_bitField0_ |= 0x00000001;
+          }
+          result.a_ = a_;
+          result.bitField0_ = to_bitField0_;
+          onBuilt();
+          return result;
+        }
+
+        @java.lang.Override
+        public Builder clone() {
+          return (Builder) super.clone();
+        }
+
+        @java.lang.Override
+        public Builder 
setField(com.google.protobuf.Descriptors.FieldDescriptor field, 
java.lang.Object value) {
+          return (Builder) super.setField(field, value);
+        }
+
+        @java.lang.Override
+        public Builder 
clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+          return (Builder) super.clearField(field);
+        }
+
+        @java.lang.Override
+        public Builder 
clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+          return (Builder) super.clearOneof(oneof);
+        }
+
+        @java.lang.Override
+        public Builder 
setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int 
index,
+            java.lang.Object value) {
+          return (Builder) super.setRepeatedField(field, index, value);
+        }
+
+        @java.lang.Override
+        public Builder 
addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, 
java.lang.Object value) {
+          return (Builder) super.addRepeatedField(field, value);
+        }
+
+        @java.lang.Override
+        public Builder mergeFrom(com.google.protobuf.Message other) {
+          if (other instanceof 
org.apache.avro.protobuf.noopt.Test.Bar.BarInner) {
+            return 
mergeFrom((org.apache.avro.protobuf.noopt.Test.Bar.BarInner) other);
+          } else {
+            super.mergeFrom(other);
+            return this;
+          }
+        }
+
+        public Builder 
mergeFrom(org.apache.avro.protobuf.noopt.Test.Bar.BarInner other) {
+          if (other == 
org.apache.avro.protobuf.noopt.Test.Bar.BarInner.getDefaultInstance())
+            return this;
+          if (other.hasA()) {
+            setA(other.getA());
+          }
+          this.mergeUnknownFields(other.unknownFields);
+          onChanged();
+          return this;
+        }
+
+        @java.lang.Override
+        public final boolean isInitialized() {
+          if (!hasA()) {
+            return false;
+          }
+          return true;
+        }
+
+        @java.lang.Override
+        public Builder mergeFrom(com.google.protobuf.CodedInputStream input,
+            com.google.protobuf.ExtensionRegistryLite extensionRegistry) 
throws java.io.IOException {
+          org.apache.avro.protobuf.noopt.Test.Bar.BarInner parsedMessage = 
null;
+          try {
+            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+            parsedMessage = (org.apache.avro.protobuf.noopt.Test.Bar.BarInner) 
e.getUnfinishedMessage();
+            throw e.unwrapIOException();
+          } finally {
+            if (parsedMessage != null) {
+              mergeFrom(parsedMessage);
+            }
+          }
+          return this;
+        }
+
+        private int bitField0_;
+
+        private int a_;
+
+        /**
+         * <code>required int32 a = 1;</code>
+         */
+        public boolean hasA() {
+          return ((bitField0_ & 0x00000001) == 0x00000001);
+        }
+
+        /**
+         * <code>required int32 a = 1;</code>
+         */
+        public int getA() {
+          return a_;
+        }
+
+        /**
+         * <code>required int32 a = 1;</code>
+         */
+        public Builder setA(int value) {
+          bitField0_ |= 0x00000001;
+          a_ = value;
+          onChanged();
+          return this;
+        }
+
+        /**
+         * <code>required int32 a = 1;</code>
+         */
+        public Builder clearA() {
+          bitField0_ = (bitField0_ & ~0x00000001);
+          a_ = 0;
+          onChanged();
+          return this;
+        }
+
+        @java.lang.Override
+        public final Builder setUnknownFields(final 
com.google.protobuf.UnknownFieldSet unknownFields) {
+          return super.setUnknownFields(unknownFields);
+        }
+
+        @java.lang.Override
+        public final Builder mergeUnknownFields(final 
com.google.protobuf.UnknownFieldSet unknownFields) {
+          return super.mergeUnknownFields(unknownFields);
+        }
+
+        // 
@@protoc_insertion_point(builder_scope:org.apache.avro.protobuf.noopt.Bar.BarInner)
+      }
+
+      // 
@@protoc_insertion_point(class_scope:org.apache.avro.protobuf.noopt.Bar.BarInner)
+      private static final org.apache.avro.protobuf.noopt.Test.Bar.BarInner 
DEFAULT_INSTANCE;
+      static {
+        DEFAULT_INSTANCE = new 
org.apache.avro.protobuf.noopt.Test.Bar.BarInner();
+      }
+
+      public static org.apache.avro.protobuf.noopt.Test.Bar.BarInner 
getDefaultInstance() {
+        return DEFAULT_INSTANCE;
+      }
+
+      @java.lang.Deprecated
+      public static final com.google.protobuf.Parser<BarInner> PARSER = new 
com.google.protobuf.AbstractParser<BarInner>() {
+        @java.lang.Override
+        public BarInner parsePartialFrom(com.google.protobuf.CodedInputStream 
input,
+            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+            throws com.google.protobuf.InvalidProtocolBufferException {
+          return new BarInner(input, extensionRegistry);
+        }
+      };
+
+      public static com.google.protobuf.Parser<BarInner> parser() {
+        return PARSER;
+      }
+
+      @java.lang.Override
+      public com.google.protobuf.Parser<BarInner> getParserForType() {
+        return PARSER;
+      }
+
+      @java.lang.Override
+      public org.apache.avro.protobuf.noopt.Test.Bar.BarInner 
getDefaultInstanceForType() {
+        return DEFAULT_INSTANCE;
+      }
+
+    }
+
+    private byte memoizedIsInitialized = -1;
+
+    @java.lang.Override
+    public final boolean isInitialized() {
+      byte isInitialized = memoizedIsInitialized;
+      if (isInitialized == 1)
+        return true;
+      if (isInitialized == 0)
+        return false;
+
+      memoizedIsInitialized = 1;
+      return true;
+    }
+
+    @java.lang.Override
+    public void writeTo(com.google.protobuf.CodedOutputStream output) throws 
java.io.IOException {
+      unknownFields.writeTo(output);
+    }
+
+    @java.lang.Override
+    public int getSerializedSize() {
+      int size = memoizedSize;
+      if (size != -1)
+        return size;
+
+      size = 0;
+      size += unknownFields.getSerializedSize();
+      memoizedSize = size;
+      return size;
+    }
+
+    @java.lang.Override
+    public boolean equals(final java.lang.Object obj) {
+      if (obj == this) {
+        return true;
+      }
+      if (!(obj instanceof org.apache.avro.protobuf.noopt.Test.Bar)) {
+        return super.equals(obj);
+      }
+      org.apache.avro.protobuf.noopt.Test.Bar other = 
(org.apache.avro.protobuf.noopt.Test.Bar) obj;
+
+      boolean result = true;
+      result = result && unknownFields.equals(other.unknownFields);
+      return result;
+    }
+
+    @java.lang.Override
+    public int hashCode() {
+      if (memoizedHashCode != 0) {
+        return memoizedHashCode;
+      }
+      int hash = 41;
+      hash = (19 * hash) + getDescriptor().hashCode();
+      hash = (29 * hash) + unknownFields.hashCode();
+      memoizedHashCode = hash;
+      return hash;
+    }
+
+    public static org.apache.avro.protobuf.noopt.Test.Bar 
parseFrom(java.nio.ByteBuffer data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data);
+    }
+
+    public static org.apache.avro.protobuf.noopt.Test.Bar 
parseFrom(java.nio.ByteBuffer data,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data, extensionRegistry);
+    }
+
+    public static org.apache.avro.protobuf.noopt.Test.Bar 
parseFrom(com.google.protobuf.ByteString data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data);
+    }
+
+    public static org.apache.avro.protobuf.noopt.Test.Bar 
parseFrom(com.google.protobuf.ByteString data,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data, extensionRegistry);
+    }
+
+    public static org.apache.avro.protobuf.noopt.Test.Bar parseFrom(byte[] 
data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data);
+    }
+
+    public static org.apache.avro.protobuf.noopt.Test.Bar parseFrom(byte[] 
data,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data, extensionRegistry);
+    }
+
+    public static org.apache.avro.protobuf.noopt.Test.Bar 
parseFrom(java.io.InputStream input)
+        throws java.io.IOException {
+      return 
com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
+    }
+
+    public static org.apache.avro.protobuf.noopt.Test.Bar 
parseFrom(java.io.InputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws 
java.io.IOException {
+      return 
com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input, 
extensionRegistry);
+    }
+
+    public static org.apache.avro.protobuf.noopt.Test.Bar 
parseDelimitedFrom(java.io.InputStream input)
+        throws java.io.IOException {
+      return 
com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, 
input);
+    }
+
+    public static org.apache.avro.protobuf.noopt.Test.Bar 
parseDelimitedFrom(java.io.InputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws 
java.io.IOException {
+      return 
com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, 
input, extensionRegistry);
+    }
+
+    public static org.apache.avro.protobuf.noopt.Test.Bar 
parseFrom(com.google.protobuf.CodedInputStream input)
+        throws java.io.IOException {
+      return 
com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
+    }
+
+    public static org.apache.avro.protobuf.noopt.Test.Bar 
parseFrom(com.google.protobuf.CodedInputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws 
java.io.IOException {
+      return 
com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input, 
extensionRegistry);
+    }
+
+    @java.lang.Override
+    public Builder newBuilderForType() {
+      return newBuilder();
+    }
+
+    public static Builder newBuilder() {
+      return DEFAULT_INSTANCE.toBuilder();
+    }
+
+    public static Builder newBuilder(org.apache.avro.protobuf.noopt.Test.Bar 
prototype) {
+      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+    }
+
+    @java.lang.Override
+    public Builder toBuilder() {
+      return this == DEFAULT_INSTANCE ? new Builder() : new 
Builder().mergeFrom(this);
+    }
+
+    @java.lang.Override
+    protected Builder 
newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+      Builder builder = new Builder(parent);
+      return builder;
+    }
+
+    /**
+     * <pre>
+     * a nested message
+     * </pre>
+     *
+     * Protobuf type {@code org.apache.avro.protobuf.noopt.Bar}
+     */
+    public static final class Builder extends 
com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+        // 
@@protoc_insertion_point(builder_implements:org.apache.avro.protobuf.noopt.Bar)
+        org.apache.avro.protobuf.noopt.Test.BarOrBuilder {
+      public static final com.google.protobuf.Descriptors.Descriptor 
getDescriptor() {
+        return 
org.apache.avro.protobuf.noopt.Test.internal_static_org_apache_avro_protobuf_noopt_Bar_descriptor;
+      }
+
+      @java.lang.Override
+      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable 
internalGetFieldAccessorTable() {
+        return 
org.apache.avro.protobuf.noopt.Test.internal_static_org_apache_avro_protobuf_noopt_Bar_fieldAccessorTable
+            
.ensureFieldAccessorsInitialized(org.apache.avro.protobuf.noopt.Test.Bar.class,
+                org.apache.avro.protobuf.noopt.Test.Bar.Builder.class);
+      }
+
+      // Construct using org.apache.avro.protobuf.noopt.Test.Bar.newBuilder()
+      private Builder() {
+        maybeForceBuilderInitialization();
+      }
+
+      private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent 
parent) {
+        super(parent);
+        maybeForceBuilderInitialization();
+      }
+
+      private void maybeForceBuilderInitialization() {
+        if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+        }
+      }
+
+      @java.lang.Override
+      public Builder clear() {
+        super.clear();
+        return this;
+      }
+
+      @java.lang.Override
+      public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() 
{
+        return 
org.apache.avro.protobuf.noopt.Test.internal_static_org_apache_avro_protobuf_noopt_Bar_descriptor;
+      }
+
+      @java.lang.Override
+      public org.apache.avro.protobuf.noopt.Test.Bar 
getDefaultInstanceForType() {
+        return org.apache.avro.protobuf.noopt.Test.Bar.getDefaultInstance();
+      }
+
+      @java.lang.Override
+      public org.apache.avro.protobuf.noopt.Test.Bar build() {
+        org.apache.avro.protobuf.noopt.Test.Bar result = buildPartial();
+        if (!result.isInitialized()) {
+          throw newUninitializedMessageException(result);
+        }
+        return result;
+      }
+
+      @java.lang.Override
+      public org.apache.avro.protobuf.noopt.Test.Bar buildPartial() {
+        org.apache.avro.protobuf.noopt.Test.Bar result = new 
org.apache.avro.protobuf.noopt.Test.Bar(this);
+        onBuilt();
+        return result;
+      }
+
+      @java.lang.Override
+      public Builder clone() {
+        return (Builder) super.clone();
+      }
+
+      @java.lang.Override
+      public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor 
field, java.lang.Object value) {
+        return (Builder) super.setField(field, value);
+      }
+
+      @java.lang.Override
+      public Builder 
clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+        return (Builder) super.clearField(field);
+      }
+
+      @java.lang.Override
+      public Builder 
clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+        return (Builder) super.clearOneof(oneof);
+      }
+
+      @java.lang.Override
+      public Builder 
setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int 
index,
+          java.lang.Object value) {
+        return (Builder) super.setRepeatedField(field, index, value);
+      }
+
+      @java.lang.Override
+      public Builder 
addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, 
java.lang.Object value) {
+        return (Builder) super.addRepeatedField(field, value);
+      }
+
+      @java.lang.Override
+      public Builder mergeFrom(com.google.protobuf.Message other) {

Review Comment:
   ## Confusing overloading of methods
   
   Method Builder.mergeFrom(..) could be confused with overloaded method 
[Builder.mergeFrom](1), since dispatch depends on static types.
   Method Builder.mergeFrom(..) could be confused with overloaded method 
[mergeFrom](2), since dispatch depends on static types.
   
   [Show more 
details](https://github.com/apache/avro/security/code-scanning/3127)



##########
lang/java/protobuf/src/test/java/org/apache/avro/protobuf/noopt/Test.java:
##########
@@ -3869,16 +3924,936 @@
       return PARSER;
     }
 
+    @java.lang.Override
     public org.apache.avro.protobuf.noopt.Test.M getDefaultInstanceForType() {
       return DEFAULT_INSTANCE;
     }
 
   }
 
+  public interface BarOrBuilder extends
+      // 
@@protoc_insertion_point(interface_extends:org.apache.avro.protobuf.noopt.Bar)
+      com.google.protobuf.MessageOrBuilder {
+  }
+
+  /**
+   * <pre>
+   * a nested message
+   * </pre>
+   *
+   * Protobuf type {@code org.apache.avro.protobuf.noopt.Bar}
+   */
+  public static final class Bar extends com.google.protobuf.GeneratedMessageV3 
implements
+      // 
@@protoc_insertion_point(message_implements:org.apache.avro.protobuf.noopt.Bar)
+      BarOrBuilder {
+    private static final long serialVersionUID = 0L;
+
+    // Use Bar.newBuilder() to construct.
+    private Bar(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+      super(builder);
+    }
+
+    private Bar() {
+    }
+
+    @java.lang.Override
+    public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+      return this.unknownFields;
+    }
+
+    private Bar(com.google.protobuf.CodedInputStream input, 
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      this();
+      if (extensionRegistry == null) {
+        throw new java.lang.NullPointerException();
+      }
+      com.google.protobuf.UnknownFieldSet.Builder unknownFields = 
com.google.protobuf.UnknownFieldSet.newBuilder();
+      try {
+        boolean done = false;
+        while (!done) {
+          int tag = input.readTag();
+          switch (tag) {
+          case 0:
+            done = true;
+            break;
+          default: {
+            if (!parseUnknownField(input, unknownFields, extensionRegistry, 
tag)) {
+              done = true;
+            }
+            break;
+          }
+          }
+        }
+      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+        throw e.setUnfinishedMessage(this);
+      } catch (java.io.IOException e) {
+        throw new 
com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+      } finally {
+        this.unknownFields = unknownFields.build();
+        makeExtensionsImmutable();
+      }
+    }
+
+    public static final com.google.protobuf.Descriptors.Descriptor 
getDescriptor() {
+      return 
org.apache.avro.protobuf.noopt.Test.internal_static_org_apache_avro_protobuf_noopt_Bar_descriptor;
+    }
+
+    @java.lang.Override
+    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable 
internalGetFieldAccessorTable() {
+      return 
org.apache.avro.protobuf.noopt.Test.internal_static_org_apache_avro_protobuf_noopt_Bar_fieldAccessorTable
+          
.ensureFieldAccessorsInitialized(org.apache.avro.protobuf.noopt.Test.Bar.class,
+              org.apache.avro.protobuf.noopt.Test.Bar.Builder.class);
+    }
+
+    public interface BarInnerOrBuilder extends
+        // 
@@protoc_insertion_point(interface_extends:org.apache.avro.protobuf.noopt.Bar.BarInner)
+        com.google.protobuf.MessageOrBuilder {
+
+      /**
+       * <code>required int32 a = 1;</code>
+       */
+      boolean hasA();
+
+      /**
+       * <code>required int32 a = 1;</code>
+       */
+      int getA();
+    }
+
+    /**
+     * Protobuf type {@code org.apache.avro.protobuf.noopt.Bar.BarInner}
+     */
+    public static final class BarInner extends 
com.google.protobuf.GeneratedMessageV3 implements
+        // 
@@protoc_insertion_point(message_implements:org.apache.avro.protobuf.noopt.Bar.BarInner)
+        BarInnerOrBuilder {
+      private static final long serialVersionUID = 0L;
+
+      // Use BarInner.newBuilder() to construct.
+      private BarInner(com.google.protobuf.GeneratedMessageV3.Builder<?> 
builder) {
+        super(builder);
+      }
+
+      private BarInner() {
+        a_ = 0;
+      }
+
+      @java.lang.Override
+      public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+        return this.unknownFields;
+      }
+
+      private BarInner(com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        this();
+        if (extensionRegistry == null) {
+          throw new java.lang.NullPointerException();
+        }
+        int mutable_bitField0_ = 0;
+        com.google.protobuf.UnknownFieldSet.Builder unknownFields = 
com.google.protobuf.UnknownFieldSet.newBuilder();
+        try {
+          boolean done = false;
+          while (!done) {
+            int tag = input.readTag();
+            switch (tag) {
+            case 0:
+              done = true;
+              break;
+            case 8: {
+              bitField0_ |= 0x00000001;
+              a_ = input.readInt32();
+              break;
+            }
+            default: {
+              if (!parseUnknownField(input, unknownFields, extensionRegistry, 
tag)) {
+                done = true;
+              }
+              break;
+            }
+            }
+          }
+        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+          throw e.setUnfinishedMessage(this);
+        } catch (java.io.IOException e) {
+          throw new 
com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+        } finally {
+          this.unknownFields = unknownFields.build();
+          makeExtensionsImmutable();
+        }
+      }
+
+      public static final com.google.protobuf.Descriptors.Descriptor 
getDescriptor() {
+        return 
org.apache.avro.protobuf.noopt.Test.internal_static_org_apache_avro_protobuf_noopt_Bar_BarInner_descriptor;
+      }
+
+      @java.lang.Override
+      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable 
internalGetFieldAccessorTable() {
+        return 
org.apache.avro.protobuf.noopt.Test.internal_static_org_apache_avro_protobuf_noopt_Bar_BarInner_fieldAccessorTable
+            
.ensureFieldAccessorsInitialized(org.apache.avro.protobuf.noopt.Test.Bar.BarInner.class,
+                
org.apache.avro.protobuf.noopt.Test.Bar.BarInner.Builder.class);
+      }
+
+      private int bitField0_;
+      public static final int A_FIELD_NUMBER = 1;
+      private int a_;
+
+      /**
+       * <code>required int32 a = 1;</code>
+       */
+      public boolean hasA() {
+        return ((bitField0_ & 0x00000001) == 0x00000001);
+      }
+
+      /**
+       * <code>required int32 a = 1;</code>
+       */
+      public int getA() {
+        return a_;
+      }
+
+      private byte memoizedIsInitialized = -1;
+
+      @java.lang.Override
+      public final boolean isInitialized() {
+        byte isInitialized = memoizedIsInitialized;
+        if (isInitialized == 1)
+          return true;
+        if (isInitialized == 0)
+          return false;
+
+        if (!hasA()) {
+          memoizedIsInitialized = 0;
+          return false;
+        }
+        memoizedIsInitialized = 1;
+        return true;
+      }
+
+      @java.lang.Override
+      public void writeTo(com.google.protobuf.CodedOutputStream output) throws 
java.io.IOException {
+        if (((bitField0_ & 0x00000001) == 0x00000001)) {
+          output.writeInt32(1, a_);
+        }
+        unknownFields.writeTo(output);
+      }
+
+      @java.lang.Override
+      public int getSerializedSize() {
+        int size = memoizedSize;
+        if (size != -1)
+          return size;
+
+        size = 0;
+        if (((bitField0_ & 0x00000001) == 0x00000001)) {
+          size += com.google.protobuf.CodedOutputStream.computeInt32Size(1, 
a_);
+        }
+        size += unknownFields.getSerializedSize();
+        memoizedSize = size;
+        return size;
+      }
+
+      @java.lang.Override
+      public boolean equals(final java.lang.Object obj) {
+        if (obj == this) {
+          return true;
+        }
+        if (!(obj instanceof 
org.apache.avro.protobuf.noopt.Test.Bar.BarInner)) {
+          return super.equals(obj);
+        }
+        org.apache.avro.protobuf.noopt.Test.Bar.BarInner other = 
(org.apache.avro.protobuf.noopt.Test.Bar.BarInner) obj;
+
+        boolean result = true;
+        result = result && (hasA() == other.hasA());
+        if (hasA()) {
+          result = result && (getA() == other.getA());
+        }
+        result = result && unknownFields.equals(other.unknownFields);
+        return result;
+      }
+
+      @java.lang.Override
+      public int hashCode() {
+        if (memoizedHashCode != 0) {
+          return memoizedHashCode;
+        }
+        int hash = 41;
+        hash = (19 * hash) + getDescriptor().hashCode();
+        if (hasA()) {
+          hash = (37 * hash) + A_FIELD_NUMBER;
+          hash = (53 * hash) + getA();
+        }
+        hash = (29 * hash) + unknownFields.hashCode();
+        memoizedHashCode = hash;
+        return hash;
+      }
+
+      public static org.apache.avro.protobuf.noopt.Test.Bar.BarInner 
parseFrom(java.nio.ByteBuffer data)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        return PARSER.parseFrom(data);
+      }
+
+      public static org.apache.avro.protobuf.noopt.Test.Bar.BarInner 
parseFrom(java.nio.ByteBuffer data,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        return PARSER.parseFrom(data, extensionRegistry);
+      }
+
+      public static org.apache.avro.protobuf.noopt.Test.Bar.BarInner 
parseFrom(com.google.protobuf.ByteString data)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        return PARSER.parseFrom(data);
+      }
+
+      public static org.apache.avro.protobuf.noopt.Test.Bar.BarInner 
parseFrom(com.google.protobuf.ByteString data,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        return PARSER.parseFrom(data, extensionRegistry);
+      }
+
+      public static org.apache.avro.protobuf.noopt.Test.Bar.BarInner 
parseFrom(byte[] data)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        return PARSER.parseFrom(data);
+      }
+
+      public static org.apache.avro.protobuf.noopt.Test.Bar.BarInner 
parseFrom(byte[] data,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        return PARSER.parseFrom(data, extensionRegistry);
+      }
+
+      public static org.apache.avro.protobuf.noopt.Test.Bar.BarInner 
parseFrom(java.io.InputStream input)
+          throws java.io.IOException {
+        return 
com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
+      }
+
+      public static org.apache.avro.protobuf.noopt.Test.Bar.BarInner 
parseFrom(java.io.InputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws 
java.io.IOException {
+        return 
com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input, 
extensionRegistry);
+      }
+
+      public static org.apache.avro.protobuf.noopt.Test.Bar.BarInner 
parseDelimitedFrom(java.io.InputStream input)
+          throws java.io.IOException {
+        return 
com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, 
input);
+      }
+
+      public static org.apache.avro.protobuf.noopt.Test.Bar.BarInner 
parseDelimitedFrom(java.io.InputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws 
java.io.IOException {
+        return 
com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, 
input, extensionRegistry);
+      }
+
+      public static org.apache.avro.protobuf.noopt.Test.Bar.BarInner parseFrom(
+          com.google.protobuf.CodedInputStream input) throws 
java.io.IOException {
+        return 
com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
+      }
+
+      public static org.apache.avro.protobuf.noopt.Test.Bar.BarInner parseFrom(
+          com.google.protobuf.CodedInputStream input, 
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws java.io.IOException {
+        return 
com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input, 
extensionRegistry);
+      }
+
+      @java.lang.Override
+      public Builder newBuilderForType() {
+        return newBuilder();
+      }
+
+      public static Builder newBuilder() {
+        return DEFAULT_INSTANCE.toBuilder();
+      }
+
+      public static Builder 
newBuilder(org.apache.avro.protobuf.noopt.Test.Bar.BarInner prototype) {
+        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+      }
+
+      @java.lang.Override
+      public Builder toBuilder() {
+        return this == DEFAULT_INSTANCE ? new Builder() : new 
Builder().mergeFrom(this);
+      }
+
+      @java.lang.Override
+      protected Builder 
newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+        Builder builder = new Builder(parent);
+        return builder;
+      }
+
+      /**
+       * Protobuf type {@code org.apache.avro.protobuf.noopt.Bar.BarInner}
+       */
+      public static final class Builder extends 
com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+          // 
@@protoc_insertion_point(builder_implements:org.apache.avro.protobuf.noopt.Bar.BarInner)
+          org.apache.avro.protobuf.noopt.Test.Bar.BarInnerOrBuilder {
+        public static final com.google.protobuf.Descriptors.Descriptor 
getDescriptor() {
+          return 
org.apache.avro.protobuf.noopt.Test.internal_static_org_apache_avro_protobuf_noopt_Bar_BarInner_descriptor;
+        }
+
+        @java.lang.Override
+        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable 
internalGetFieldAccessorTable() {
+          return 
org.apache.avro.protobuf.noopt.Test.internal_static_org_apache_avro_protobuf_noopt_Bar_BarInner_fieldAccessorTable
+              
.ensureFieldAccessorsInitialized(org.apache.avro.protobuf.noopt.Test.Bar.BarInner.class,
+                  
org.apache.avro.protobuf.noopt.Test.Bar.BarInner.Builder.class);
+        }
+
+        // Construct using 
org.apache.avro.protobuf.noopt.Test.Bar.BarInner.newBuilder()
+        private Builder() {
+          maybeForceBuilderInitialization();
+        }
+
+        private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent 
parent) {
+          super(parent);
+          maybeForceBuilderInitialization();
+        }
+
+        private void maybeForceBuilderInitialization() {
+          if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+          }
+        }
+
+        @java.lang.Override
+        public Builder clear() {
+          super.clear();
+          a_ = 0;
+          bitField0_ = (bitField0_ & ~0x00000001);
+          return this;
+        }
+
+        @java.lang.Override
+        public com.google.protobuf.Descriptors.Descriptor 
getDescriptorForType() {
+          return 
org.apache.avro.protobuf.noopt.Test.internal_static_org_apache_avro_protobuf_noopt_Bar_BarInner_descriptor;
+        }
+
+        @java.lang.Override
+        public org.apache.avro.protobuf.noopt.Test.Bar.BarInner 
getDefaultInstanceForType() {
+          return 
org.apache.avro.protobuf.noopt.Test.Bar.BarInner.getDefaultInstance();
+        }
+
+        @java.lang.Override
+        public org.apache.avro.protobuf.noopt.Test.Bar.BarInner build() {
+          org.apache.avro.protobuf.noopt.Test.Bar.BarInner result = 
buildPartial();
+          if (!result.isInitialized()) {
+            throw newUninitializedMessageException(result);
+          }
+          return result;
+        }
+
+        @java.lang.Override
+        public org.apache.avro.protobuf.noopt.Test.Bar.BarInner buildPartial() 
{
+          org.apache.avro.protobuf.noopt.Test.Bar.BarInner result = new 
org.apache.avro.protobuf.noopt.Test.Bar.BarInner(
+              this);
+          int from_bitField0_ = bitField0_;
+          int to_bitField0_ = 0;
+          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
+            to_bitField0_ |= 0x00000001;
+          }
+          result.a_ = a_;
+          result.bitField0_ = to_bitField0_;
+          onBuilt();
+          return result;
+        }
+
+        @java.lang.Override
+        public Builder clone() {
+          return (Builder) super.clone();
+        }
+
+        @java.lang.Override
+        public Builder 
setField(com.google.protobuf.Descriptors.FieldDescriptor field, 
java.lang.Object value) {
+          return (Builder) super.setField(field, value);
+        }
+
+        @java.lang.Override
+        public Builder 
clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+          return (Builder) super.clearField(field);
+        }
+
+        @java.lang.Override
+        public Builder 
clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+          return (Builder) super.clearOneof(oneof);
+        }
+
+        @java.lang.Override
+        public Builder 
setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int 
index,
+            java.lang.Object value) {
+          return (Builder) super.setRepeatedField(field, index, value);
+        }
+
+        @java.lang.Override
+        public Builder 
addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, 
java.lang.Object value) {
+          return (Builder) super.addRepeatedField(field, value);
+        }
+
+        @java.lang.Override
+        public Builder mergeFrom(com.google.protobuf.Message other) {
+          if (other instanceof 
org.apache.avro.protobuf.noopt.Test.Bar.BarInner) {
+            return 
mergeFrom((org.apache.avro.protobuf.noopt.Test.Bar.BarInner) other);
+          } else {
+            super.mergeFrom(other);
+            return this;
+          }
+        }
+
+        public Builder 
mergeFrom(org.apache.avro.protobuf.noopt.Test.Bar.BarInner other) {
+          if (other == 
org.apache.avro.protobuf.noopt.Test.Bar.BarInner.getDefaultInstance())
+            return this;
+          if (other.hasA()) {
+            setA(other.getA());
+          }
+          this.mergeUnknownFields(other.unknownFields);
+          onChanged();
+          return this;
+        }
+
+        @java.lang.Override
+        public final boolean isInitialized() {
+          if (!hasA()) {
+            return false;
+          }
+          return true;
+        }
+
+        @java.lang.Override
+        public Builder mergeFrom(com.google.protobuf.CodedInputStream input,
+            com.google.protobuf.ExtensionRegistryLite extensionRegistry) 
throws java.io.IOException {
+          org.apache.avro.protobuf.noopt.Test.Bar.BarInner parsedMessage = 
null;
+          try {
+            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+            parsedMessage = (org.apache.avro.protobuf.noopt.Test.Bar.BarInner) 
e.getUnfinishedMessage();
+            throw e.unwrapIOException();
+          } finally {
+            if (parsedMessage != null) {
+              mergeFrom(parsedMessage);
+            }
+          }
+          return this;
+        }
+
+        private int bitField0_;
+
+        private int a_;
+
+        /**
+         * <code>required int32 a = 1;</code>
+         */
+        public boolean hasA() {
+          return ((bitField0_ & 0x00000001) == 0x00000001);
+        }
+
+        /**
+         * <code>required int32 a = 1;</code>
+         */
+        public int getA() {

Review Comment:
   ## Missing Override annotation
   
   This method overrides [BarInnerOrBuilder.getA](1); it is advisable to add an 
Override annotation.
   
   [Show more 
details](https://github.com/apache/avro/security/code-scanning/3122)



##########
lang/java/protobuf/src/test/java/org/apache/avro/protobuf/noopt/Test.java:
##########
@@ -3869,16 +3924,936 @@
       return PARSER;
     }
 
+    @java.lang.Override
     public org.apache.avro.protobuf.noopt.Test.M getDefaultInstanceForType() {
       return DEFAULT_INSTANCE;
     }
 
   }
 
+  public interface BarOrBuilder extends
+      // 
@@protoc_insertion_point(interface_extends:org.apache.avro.protobuf.noopt.Bar)
+      com.google.protobuf.MessageOrBuilder {
+  }
+
+  /**
+   * <pre>
+   * a nested message
+   * </pre>
+   *
+   * Protobuf type {@code org.apache.avro.protobuf.noopt.Bar}
+   */
+  public static final class Bar extends com.google.protobuf.GeneratedMessageV3 
implements
+      // 
@@protoc_insertion_point(message_implements:org.apache.avro.protobuf.noopt.Bar)
+      BarOrBuilder {
+    private static final long serialVersionUID = 0L;
+
+    // Use Bar.newBuilder() to construct.
+    private Bar(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+      super(builder);
+    }
+
+    private Bar() {
+    }
+
+    @java.lang.Override
+    public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+      return this.unknownFields;
+    }
+
+    private Bar(com.google.protobuf.CodedInputStream input, 
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      this();
+      if (extensionRegistry == null) {
+        throw new java.lang.NullPointerException();
+      }
+      com.google.protobuf.UnknownFieldSet.Builder unknownFields = 
com.google.protobuf.UnknownFieldSet.newBuilder();
+      try {
+        boolean done = false;
+        while (!done) {
+          int tag = input.readTag();
+          switch (tag) {
+          case 0:
+            done = true;
+            break;
+          default: {
+            if (!parseUnknownField(input, unknownFields, extensionRegistry, 
tag)) {
+              done = true;
+            }
+            break;
+          }
+          }
+        }
+      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+        throw e.setUnfinishedMessage(this);
+      } catch (java.io.IOException e) {
+        throw new 
com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+      } finally {
+        this.unknownFields = unknownFields.build();
+        makeExtensionsImmutable();
+      }
+    }
+
+    public static final com.google.protobuf.Descriptors.Descriptor 
getDescriptor() {
+      return 
org.apache.avro.protobuf.noopt.Test.internal_static_org_apache_avro_protobuf_noopt_Bar_descriptor;
+    }
+
+    @java.lang.Override
+    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable 
internalGetFieldAccessorTable() {
+      return 
org.apache.avro.protobuf.noopt.Test.internal_static_org_apache_avro_protobuf_noopt_Bar_fieldAccessorTable
+          
.ensureFieldAccessorsInitialized(org.apache.avro.protobuf.noopt.Test.Bar.class,
+              org.apache.avro.protobuf.noopt.Test.Bar.Builder.class);
+    }
+
+    public interface BarInnerOrBuilder extends
+        // 
@@protoc_insertion_point(interface_extends:org.apache.avro.protobuf.noopt.Bar.BarInner)
+        com.google.protobuf.MessageOrBuilder {
+
+      /**
+       * <code>required int32 a = 1;</code>
+       */
+      boolean hasA();
+
+      /**
+       * <code>required int32 a = 1;</code>
+       */
+      int getA();
+    }
+
+    /**
+     * Protobuf type {@code org.apache.avro.protobuf.noopt.Bar.BarInner}
+     */
+    public static final class BarInner extends 
com.google.protobuf.GeneratedMessageV3 implements
+        // 
@@protoc_insertion_point(message_implements:org.apache.avro.protobuf.noopt.Bar.BarInner)
+        BarInnerOrBuilder {
+      private static final long serialVersionUID = 0L;
+
+      // Use BarInner.newBuilder() to construct.
+      private BarInner(com.google.protobuf.GeneratedMessageV3.Builder<?> 
builder) {
+        super(builder);
+      }
+
+      private BarInner() {
+        a_ = 0;
+      }
+
+      @java.lang.Override
+      public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+        return this.unknownFields;
+      }
+
+      private BarInner(com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        this();
+        if (extensionRegistry == null) {
+          throw new java.lang.NullPointerException();
+        }
+        int mutable_bitField0_ = 0;

Review Comment:
   ## Unread local variable
   
   Variable 'int mutable_bitField0_' is never read.
   
   [Show more 
details](https://github.com/apache/avro/security/code-scanning/3128)



##########
lang/java/protobuf/src/test/java/org/apache/avro/protobuf/noopt/Test.java:
##########
@@ -3869,16 +3924,936 @@
       return PARSER;
     }
 
+    @java.lang.Override
     public org.apache.avro.protobuf.noopt.Test.M getDefaultInstanceForType() {
       return DEFAULT_INSTANCE;
     }
 
   }
 
+  public interface BarOrBuilder extends
+      // 
@@protoc_insertion_point(interface_extends:org.apache.avro.protobuf.noopt.Bar)
+      com.google.protobuf.MessageOrBuilder {
+  }
+
+  /**
+   * <pre>
+   * a nested message
+   * </pre>
+   *
+   * Protobuf type {@code org.apache.avro.protobuf.noopt.Bar}
+   */
+  public static final class Bar extends com.google.protobuf.GeneratedMessageV3 
implements
+      // 
@@protoc_insertion_point(message_implements:org.apache.avro.protobuf.noopt.Bar)
+      BarOrBuilder {
+    private static final long serialVersionUID = 0L;
+
+    // Use Bar.newBuilder() to construct.
+    private Bar(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+      super(builder);
+    }
+
+    private Bar() {
+    }
+
+    @java.lang.Override
+    public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+      return this.unknownFields;
+    }
+
+    private Bar(com.google.protobuf.CodedInputStream input, 
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      this();
+      if (extensionRegistry == null) {
+        throw new java.lang.NullPointerException();
+      }
+      com.google.protobuf.UnknownFieldSet.Builder unknownFields = 
com.google.protobuf.UnknownFieldSet.newBuilder();
+      try {
+        boolean done = false;
+        while (!done) {
+          int tag = input.readTag();
+          switch (tag) {
+          case 0:
+            done = true;
+            break;
+          default: {
+            if (!parseUnknownField(input, unknownFields, extensionRegistry, 
tag)) {
+              done = true;
+            }
+            break;
+          }
+          }
+        }
+      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+        throw e.setUnfinishedMessage(this);
+      } catch (java.io.IOException e) {
+        throw new 
com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+      } finally {
+        this.unknownFields = unknownFields.build();
+        makeExtensionsImmutable();
+      }
+    }
+
+    public static final com.google.protobuf.Descriptors.Descriptor 
getDescriptor() {
+      return 
org.apache.avro.protobuf.noopt.Test.internal_static_org_apache_avro_protobuf_noopt_Bar_descriptor;
+    }
+
+    @java.lang.Override
+    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable 
internalGetFieldAccessorTable() {
+      return 
org.apache.avro.protobuf.noopt.Test.internal_static_org_apache_avro_protobuf_noopt_Bar_fieldAccessorTable
+          
.ensureFieldAccessorsInitialized(org.apache.avro.protobuf.noopt.Test.Bar.class,
+              org.apache.avro.protobuf.noopt.Test.Bar.Builder.class);
+    }
+
+    public interface BarInnerOrBuilder extends
+        // 
@@protoc_insertion_point(interface_extends:org.apache.avro.protobuf.noopt.Bar.BarInner)
+        com.google.protobuf.MessageOrBuilder {
+
+      /**
+       * <code>required int32 a = 1;</code>
+       */
+      boolean hasA();
+
+      /**
+       * <code>required int32 a = 1;</code>
+       */
+      int getA();
+    }
+
+    /**
+     * Protobuf type {@code org.apache.avro.protobuf.noopt.Bar.BarInner}
+     */
+    public static final class BarInner extends 
com.google.protobuf.GeneratedMessageV3 implements
+        // 
@@protoc_insertion_point(message_implements:org.apache.avro.protobuf.noopt.Bar.BarInner)
+        BarInnerOrBuilder {
+      private static final long serialVersionUID = 0L;
+
+      // Use BarInner.newBuilder() to construct.
+      private BarInner(com.google.protobuf.GeneratedMessageV3.Builder<?> 
builder) {
+        super(builder);
+      }
+
+      private BarInner() {
+        a_ = 0;
+      }
+
+      @java.lang.Override
+      public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+        return this.unknownFields;
+      }
+
+      private BarInner(com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        this();
+        if (extensionRegistry == null) {
+          throw new java.lang.NullPointerException();
+        }
+        int mutable_bitField0_ = 0;
+        com.google.protobuf.UnknownFieldSet.Builder unknownFields = 
com.google.protobuf.UnknownFieldSet.newBuilder();
+        try {
+          boolean done = false;
+          while (!done) {
+            int tag = input.readTag();
+            switch (tag) {
+            case 0:
+              done = true;
+              break;
+            case 8: {
+              bitField0_ |= 0x00000001;
+              a_ = input.readInt32();
+              break;
+            }
+            default: {
+              if (!parseUnknownField(input, unknownFields, extensionRegistry, 
tag)) {
+                done = true;
+              }
+              break;
+            }
+            }
+          }
+        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+          throw e.setUnfinishedMessage(this);
+        } catch (java.io.IOException e) {
+          throw new 
com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+        } finally {
+          this.unknownFields = unknownFields.build();
+          makeExtensionsImmutable();
+        }
+      }
+
+      public static final com.google.protobuf.Descriptors.Descriptor 
getDescriptor() {
+        return 
org.apache.avro.protobuf.noopt.Test.internal_static_org_apache_avro_protobuf_noopt_Bar_BarInner_descriptor;
+      }
+
+      @java.lang.Override
+      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable 
internalGetFieldAccessorTable() {
+        return 
org.apache.avro.protobuf.noopt.Test.internal_static_org_apache_avro_protobuf_noopt_Bar_BarInner_fieldAccessorTable
+            
.ensureFieldAccessorsInitialized(org.apache.avro.protobuf.noopt.Test.Bar.BarInner.class,
+                
org.apache.avro.protobuf.noopt.Test.Bar.BarInner.Builder.class);
+      }
+
+      private int bitField0_;
+      public static final int A_FIELD_NUMBER = 1;
+      private int a_;
+
+      /**
+       * <code>required int32 a = 1;</code>
+       */
+      public boolean hasA() {
+        return ((bitField0_ & 0x00000001) == 0x00000001);
+      }
+
+      /**
+       * <code>required int32 a = 1;</code>
+       */
+      public int getA() {
+        return a_;
+      }
+
+      private byte memoizedIsInitialized = -1;
+
+      @java.lang.Override
+      public final boolean isInitialized() {
+        byte isInitialized = memoizedIsInitialized;
+        if (isInitialized == 1)
+          return true;
+        if (isInitialized == 0)
+          return false;
+
+        if (!hasA()) {
+          memoizedIsInitialized = 0;
+          return false;
+        }
+        memoizedIsInitialized = 1;
+        return true;
+      }
+
+      @java.lang.Override
+      public void writeTo(com.google.protobuf.CodedOutputStream output) throws 
java.io.IOException {
+        if (((bitField0_ & 0x00000001) == 0x00000001)) {
+          output.writeInt32(1, a_);
+        }
+        unknownFields.writeTo(output);
+      }
+
+      @java.lang.Override
+      public int getSerializedSize() {
+        int size = memoizedSize;
+        if (size != -1)
+          return size;
+
+        size = 0;
+        if (((bitField0_ & 0x00000001) == 0x00000001)) {
+          size += com.google.protobuf.CodedOutputStream.computeInt32Size(1, 
a_);
+        }
+        size += unknownFields.getSerializedSize();
+        memoizedSize = size;
+        return size;
+      }
+
+      @java.lang.Override
+      public boolean equals(final java.lang.Object obj) {
+        if (obj == this) {
+          return true;
+        }
+        if (!(obj instanceof 
org.apache.avro.protobuf.noopt.Test.Bar.BarInner)) {
+          return super.equals(obj);
+        }
+        org.apache.avro.protobuf.noopt.Test.Bar.BarInner other = 
(org.apache.avro.protobuf.noopt.Test.Bar.BarInner) obj;
+
+        boolean result = true;
+        result = result && (hasA() == other.hasA());
+        if (hasA()) {
+          result = result && (getA() == other.getA());
+        }
+        result = result && unknownFields.equals(other.unknownFields);
+        return result;
+      }
+
+      @java.lang.Override
+      public int hashCode() {
+        if (memoizedHashCode != 0) {
+          return memoizedHashCode;
+        }
+        int hash = 41;
+        hash = (19 * hash) + getDescriptor().hashCode();
+        if (hasA()) {
+          hash = (37 * hash) + A_FIELD_NUMBER;
+          hash = (53 * hash) + getA();
+        }
+        hash = (29 * hash) + unknownFields.hashCode();
+        memoizedHashCode = hash;
+        return hash;
+      }
+
+      public static org.apache.avro.protobuf.noopt.Test.Bar.BarInner 
parseFrom(java.nio.ByteBuffer data)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        return PARSER.parseFrom(data);
+      }
+
+      public static org.apache.avro.protobuf.noopt.Test.Bar.BarInner 
parseFrom(java.nio.ByteBuffer data,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        return PARSER.parseFrom(data, extensionRegistry);
+      }
+
+      public static org.apache.avro.protobuf.noopt.Test.Bar.BarInner 
parseFrom(com.google.protobuf.ByteString data)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        return PARSER.parseFrom(data);
+      }
+
+      public static org.apache.avro.protobuf.noopt.Test.Bar.BarInner 
parseFrom(com.google.protobuf.ByteString data,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        return PARSER.parseFrom(data, extensionRegistry);
+      }
+
+      public static org.apache.avro.protobuf.noopt.Test.Bar.BarInner 
parseFrom(byte[] data)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        return PARSER.parseFrom(data);
+      }
+
+      public static org.apache.avro.protobuf.noopt.Test.Bar.BarInner 
parseFrom(byte[] data,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        return PARSER.parseFrom(data, extensionRegistry);
+      }
+
+      public static org.apache.avro.protobuf.noopt.Test.Bar.BarInner 
parseFrom(java.io.InputStream input)
+          throws java.io.IOException {
+        return 
com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
+      }
+
+      public static org.apache.avro.protobuf.noopt.Test.Bar.BarInner 
parseFrom(java.io.InputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws 
java.io.IOException {
+        return 
com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input, 
extensionRegistry);
+      }
+
+      public static org.apache.avro.protobuf.noopt.Test.Bar.BarInner 
parseDelimitedFrom(java.io.InputStream input)
+          throws java.io.IOException {
+        return 
com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, 
input);
+      }
+
+      public static org.apache.avro.protobuf.noopt.Test.Bar.BarInner 
parseDelimitedFrom(java.io.InputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws 
java.io.IOException {
+        return 
com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, 
input, extensionRegistry);
+      }
+
+      public static org.apache.avro.protobuf.noopt.Test.Bar.BarInner parseFrom(
+          com.google.protobuf.CodedInputStream input) throws 
java.io.IOException {
+        return 
com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
+      }
+
+      public static org.apache.avro.protobuf.noopt.Test.Bar.BarInner parseFrom(
+          com.google.protobuf.CodedInputStream input, 
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws java.io.IOException {
+        return 
com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input, 
extensionRegistry);
+      }
+
+      @java.lang.Override
+      public Builder newBuilderForType() {
+        return newBuilder();
+      }
+
+      public static Builder newBuilder() {
+        return DEFAULT_INSTANCE.toBuilder();
+      }
+
+      public static Builder 
newBuilder(org.apache.avro.protobuf.noopt.Test.Bar.BarInner prototype) {
+        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+      }
+
+      @java.lang.Override
+      public Builder toBuilder() {
+        return this == DEFAULT_INSTANCE ? new Builder() : new 
Builder().mergeFrom(this);
+      }
+
+      @java.lang.Override
+      protected Builder 
newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+        Builder builder = new Builder(parent);
+        return builder;
+      }
+
+      /**
+       * Protobuf type {@code org.apache.avro.protobuf.noopt.Bar.BarInner}
+       */
+      public static final class Builder extends 
com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+          // 
@@protoc_insertion_point(builder_implements:org.apache.avro.protobuf.noopt.Bar.BarInner)
+          org.apache.avro.protobuf.noopt.Test.Bar.BarInnerOrBuilder {
+        public static final com.google.protobuf.Descriptors.Descriptor 
getDescriptor() {
+          return 
org.apache.avro.protobuf.noopt.Test.internal_static_org_apache_avro_protobuf_noopt_Bar_BarInner_descriptor;
+        }
+
+        @java.lang.Override
+        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable 
internalGetFieldAccessorTable() {
+          return 
org.apache.avro.protobuf.noopt.Test.internal_static_org_apache_avro_protobuf_noopt_Bar_BarInner_fieldAccessorTable
+              
.ensureFieldAccessorsInitialized(org.apache.avro.protobuf.noopt.Test.Bar.BarInner.class,
+                  
org.apache.avro.protobuf.noopt.Test.Bar.BarInner.Builder.class);
+        }
+
+        // Construct using 
org.apache.avro.protobuf.noopt.Test.Bar.BarInner.newBuilder()
+        private Builder() {
+          maybeForceBuilderInitialization();
+        }
+
+        private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent 
parent) {
+          super(parent);
+          maybeForceBuilderInitialization();
+        }
+
+        private void maybeForceBuilderInitialization() {
+          if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+          }
+        }
+
+        @java.lang.Override
+        public Builder clear() {
+          super.clear();
+          a_ = 0;
+          bitField0_ = (bitField0_ & ~0x00000001);
+          return this;
+        }
+
+        @java.lang.Override
+        public com.google.protobuf.Descriptors.Descriptor 
getDescriptorForType() {
+          return 
org.apache.avro.protobuf.noopt.Test.internal_static_org_apache_avro_protobuf_noopt_Bar_BarInner_descriptor;
+        }
+
+        @java.lang.Override
+        public org.apache.avro.protobuf.noopt.Test.Bar.BarInner 
getDefaultInstanceForType() {
+          return 
org.apache.avro.protobuf.noopt.Test.Bar.BarInner.getDefaultInstance();
+        }
+
+        @java.lang.Override
+        public org.apache.avro.protobuf.noopt.Test.Bar.BarInner build() {
+          org.apache.avro.protobuf.noopt.Test.Bar.BarInner result = 
buildPartial();
+          if (!result.isInitialized()) {
+            throw newUninitializedMessageException(result);
+          }
+          return result;
+        }
+
+        @java.lang.Override
+        public org.apache.avro.protobuf.noopt.Test.Bar.BarInner buildPartial() 
{
+          org.apache.avro.protobuf.noopt.Test.Bar.BarInner result = new 
org.apache.avro.protobuf.noopt.Test.Bar.BarInner(
+              this);
+          int from_bitField0_ = bitField0_;
+          int to_bitField0_ = 0;
+          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
+            to_bitField0_ |= 0x00000001;
+          }
+          result.a_ = a_;
+          result.bitField0_ = to_bitField0_;
+          onBuilt();
+          return result;
+        }
+
+        @java.lang.Override
+        public Builder clone() {
+          return (Builder) super.clone();
+        }
+
+        @java.lang.Override
+        public Builder 
setField(com.google.protobuf.Descriptors.FieldDescriptor field, 
java.lang.Object value) {
+          return (Builder) super.setField(field, value);
+        }
+
+        @java.lang.Override
+        public Builder 
clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+          return (Builder) super.clearField(field);
+        }
+
+        @java.lang.Override
+        public Builder 
clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+          return (Builder) super.clearOneof(oneof);
+        }
+
+        @java.lang.Override
+        public Builder 
setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int 
index,
+            java.lang.Object value) {
+          return (Builder) super.setRepeatedField(field, index, value);
+        }
+
+        @java.lang.Override
+        public Builder 
addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, 
java.lang.Object value) {
+          return (Builder) super.addRepeatedField(field, value);
+        }
+
+        @java.lang.Override
+        public Builder mergeFrom(com.google.protobuf.Message other) {
+          if (other instanceof 
org.apache.avro.protobuf.noopt.Test.Bar.BarInner) {
+            return 
mergeFrom((org.apache.avro.protobuf.noopt.Test.Bar.BarInner) other);
+          } else {
+            super.mergeFrom(other);
+            return this;
+          }
+        }
+
+        public Builder 
mergeFrom(org.apache.avro.protobuf.noopt.Test.Bar.BarInner other) {
+          if (other == 
org.apache.avro.protobuf.noopt.Test.Bar.BarInner.getDefaultInstance())
+            return this;
+          if (other.hasA()) {
+            setA(other.getA());
+          }
+          this.mergeUnknownFields(other.unknownFields);
+          onChanged();
+          return this;
+        }
+
+        @java.lang.Override
+        public final boolean isInitialized() {
+          if (!hasA()) {
+            return false;
+          }
+          return true;
+        }
+
+        @java.lang.Override
+        public Builder mergeFrom(com.google.protobuf.CodedInputStream input,
+            com.google.protobuf.ExtensionRegistryLite extensionRegistry) 
throws java.io.IOException {
+          org.apache.avro.protobuf.noopt.Test.Bar.BarInner parsedMessage = 
null;
+          try {
+            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+            parsedMessage = (org.apache.avro.protobuf.noopt.Test.Bar.BarInner) 
e.getUnfinishedMessage();
+            throw e.unwrapIOException();
+          } finally {
+            if (parsedMessage != null) {
+              mergeFrom(parsedMessage);
+            }
+          }
+          return this;
+        }
+
+        private int bitField0_;
+
+        private int a_;
+
+        /**
+         * <code>required int32 a = 1;</code>
+         */
+        public boolean hasA() {

Review Comment:
   ## Missing Override annotation
   
   This method overrides [BarInnerOrBuilder.hasA](1); it is advisable to add an 
Override annotation.
   
   [Show more 
details](https://github.com/apache/avro/security/code-scanning/3123)



##########
lang/java/protobuf/src/test/java/org/apache/avro/protobuf/noopt/Test.java:
##########
@@ -3869,16 +3924,936 @@
       return PARSER;
     }
 
+    @java.lang.Override
     public org.apache.avro.protobuf.noopt.Test.M getDefaultInstanceForType() {
       return DEFAULT_INSTANCE;
     }
 
   }
 
+  public interface BarOrBuilder extends
+      // 
@@protoc_insertion_point(interface_extends:org.apache.avro.protobuf.noopt.Bar)
+      com.google.protobuf.MessageOrBuilder {
+  }
+
+  /**
+   * <pre>
+   * a nested message
+   * </pre>
+   *
+   * Protobuf type {@code org.apache.avro.protobuf.noopt.Bar}
+   */
+  public static final class Bar extends com.google.protobuf.GeneratedMessageV3 
implements
+      // 
@@protoc_insertion_point(message_implements:org.apache.avro.protobuf.noopt.Bar)
+      BarOrBuilder {
+    private static final long serialVersionUID = 0L;
+
+    // Use Bar.newBuilder() to construct.
+    private Bar(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+      super(builder);
+    }
+
+    private Bar() {
+    }
+
+    @java.lang.Override
+    public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+      return this.unknownFields;
+    }
+
+    private Bar(com.google.protobuf.CodedInputStream input, 
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      this();
+      if (extensionRegistry == null) {
+        throw new java.lang.NullPointerException();
+      }
+      com.google.protobuf.UnknownFieldSet.Builder unknownFields = 
com.google.protobuf.UnknownFieldSet.newBuilder();
+      try {
+        boolean done = false;
+        while (!done) {
+          int tag = input.readTag();
+          switch (tag) {
+          case 0:
+            done = true;
+            break;
+          default: {
+            if (!parseUnknownField(input, unknownFields, extensionRegistry, 
tag)) {
+              done = true;
+            }
+            break;
+          }
+          }
+        }
+      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+        throw e.setUnfinishedMessage(this);
+      } catch (java.io.IOException e) {
+        throw new 
com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+      } finally {
+        this.unknownFields = unknownFields.build();
+        makeExtensionsImmutable();
+      }
+    }
+
+    public static final com.google.protobuf.Descriptors.Descriptor 
getDescriptor() {
+      return 
org.apache.avro.protobuf.noopt.Test.internal_static_org_apache_avro_protobuf_noopt_Bar_descriptor;
+    }
+
+    @java.lang.Override
+    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable 
internalGetFieldAccessorTable() {
+      return 
org.apache.avro.protobuf.noopt.Test.internal_static_org_apache_avro_protobuf_noopt_Bar_fieldAccessorTable
+          
.ensureFieldAccessorsInitialized(org.apache.avro.protobuf.noopt.Test.Bar.class,
+              org.apache.avro.protobuf.noopt.Test.Bar.Builder.class);
+    }
+
+    public interface BarInnerOrBuilder extends
+        // 
@@protoc_insertion_point(interface_extends:org.apache.avro.protobuf.noopt.Bar.BarInner)
+        com.google.protobuf.MessageOrBuilder {
+
+      /**
+       * <code>required int32 a = 1;</code>
+       */
+      boolean hasA();
+
+      /**
+       * <code>required int32 a = 1;</code>
+       */
+      int getA();
+    }
+
+    /**
+     * Protobuf type {@code org.apache.avro.protobuf.noopt.Bar.BarInner}
+     */
+    public static final class BarInner extends 
com.google.protobuf.GeneratedMessageV3 implements
+        // 
@@protoc_insertion_point(message_implements:org.apache.avro.protobuf.noopt.Bar.BarInner)
+        BarInnerOrBuilder {
+      private static final long serialVersionUID = 0L;
+
+      // Use BarInner.newBuilder() to construct.
+      private BarInner(com.google.protobuf.GeneratedMessageV3.Builder<?> 
builder) {
+        super(builder);
+      }
+
+      private BarInner() {
+        a_ = 0;
+      }
+
+      @java.lang.Override
+      public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+        return this.unknownFields;
+      }
+
+      private BarInner(com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        this();
+        if (extensionRegistry == null) {
+          throw new java.lang.NullPointerException();
+        }
+        int mutable_bitField0_ = 0;
+        com.google.protobuf.UnknownFieldSet.Builder unknownFields = 
com.google.protobuf.UnknownFieldSet.newBuilder();
+        try {
+          boolean done = false;
+          while (!done) {
+            int tag = input.readTag();
+            switch (tag) {
+            case 0:
+              done = true;
+              break;
+            case 8: {
+              bitField0_ |= 0x00000001;
+              a_ = input.readInt32();
+              break;
+            }
+            default: {
+              if (!parseUnknownField(input, unknownFields, extensionRegistry, 
tag)) {
+                done = true;
+              }
+              break;
+            }
+            }
+          }
+        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+          throw e.setUnfinishedMessage(this);
+        } catch (java.io.IOException e) {
+          throw new 
com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+        } finally {
+          this.unknownFields = unknownFields.build();
+          makeExtensionsImmutable();
+        }
+      }
+
+      public static final com.google.protobuf.Descriptors.Descriptor 
getDescriptor() {
+        return 
org.apache.avro.protobuf.noopt.Test.internal_static_org_apache_avro_protobuf_noopt_Bar_BarInner_descriptor;
+      }
+
+      @java.lang.Override
+      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable 
internalGetFieldAccessorTable() {
+        return 
org.apache.avro.protobuf.noopt.Test.internal_static_org_apache_avro_protobuf_noopt_Bar_BarInner_fieldAccessorTable
+            
.ensureFieldAccessorsInitialized(org.apache.avro.protobuf.noopt.Test.Bar.BarInner.class,
+                
org.apache.avro.protobuf.noopt.Test.Bar.BarInner.Builder.class);
+      }
+
+      private int bitField0_;
+      public static final int A_FIELD_NUMBER = 1;
+      private int a_;
+
+      /**
+       * <code>required int32 a = 1;</code>
+       */
+      public boolean hasA() {
+        return ((bitField0_ & 0x00000001) == 0x00000001);
+      }
+
+      /**
+       * <code>required int32 a = 1;</code>
+       */
+      public int getA() {
+        return a_;
+      }
+
+      private byte memoizedIsInitialized = -1;
+
+      @java.lang.Override
+      public final boolean isInitialized() {
+        byte isInitialized = memoizedIsInitialized;
+        if (isInitialized == 1)
+          return true;
+        if (isInitialized == 0)
+          return false;
+
+        if (!hasA()) {
+          memoizedIsInitialized = 0;
+          return false;
+        }
+        memoizedIsInitialized = 1;
+        return true;
+      }
+
+      @java.lang.Override
+      public void writeTo(com.google.protobuf.CodedOutputStream output) throws 
java.io.IOException {
+        if (((bitField0_ & 0x00000001) == 0x00000001)) {
+          output.writeInt32(1, a_);
+        }
+        unknownFields.writeTo(output);
+      }
+
+      @java.lang.Override
+      public int getSerializedSize() {
+        int size = memoizedSize;
+        if (size != -1)
+          return size;
+
+        size = 0;
+        if (((bitField0_ & 0x00000001) == 0x00000001)) {
+          size += com.google.protobuf.CodedOutputStream.computeInt32Size(1, 
a_);
+        }
+        size += unknownFields.getSerializedSize();
+        memoizedSize = size;
+        return size;
+      }
+
+      @java.lang.Override
+      public boolean equals(final java.lang.Object obj) {
+        if (obj == this) {
+          return true;
+        }
+        if (!(obj instanceof 
org.apache.avro.protobuf.noopt.Test.Bar.BarInner)) {
+          return super.equals(obj);
+        }
+        org.apache.avro.protobuf.noopt.Test.Bar.BarInner other = 
(org.apache.avro.protobuf.noopt.Test.Bar.BarInner) obj;
+
+        boolean result = true;
+        result = result && (hasA() == other.hasA());
+        if (hasA()) {
+          result = result && (getA() == other.getA());
+        }
+        result = result && unknownFields.equals(other.unknownFields);
+        return result;
+      }
+
+      @java.lang.Override
+      public int hashCode() {
+        if (memoizedHashCode != 0) {
+          return memoizedHashCode;
+        }
+        int hash = 41;
+        hash = (19 * hash) + getDescriptor().hashCode();
+        if (hasA()) {
+          hash = (37 * hash) + A_FIELD_NUMBER;
+          hash = (53 * hash) + getA();
+        }
+        hash = (29 * hash) + unknownFields.hashCode();
+        memoizedHashCode = hash;
+        return hash;
+      }
+
+      public static org.apache.avro.protobuf.noopt.Test.Bar.BarInner 
parseFrom(java.nio.ByteBuffer data)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        return PARSER.parseFrom(data);
+      }
+
+      public static org.apache.avro.protobuf.noopt.Test.Bar.BarInner 
parseFrom(java.nio.ByteBuffer data,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        return PARSER.parseFrom(data, extensionRegistry);
+      }
+
+      public static org.apache.avro.protobuf.noopt.Test.Bar.BarInner 
parseFrom(com.google.protobuf.ByteString data)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        return PARSER.parseFrom(data);
+      }
+
+      public static org.apache.avro.protobuf.noopt.Test.Bar.BarInner 
parseFrom(com.google.protobuf.ByteString data,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        return PARSER.parseFrom(data, extensionRegistry);
+      }
+
+      public static org.apache.avro.protobuf.noopt.Test.Bar.BarInner 
parseFrom(byte[] data)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        return PARSER.parseFrom(data);
+      }
+
+      public static org.apache.avro.protobuf.noopt.Test.Bar.BarInner 
parseFrom(byte[] data,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        return PARSER.parseFrom(data, extensionRegistry);
+      }
+
+      public static org.apache.avro.protobuf.noopt.Test.Bar.BarInner 
parseFrom(java.io.InputStream input)
+          throws java.io.IOException {
+        return 
com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
+      }
+
+      public static org.apache.avro.protobuf.noopt.Test.Bar.BarInner 
parseFrom(java.io.InputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws 
java.io.IOException {
+        return 
com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input, 
extensionRegistry);
+      }
+
+      public static org.apache.avro.protobuf.noopt.Test.Bar.BarInner 
parseDelimitedFrom(java.io.InputStream input)
+          throws java.io.IOException {
+        return 
com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, 
input);
+      }
+
+      public static org.apache.avro.protobuf.noopt.Test.Bar.BarInner 
parseDelimitedFrom(java.io.InputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws 
java.io.IOException {
+        return 
com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, 
input, extensionRegistry);
+      }
+
+      public static org.apache.avro.protobuf.noopt.Test.Bar.BarInner parseFrom(
+          com.google.protobuf.CodedInputStream input) throws 
java.io.IOException {
+        return 
com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
+      }
+
+      public static org.apache.avro.protobuf.noopt.Test.Bar.BarInner parseFrom(
+          com.google.protobuf.CodedInputStream input, 
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws java.io.IOException {
+        return 
com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input, 
extensionRegistry);
+      }
+
+      @java.lang.Override
+      public Builder newBuilderForType() {
+        return newBuilder();
+      }
+
+      public static Builder newBuilder() {
+        return DEFAULT_INSTANCE.toBuilder();
+      }
+
+      public static Builder 
newBuilder(org.apache.avro.protobuf.noopt.Test.Bar.BarInner prototype) {
+        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+      }
+
+      @java.lang.Override
+      public Builder toBuilder() {
+        return this == DEFAULT_INSTANCE ? new Builder() : new 
Builder().mergeFrom(this);
+      }
+
+      @java.lang.Override
+      protected Builder 
newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+        Builder builder = new Builder(parent);
+        return builder;
+      }
+
+      /**
+       * Protobuf type {@code org.apache.avro.protobuf.noopt.Bar.BarInner}
+       */
+      public static final class Builder extends 
com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+          // 
@@protoc_insertion_point(builder_implements:org.apache.avro.protobuf.noopt.Bar.BarInner)
+          org.apache.avro.protobuf.noopt.Test.Bar.BarInnerOrBuilder {
+        public static final com.google.protobuf.Descriptors.Descriptor 
getDescriptor() {
+          return 
org.apache.avro.protobuf.noopt.Test.internal_static_org_apache_avro_protobuf_noopt_Bar_BarInner_descriptor;
+        }
+
+        @java.lang.Override
+        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable 
internalGetFieldAccessorTable() {
+          return 
org.apache.avro.protobuf.noopt.Test.internal_static_org_apache_avro_protobuf_noopt_Bar_BarInner_fieldAccessorTable
+              
.ensureFieldAccessorsInitialized(org.apache.avro.protobuf.noopt.Test.Bar.BarInner.class,
+                  
org.apache.avro.protobuf.noopt.Test.Bar.BarInner.Builder.class);
+        }
+
+        // Construct using 
org.apache.avro.protobuf.noopt.Test.Bar.BarInner.newBuilder()
+        private Builder() {
+          maybeForceBuilderInitialization();
+        }
+
+        private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent 
parent) {
+          super(parent);
+          maybeForceBuilderInitialization();
+        }
+
+        private void maybeForceBuilderInitialization() {
+          if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+          }
+        }
+
+        @java.lang.Override
+        public Builder clear() {
+          super.clear();
+          a_ = 0;
+          bitField0_ = (bitField0_ & ~0x00000001);
+          return this;
+        }
+
+        @java.lang.Override
+        public com.google.protobuf.Descriptors.Descriptor 
getDescriptorForType() {
+          return 
org.apache.avro.protobuf.noopt.Test.internal_static_org_apache_avro_protobuf_noopt_Bar_BarInner_descriptor;
+        }
+
+        @java.lang.Override
+        public org.apache.avro.protobuf.noopt.Test.Bar.BarInner 
getDefaultInstanceForType() {
+          return 
org.apache.avro.protobuf.noopt.Test.Bar.BarInner.getDefaultInstance();
+        }
+
+        @java.lang.Override
+        public org.apache.avro.protobuf.noopt.Test.Bar.BarInner build() {
+          org.apache.avro.protobuf.noopt.Test.Bar.BarInner result = 
buildPartial();
+          if (!result.isInitialized()) {
+            throw newUninitializedMessageException(result);
+          }
+          return result;
+        }
+
+        @java.lang.Override
+        public org.apache.avro.protobuf.noopt.Test.Bar.BarInner buildPartial() 
{
+          org.apache.avro.protobuf.noopt.Test.Bar.BarInner result = new 
org.apache.avro.protobuf.noopt.Test.Bar.BarInner(
+              this);
+          int from_bitField0_ = bitField0_;
+          int to_bitField0_ = 0;
+          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
+            to_bitField0_ |= 0x00000001;
+          }
+          result.a_ = a_;
+          result.bitField0_ = to_bitField0_;
+          onBuilt();
+          return result;
+        }
+
+        @java.lang.Override
+        public Builder clone() {
+          return (Builder) super.clone();
+        }
+
+        @java.lang.Override
+        public Builder 
setField(com.google.protobuf.Descriptors.FieldDescriptor field, 
java.lang.Object value) {
+          return (Builder) super.setField(field, value);
+        }
+
+        @java.lang.Override
+        public Builder 
clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+          return (Builder) super.clearField(field);
+        }
+
+        @java.lang.Override
+        public Builder 
clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+          return (Builder) super.clearOneof(oneof);
+        }
+
+        @java.lang.Override
+        public Builder 
setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int 
index,
+            java.lang.Object value) {
+          return (Builder) super.setRepeatedField(field, index, value);
+        }
+
+        @java.lang.Override
+        public Builder 
addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, 
java.lang.Object value) {
+          return (Builder) super.addRepeatedField(field, value);
+        }
+
+        @java.lang.Override
+        public Builder mergeFrom(com.google.protobuf.Message other) {

Review Comment:
   ## Confusing overloading of methods
   
   Method Builder.mergeFrom(..) could be confused with overloaded method 
[Builder.mergeFrom](1), since dispatch depends on static types.
   Method Builder.mergeFrom(..) could be confused with overloaded method 
[mergeFrom](2), since dispatch depends on static types.
   
   [Show more 
details](https://github.com/apache/avro/security/code-scanning/3126)



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to