Class DescriptorProtos.SourceCodeInfo.Location.Builder

All Implemented Interfaces:
DescriptorProtos.SourceCodeInfo.LocationOrBuilder, Message.Builder, MessageLite.Builder, MessageLiteOrBuilder, MessageOrBuilder, Cloneable
Enclosing class:
DescriptorProtos.SourceCodeInfo.Location

public static final class DescriptorProtos.SourceCodeInfo.Location.Builder extends GeneratedMessage.Builder<DescriptorProtos.SourceCodeInfo.Location.Builder> implements DescriptorProtos.SourceCodeInfo.LocationOrBuilder
Protobuf type google.protobuf.SourceCodeInfo.Location
  • Field Details

  • Constructor Details

  • Method Details

    • getDescriptor

      public static final Descriptors.Descriptor getDescriptor()
    • internalGetFieldAccessorTable

      protected GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
      Description copied from class: GeneratedMessage.Builder
      Get the FieldAccessorTable for this type. We can't have the message class pass this in to the constructor because of bootstrapping trouble with DescriptorProtos.
      Specified by:
      internalGetFieldAccessorTable in class GeneratedMessage.Builder<DescriptorProtos.SourceCodeInfo.Location.Builder>
    • clear

      Description copied from class: GeneratedMessage.Builder
      Called by the initialization and clear code paths to allow subclasses to reset any of their builtin fields back to the initial values.
      Specified by:
      clear in interface Message.Builder
      Specified by:
      clear in interface MessageLite.Builder
      Overrides:
      clear in class GeneratedMessage.Builder<DescriptorProtos.SourceCodeInfo.Location.Builder>
    • getDescriptorForType

      public Descriptors.Descriptor getDescriptorForType()
      Description copied from interface: Message.Builder
      Get the message's type's descriptor. See MessageOrBuilder.getDescriptorForType().
      Specified by:
      getDescriptorForType in interface Message.Builder
      Specified by:
      getDescriptorForType in interface MessageOrBuilder
      Overrides:
      getDescriptorForType in class GeneratedMessage.Builder<DescriptorProtos.SourceCodeInfo.Location.Builder>
    • getDefaultInstanceForType

      public DescriptorProtos.SourceCodeInfo.Location getDefaultInstanceForType()
      Description copied from interface: MessageLiteOrBuilder
      Get an instance of the type with no fields set. Because no fields are set, all getters for singular fields will return default values and repeated fields will appear empty. This may or may not be a singleton. This differs from the getDefaultInstance() method of generated message classes in that this method is an abstract method of the MessageLite interface whereas getDefaultInstance() is a static method of a specific class. They return the same thing.
      Specified by:
      getDefaultInstanceForType in interface MessageLiteOrBuilder
      Specified by:
      getDefaultInstanceForType in interface MessageOrBuilder
    • build

      Description copied from interface: MessageLite.Builder
      Constructs the message based on the state of the Builder. Subsequent changes to the Builder will not affect the returned message.
      Specified by:
      build in interface Message.Builder
      Specified by:
      build in interface MessageLite.Builder
    • buildPartial

      Description copied from interface: MessageLite.Builder
      Like MessageLite.Builder.build(), but does not throw an exception if the message is missing required fields. Instead, a partial message is returned. Subsequent changes to the Builder will not affect the returned message.
      Specified by:
      buildPartial in interface Message.Builder
      Specified by:
      buildPartial in interface MessageLite.Builder
    • buildPartial0

      private void buildPartial0(DescriptorProtos.SourceCodeInfo.Location result)
    • mergeFrom

      Description copied from interface: Message.Builder
      Merge other into the message being built. other must have the exact same type as this (i.e. getDescriptorForType() == other.getDescriptorForType()).

      Merging occurs as follows. For each field:
      * For singular primitive fields, if the field is set in other, then other's value overwrites the value in this message.
      * For singular message fields, if the field is set in other, it is merged into the corresponding sub-message of this message using the same merging rules.
      * For repeated fields, the elements in other are concatenated with the elements in this message.
      * For oneof groups, if the other message has one of the fields set, the group of this message is cleared and replaced by the field of the other message, so that the oneof constraint is preserved.

      This is equivalent to the Message::MergeFrom method in C++.

      Specified by:
      mergeFrom in interface Message.Builder
      Overrides:
      mergeFrom in class AbstractMessage.Builder<DescriptorProtos.SourceCodeInfo.Location.Builder>
    • mergeFrom

    • isInitialized

      public final boolean isInitialized()
      Description copied from interface: MessageLiteOrBuilder
      Returns true if all required fields in the message and all embedded messages are set, false otherwise.

      See also: MessageOrBuilder.getInitializationErrorString()

      Specified by:
      isInitialized in interface MessageLiteOrBuilder
      Overrides:
      isInitialized in class GeneratedMessage.Builder<DescriptorProtos.SourceCodeInfo.Location.Builder>
    • mergeFrom

      Description copied from interface: MessageLite.Builder
      Like MessageLite.Builder.mergeFrom(CodedInputStream), but also parses extensions. The extensions that you want to be able to parse must be registered in extensionRegistry. Extensions not in the registry will be treated as unknown fields.
      Specified by:
      mergeFrom in interface Message.Builder
      Specified by:
      mergeFrom in interface MessageLite.Builder
      Overrides:
      mergeFrom in class AbstractMessage.Builder<DescriptorProtos.SourceCodeInfo.Location.Builder>
      Throws:
      IOException - an I/O error reading from the stream
    • ensurePathIsMutable

      private void ensurePathIsMutable()
    • getPathList

      public List<Integer> getPathList()
       Identifies which part of the FileDescriptorProto was defined at this
       location.
      
       Each element is a field number or an index.  They form a path from
       the root FileDescriptorProto to the place where the definition appears.
       For example, this path:
       [ 4, 3, 2, 7, 1 ]
       refers to:
       file.message_type(3)  // 4, 3
       .field(7)         // 2, 7
       .name()           // 1
       This is because FileDescriptorProto.message_type has field number 4:
       repeated DescriptorProto message_type = 4;
       and DescriptorProto.field has field number 2:
       repeated FieldDescriptorProto field = 2;
       and FieldDescriptorProto.name has field number 1:
       optional string name = 1;
      
       Thus, the above path gives the location of a field name.  If we removed
       the last element:
       [ 4, 3, 2, 7 ]
       this path refers to the whole field declaration (from the beginning
       of the label to the terminating semicolon).
       
      repeated int32 path = 1 [packed = true];
      Specified by:
      getPathList in interface DescriptorProtos.SourceCodeInfo.LocationOrBuilder
      Returns:
      A list containing the path.
    • getPathCount

      public int getPathCount()
       Identifies which part of the FileDescriptorProto was defined at this
       location.
      
       Each element is a field number or an index.  They form a path from
       the root FileDescriptorProto to the place where the definition appears.
       For example, this path:
       [ 4, 3, 2, 7, 1 ]
       refers to:
       file.message_type(3)  // 4, 3
       .field(7)         // 2, 7
       .name()           // 1
       This is because FileDescriptorProto.message_type has field number 4:
       repeated DescriptorProto message_type = 4;
       and DescriptorProto.field has field number 2:
       repeated FieldDescriptorProto field = 2;
       and FieldDescriptorProto.name has field number 1:
       optional string name = 1;
      
       Thus, the above path gives the location of a field name.  If we removed
       the last element:
       [ 4, 3, 2, 7 ]
       this path refers to the whole field declaration (from the beginning
       of the label to the terminating semicolon).
       
      repeated int32 path = 1 [packed = true];
      Specified by:
      getPathCount in interface DescriptorProtos.SourceCodeInfo.LocationOrBuilder
      Returns:
      The count of path.
    • getPath

      public int getPath(int index)
       Identifies which part of the FileDescriptorProto was defined at this
       location.
      
       Each element is a field number or an index.  They form a path from
       the root FileDescriptorProto to the place where the definition appears.
       For example, this path:
       [ 4, 3, 2, 7, 1 ]
       refers to:
       file.message_type(3)  // 4, 3
       .field(7)         // 2, 7
       .name()           // 1
       This is because FileDescriptorProto.message_type has field number 4:
       repeated DescriptorProto message_type = 4;
       and DescriptorProto.field has field number 2:
       repeated FieldDescriptorProto field = 2;
       and FieldDescriptorProto.name has field number 1:
       optional string name = 1;
      
       Thus, the above path gives the location of a field name.  If we removed
       the last element:
       [ 4, 3, 2, 7 ]
       this path refers to the whole field declaration (from the beginning
       of the label to the terminating semicolon).
       
      repeated int32 path = 1 [packed = true];
      Specified by:
      getPath in interface DescriptorProtos.SourceCodeInfo.LocationOrBuilder
      Parameters:
      index - The index of the element to return.
      Returns:
      The path at the given index.
    • setPath

      public DescriptorProtos.SourceCodeInfo.Location.Builder setPath(int index, int value)
       Identifies which part of the FileDescriptorProto was defined at this
       location.
      
       Each element is a field number or an index.  They form a path from
       the root FileDescriptorProto to the place where the definition appears.
       For example, this path:
       [ 4, 3, 2, 7, 1 ]
       refers to:
       file.message_type(3)  // 4, 3
       .field(7)         // 2, 7
       .name()           // 1
       This is because FileDescriptorProto.message_type has field number 4:
       repeated DescriptorProto message_type = 4;
       and DescriptorProto.field has field number 2:
       repeated FieldDescriptorProto field = 2;
       and FieldDescriptorProto.name has field number 1:
       optional string name = 1;
      
       Thus, the above path gives the location of a field name.  If we removed
       the last element:
       [ 4, 3, 2, 7 ]
       this path refers to the whole field declaration (from the beginning
       of the label to the terminating semicolon).
       
      repeated int32 path = 1 [packed = true];
      Parameters:
      index - The index to set the value at.
      value - The path to set.
      Returns:
      This builder for chaining.
    • addPath

       Identifies which part of the FileDescriptorProto was defined at this
       location.
      
       Each element is a field number or an index.  They form a path from
       the root FileDescriptorProto to the place where the definition appears.
       For example, this path:
       [ 4, 3, 2, 7, 1 ]
       refers to:
       file.message_type(3)  // 4, 3
       .field(7)         // 2, 7
       .name()           // 1
       This is because FileDescriptorProto.message_type has field number 4:
       repeated DescriptorProto message_type = 4;
       and DescriptorProto.field has field number 2:
       repeated FieldDescriptorProto field = 2;
       and FieldDescriptorProto.name has field number 1:
       optional string name = 1;
      
       Thus, the above path gives the location of a field name.  If we removed
       the last element:
       [ 4, 3, 2, 7 ]
       this path refers to the whole field declaration (from the beginning
       of the label to the terminating semicolon).
       
      repeated int32 path = 1 [packed = true];
      Parameters:
      value - The path to add.
      Returns:
      This builder for chaining.
    • addAllPath

      public DescriptorProtos.SourceCodeInfo.Location.Builder addAllPath(Iterable<? extends Integer> values)
       Identifies which part of the FileDescriptorProto was defined at this
       location.
      
       Each element is a field number or an index.  They form a path from
       the root FileDescriptorProto to the place where the definition appears.
       For example, this path:
       [ 4, 3, 2, 7, 1 ]
       refers to:
       file.message_type(3)  // 4, 3
       .field(7)         // 2, 7
       .name()           // 1
       This is because FileDescriptorProto.message_type has field number 4:
       repeated DescriptorProto message_type = 4;
       and DescriptorProto.field has field number 2:
       repeated FieldDescriptorProto field = 2;
       and FieldDescriptorProto.name has field number 1:
       optional string name = 1;
      
       Thus, the above path gives the location of a field name.  If we removed
       the last element:
       [ 4, 3, 2, 7 ]
       this path refers to the whole field declaration (from the beginning
       of the label to the terminating semicolon).
       
      repeated int32 path = 1 [packed = true];
      Parameters:
      values - The path to add.
      Returns:
      This builder for chaining.
    • clearPath

       Identifies which part of the FileDescriptorProto was defined at this
       location.
      
       Each element is a field number or an index.  They form a path from
       the root FileDescriptorProto to the place where the definition appears.
       For example, this path:
       [ 4, 3, 2, 7, 1 ]
       refers to:
       file.message_type(3)  // 4, 3
       .field(7)         // 2, 7
       .name()           // 1
       This is because FileDescriptorProto.message_type has field number 4:
       repeated DescriptorProto message_type = 4;
       and DescriptorProto.field has field number 2:
       repeated FieldDescriptorProto field = 2;
       and FieldDescriptorProto.name has field number 1:
       optional string name = 1;
      
       Thus, the above path gives the location of a field name.  If we removed
       the last element:
       [ 4, 3, 2, 7 ]
       this path refers to the whole field declaration (from the beginning
       of the label to the terminating semicolon).
       
      repeated int32 path = 1 [packed = true];
      Returns:
      This builder for chaining.
    • ensureSpanIsMutable

      private void ensureSpanIsMutable()
    • getSpanList

      public List<Integer> getSpanList()
       Always has exactly three or four elements: start line, start column,
       end line (optional, otherwise assumed same as start line), end column.
       These are packed into a single field for efficiency.  Note that line
       and column numbers are zero-based -- typically you will want to add
       1 to each before displaying to a user.
       
      repeated int32 span = 2 [packed = true];
      Specified by:
      getSpanList in interface DescriptorProtos.SourceCodeInfo.LocationOrBuilder
      Returns:
      A list containing the span.
    • getSpanCount

      public int getSpanCount()
       Always has exactly three or four elements: start line, start column,
       end line (optional, otherwise assumed same as start line), end column.
       These are packed into a single field for efficiency.  Note that line
       and column numbers are zero-based -- typically you will want to add
       1 to each before displaying to a user.
       
      repeated int32 span = 2 [packed = true];
      Specified by:
      getSpanCount in interface DescriptorProtos.SourceCodeInfo.LocationOrBuilder
      Returns:
      The count of span.
    • getSpan

      public int getSpan(int index)
       Always has exactly three or four elements: start line, start column,
       end line (optional, otherwise assumed same as start line), end column.
       These are packed into a single field for efficiency.  Note that line
       and column numbers are zero-based -- typically you will want to add
       1 to each before displaying to a user.
       
      repeated int32 span = 2 [packed = true];
      Specified by:
      getSpan in interface DescriptorProtos.SourceCodeInfo.LocationOrBuilder
      Parameters:
      index - The index of the element to return.
      Returns:
      The span at the given index.
    • setSpan

      public DescriptorProtos.SourceCodeInfo.Location.Builder setSpan(int index, int value)
       Always has exactly three or four elements: start line, start column,
       end line (optional, otherwise assumed same as start line), end column.
       These are packed into a single field for efficiency.  Note that line
       and column numbers are zero-based -- typically you will want to add
       1 to each before displaying to a user.
       
      repeated int32 span = 2 [packed = true];
      Parameters:
      index - The index to set the value at.
      value - The span to set.
      Returns:
      This builder for chaining.
    • addSpan

       Always has exactly three or four elements: start line, start column,
       end line (optional, otherwise assumed same as start line), end column.
       These are packed into a single field for efficiency.  Note that line
       and column numbers are zero-based -- typically you will want to add
       1 to each before displaying to a user.
       
      repeated int32 span = 2 [packed = true];
      Parameters:
      value - The span to add.
      Returns:
      This builder for chaining.
    • addAllSpan

      public DescriptorProtos.SourceCodeInfo.Location.Builder addAllSpan(Iterable<? extends Integer> values)
       Always has exactly three or four elements: start line, start column,
       end line (optional, otherwise assumed same as start line), end column.
       These are packed into a single field for efficiency.  Note that line
       and column numbers are zero-based -- typically you will want to add
       1 to each before displaying to a user.
       
      repeated int32 span = 2 [packed = true];
      Parameters:
      values - The span to add.
      Returns:
      This builder for chaining.
    • clearSpan

       Always has exactly three or four elements: start line, start column,
       end line (optional, otherwise assumed same as start line), end column.
       These are packed into a single field for efficiency.  Note that line
       and column numbers are zero-based -- typically you will want to add
       1 to each before displaying to a user.
       
      repeated int32 span = 2 [packed = true];
      Returns:
      This builder for chaining.
    • hasLeadingComments

      public boolean hasLeadingComments()
       If this SourceCodeInfo represents a complete declaration, these are any
       comments appearing before and after the declaration which appear to be
       attached to the declaration.
      
       A series of line comments appearing on consecutive lines, with no other
       tokens appearing on those lines, will be treated as a single comment.
      
       leading_detached_comments will keep paragraphs of comments that appear
       before (but not connected to) the current element. Each paragraph,
       separated by empty lines, will be one comment element in the repeated
       field.
      
       Only the comment content is provided; comment markers (e.g. //) are
       stripped out.  For block comments, leading whitespace and an asterisk
       will be stripped from the beginning of each line other than the first.
       Newlines are included in the output.
      
       Examples:
      
       optional int32 foo = 1;  // Comment attached to foo.
       // Comment attached to bar.
       optional int32 bar = 2;
      
       optional string baz = 3;
       // Comment attached to baz.
       // Another line attached to baz.
      
       // Comment attached to moo.
       //
       // Another line attached to moo.
       optional double moo = 4;
      
       // Detached comment for corge. This is not leading or trailing comments
       // to moo or corge because there are blank lines separating it from
       // both.
      
       // Detached comment for corge paragraph 2.
      
       optional string corge = 5;
       /* Block comment attached
       * to corge.  Leading asterisks
       * will be removed. */
       /* Block comment attached to
       * grault. */
       optional int32 grault = 6;
      
       // ignored detached comments.
       
      optional string leading_comments = 3;
      Specified by:
      hasLeadingComments in interface DescriptorProtos.SourceCodeInfo.LocationOrBuilder
      Returns:
      Whether the leadingComments field is set.
    • getLeadingComments

      public String getLeadingComments()
       If this SourceCodeInfo represents a complete declaration, these are any
       comments appearing before and after the declaration which appear to be
       attached to the declaration.
      
       A series of line comments appearing on consecutive lines, with no other
       tokens appearing on those lines, will be treated as a single comment.
      
       leading_detached_comments will keep paragraphs of comments that appear
       before (but not connected to) the current element. Each paragraph,
       separated by empty lines, will be one comment element in the repeated
       field.
      
       Only the comment content is provided; comment markers (e.g. //) are
       stripped out.  For block comments, leading whitespace and an asterisk
       will be stripped from the beginning of each line other than the first.
       Newlines are included in the output.
      
       Examples:
      
       optional int32 foo = 1;  // Comment attached to foo.
       // Comment attached to bar.
       optional int32 bar = 2;
      
       optional string baz = 3;
       // Comment attached to baz.
       // Another line attached to baz.
      
       // Comment attached to moo.
       //
       // Another line attached to moo.
       optional double moo = 4;
      
       // Detached comment for corge. This is not leading or trailing comments
       // to moo or corge because there are blank lines separating it from
       // both.
      
       // Detached comment for corge paragraph 2.
      
       optional string corge = 5;
       /* Block comment attached
       * to corge.  Leading asterisks
       * will be removed. */
       /* Block comment attached to
       * grault. */
       optional int32 grault = 6;
      
       // ignored detached comments.
       
      optional string leading_comments = 3;
      Specified by:
      getLeadingComments in interface DescriptorProtos.SourceCodeInfo.LocationOrBuilder
      Returns:
      The leadingComments.
    • getLeadingCommentsBytes

      public ByteString getLeadingCommentsBytes()
       If this SourceCodeInfo represents a complete declaration, these are any
       comments appearing before and after the declaration which appear to be
       attached to the declaration.
      
       A series of line comments appearing on consecutive lines, with no other
       tokens appearing on those lines, will be treated as a single comment.
      
       leading_detached_comments will keep paragraphs of comments that appear
       before (but not connected to) the current element. Each paragraph,
       separated by empty lines, will be one comment element in the repeated
       field.
      
       Only the comment content is provided; comment markers (e.g. //) are
       stripped out.  For block comments, leading whitespace and an asterisk
       will be stripped from the beginning of each line other than the first.
       Newlines are included in the output.
      
       Examples:
      
       optional int32 foo = 1;  // Comment attached to foo.
       // Comment attached to bar.
       optional int32 bar = 2;
      
       optional string baz = 3;
       // Comment attached to baz.
       // Another line attached to baz.
      
       // Comment attached to moo.
       //
       // Another line attached to moo.
       optional double moo = 4;
      
       // Detached comment for corge. This is not leading or trailing comments
       // to moo or corge because there are blank lines separating it from
       // both.
      
       // Detached comment for corge paragraph 2.
      
       optional string corge = 5;
       /* Block comment attached
       * to corge.  Leading asterisks
       * will be removed. */
       /* Block comment attached to
       * grault. */
       optional int32 grault = 6;
      
       // ignored detached comments.
       
      optional string leading_comments = 3;
      Specified by:
      getLeadingCommentsBytes in interface DescriptorProtos.SourceCodeInfo.LocationOrBuilder
      Returns:
      The bytes for leadingComments.
    • setLeadingComments

      public DescriptorProtos.SourceCodeInfo.Location.Builder setLeadingComments(String value)
       If this SourceCodeInfo represents a complete declaration, these are any
       comments appearing before and after the declaration which appear to be
       attached to the declaration.
      
       A series of line comments appearing on consecutive lines, with no other
       tokens appearing on those lines, will be treated as a single comment.
      
       leading_detached_comments will keep paragraphs of comments that appear
       before (but not connected to) the current element. Each paragraph,
       separated by empty lines, will be one comment element in the repeated
       field.
      
       Only the comment content is provided; comment markers (e.g. //) are
       stripped out.  For block comments, leading whitespace and an asterisk
       will be stripped from the beginning of each line other than the first.
       Newlines are included in the output.
      
       Examples:
      
       optional int32 foo = 1;  // Comment attached to foo.
       // Comment attached to bar.
       optional int32 bar = 2;
      
       optional string baz = 3;
       // Comment attached to baz.
       // Another line attached to baz.
      
       // Comment attached to moo.
       //
       // Another line attached to moo.
       optional double moo = 4;
      
       // Detached comment for corge. This is not leading or trailing comments
       // to moo or corge because there are blank lines separating it from
       // both.
      
       // Detached comment for corge paragraph 2.
      
       optional string corge = 5;
       /* Block comment attached
       * to corge.  Leading asterisks
       * will be removed. */
       /* Block comment attached to
       * grault. */
       optional int32 grault = 6;
      
       // ignored detached comments.
       
      optional string leading_comments = 3;
      Parameters:
      value - The leadingComments to set.
      Returns:
      This builder for chaining.
    • clearLeadingComments

      public DescriptorProtos.SourceCodeInfo.Location.Builder clearLeadingComments()
       If this SourceCodeInfo represents a complete declaration, these are any
       comments appearing before and after the declaration which appear to be
       attached to the declaration.
      
       A series of line comments appearing on consecutive lines, with no other
       tokens appearing on those lines, will be treated as a single comment.
      
       leading_detached_comments will keep paragraphs of comments that appear
       before (but not connected to) the current element. Each paragraph,
       separated by empty lines, will be one comment element in the repeated
       field.
      
       Only the comment content is provided; comment markers (e.g. //) are
       stripped out.  For block comments, leading whitespace and an asterisk
       will be stripped from the beginning of each line other than the first.
       Newlines are included in the output.
      
       Examples:
      
       optional int32 foo = 1;  // Comment attached to foo.
       // Comment attached to bar.
       optional int32 bar = 2;
      
       optional string baz = 3;
       // Comment attached to baz.
       // Another line attached to baz.
      
       // Comment attached to moo.
       //
       // Another line attached to moo.
       optional double moo = 4;
      
       // Detached comment for corge. This is not leading or trailing comments
       // to moo or corge because there are blank lines separating it from
       // both.
      
       // Detached comment for corge paragraph 2.
      
       optional string corge = 5;
       /* Block comment attached
       * to corge.  Leading asterisks
       * will be removed. */
       /* Block comment attached to
       * grault. */
       optional int32 grault = 6;
      
       // ignored detached comments.
       
      optional string leading_comments = 3;
      Returns:
      This builder for chaining.
    • setLeadingCommentsBytes

      public DescriptorProtos.SourceCodeInfo.Location.Builder setLeadingCommentsBytes(ByteString value)
       If this SourceCodeInfo represents a complete declaration, these are any
       comments appearing before and after the declaration which appear to be
       attached to the declaration.
      
       A series of line comments appearing on consecutive lines, with no other
       tokens appearing on those lines, will be treated as a single comment.
      
       leading_detached_comments will keep paragraphs of comments that appear
       before (but not connected to) the current element. Each paragraph,
       separated by empty lines, will be one comment element in the repeated
       field.
      
       Only the comment content is provided; comment markers (e.g. //) are
       stripped out.  For block comments, leading whitespace and an asterisk
       will be stripped from the beginning of each line other than the first.
       Newlines are included in the output.
      
       Examples:
      
       optional int32 foo = 1;  // Comment attached to foo.
       // Comment attached to bar.
       optional int32 bar = 2;
      
       optional string baz = 3;
       // Comment attached to baz.
       // Another line attached to baz.
      
       // Comment attached to moo.
       //
       // Another line attached to moo.
       optional double moo = 4;
      
       // Detached comment for corge. This is not leading or trailing comments
       // to moo or corge because there are blank lines separating it from
       // both.
      
       // Detached comment for corge paragraph 2.
      
       optional string corge = 5;
       /* Block comment attached
       * to corge.  Leading asterisks
       * will be removed. */
       /* Block comment attached to
       * grault. */
       optional int32 grault = 6;
      
       // ignored detached comments.
       
      optional string leading_comments = 3;
      Parameters:
      value - The bytes for leadingComments to set.
      Returns:
      This builder for chaining.
    • hasTrailingComments

      public boolean hasTrailingComments()
      optional string trailing_comments = 4;
      Specified by:
      hasTrailingComments in interface DescriptorProtos.SourceCodeInfo.LocationOrBuilder
      Returns:
      Whether the trailingComments field is set.
    • getTrailingComments

      public String getTrailingComments()
      optional string trailing_comments = 4;
      Specified by:
      getTrailingComments in interface DescriptorProtos.SourceCodeInfo.LocationOrBuilder
      Returns:
      The trailingComments.
    • getTrailingCommentsBytes

      public ByteString getTrailingCommentsBytes()
      optional string trailing_comments = 4;
      Specified by:
      getTrailingCommentsBytes in interface DescriptorProtos.SourceCodeInfo.LocationOrBuilder
      Returns:
      The bytes for trailingComments.
    • setTrailingComments

      public DescriptorProtos.SourceCodeInfo.Location.Builder setTrailingComments(String value)
      optional string trailing_comments = 4;
      Parameters:
      value - The trailingComments to set.
      Returns:
      This builder for chaining.
    • clearTrailingComments

      public DescriptorProtos.SourceCodeInfo.Location.Builder clearTrailingComments()
      optional string trailing_comments = 4;
      Returns:
      This builder for chaining.
    • setTrailingCommentsBytes

      public DescriptorProtos.SourceCodeInfo.Location.Builder setTrailingCommentsBytes(ByteString value)
      optional string trailing_comments = 4;
      Parameters:
      value - The bytes for trailingComments to set.
      Returns:
      This builder for chaining.
    • ensureLeadingDetachedCommentsIsMutable

      private void ensureLeadingDetachedCommentsIsMutable()
    • getLeadingDetachedCommentsList

      public ProtocolStringList getLeadingDetachedCommentsList()
      repeated string leading_detached_comments = 6;
      Specified by:
      getLeadingDetachedCommentsList in interface DescriptorProtos.SourceCodeInfo.LocationOrBuilder
      Returns:
      A list containing the leadingDetachedComments.
    • getLeadingDetachedCommentsCount

      public int getLeadingDetachedCommentsCount()
      repeated string leading_detached_comments = 6;
      Specified by:
      getLeadingDetachedCommentsCount in interface DescriptorProtos.SourceCodeInfo.LocationOrBuilder
      Returns:
      The count of leadingDetachedComments.
    • getLeadingDetachedComments

      public String getLeadingDetachedComments(int index)
      repeated string leading_detached_comments = 6;
      Specified by:
      getLeadingDetachedComments in interface DescriptorProtos.SourceCodeInfo.LocationOrBuilder
      Parameters:
      index - The index of the element to return.
      Returns:
      The leadingDetachedComments at the given index.
    • getLeadingDetachedCommentsBytes

      public ByteString getLeadingDetachedCommentsBytes(int index)
      repeated string leading_detached_comments = 6;
      Specified by:
      getLeadingDetachedCommentsBytes in interface DescriptorProtos.SourceCodeInfo.LocationOrBuilder
      Parameters:
      index - The index of the value to return.
      Returns:
      The bytes of the leadingDetachedComments at the given index.
    • setLeadingDetachedComments

      public DescriptorProtos.SourceCodeInfo.Location.Builder setLeadingDetachedComments(int index, String value)
      repeated string leading_detached_comments = 6;
      Parameters:
      index - The index to set the value at.
      value - The leadingDetachedComments to set.
      Returns:
      This builder for chaining.
    • addLeadingDetachedComments

      public DescriptorProtos.SourceCodeInfo.Location.Builder addLeadingDetachedComments(String value)
      repeated string leading_detached_comments = 6;
      Parameters:
      value - The leadingDetachedComments to add.
      Returns:
      This builder for chaining.
    • addAllLeadingDetachedComments

      public DescriptorProtos.SourceCodeInfo.Location.Builder addAllLeadingDetachedComments(Iterable<String> values)
      repeated string leading_detached_comments = 6;
      Parameters:
      values - The leadingDetachedComments to add.
      Returns:
      This builder for chaining.
    • clearLeadingDetachedComments

      public DescriptorProtos.SourceCodeInfo.Location.Builder clearLeadingDetachedComments()
      repeated string leading_detached_comments = 6;
      Returns:
      This builder for chaining.
    • addLeadingDetachedCommentsBytes

      public DescriptorProtos.SourceCodeInfo.Location.Builder addLeadingDetachedCommentsBytes(ByteString value)
      repeated string leading_detached_comments = 6;
      Parameters:
      value - The bytes of the leadingDetachedComments to add.
      Returns:
      This builder for chaining.