DescriptorProtos.SourceCodeInfo.LocationOrBuilder
Date: 2017-07-08

com.google.protobuf

## Interface DescriptorProtos.SourceCodeInfo.LocationOrBuilder

- All Superinterfaces:
    MessageLiteOrBuilder, MessageOrBuilder
  All Known Implementing Classes:
    DescriptorProtos.SourceCodeInfo.Location, DescriptorProtos.SourceCodeInfo.Location.Builder
  Enclosing class:
    DescriptorProtos.SourceCodeInfo

      public static interface DescriptorProtos.SourceCodeInfo.LocationOrBuilder
      extends MessageOrBuilder

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.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.
    `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.
    `java.lang.String` | `getLeadingDetachedComments(int index)` `repeated string leading_detached_comments = 6;`
    `ByteString` | `getLeadingDetachedCommentsBytes(int index)` `repeated string leading_detached_comments = 6;`
    `int` | `getLeadingDetachedCommentsCount()` `repeated string leading_detached_comments = 6;`
    `java.util.List<java.lang.String>` | `getLeadingDetachedCommentsList()` `repeated string leading_detached_comments = 6;`
    `int` | `getPath(int index)` Identifies which part of the FileDescriptorProto was defined at this location.
    `int` | `getPathCount()` Identifies which part of the FileDescriptorProto was defined at this location.
    `java.util.List<java.lang.Integer>` | `getPathList()` Identifies which part of the FileDescriptorProto was defined at this location.
    `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.
    `int` | `getSpanCount()` Always has exactly three or four elements: start line, start column, end line (optional, otherwise assumed same as start line), end column.
    `java.util.List<java.lang.Integer>` | `getSpanList()` Always has exactly three or four elements: start line, start column, end line (optional, otherwise assumed same as start line), end column.
    `java.lang.String` | `getTrailingComments()` `optional string trailing_comments = 4;`
    `ByteString` | `getTrailingCommentsBytes()` `optional string trailing_comments = 4;`
    `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.
    `boolean` | `hasTrailingComments()` `optional string trailing_comments = 4;`

    - ### Methods inherited from interface com.google.protobuf.MessageOrBuilder

      `findInitializationErrors, getAllFields, getDefaultInstanceForType, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof`

    - ### Methods inherited from interface com.google.protobuf.MessageLiteOrBuilder

      `isInitialized`

- - ### Method Detail

    - #### getPathList

          java.util.List<java.lang.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.  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];`

    - #### getPathCount

          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.  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];`

    - #### getPath

          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.  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];`

    - #### getSpanList

          java.util.List<java.lang.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];`

    - #### getSpanCount

          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];`

    - #### getSpan

          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];`

    - #### hasLeadingComments

          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 qux.
             //
             // Another line attached to qux.
             optional double qux = 4;
             // Detached comment for corge. This is not leading or trailing comments
             // to qux 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;`

    - #### getLeadingComments

          java.lang.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 qux.
             //
             // Another line attached to qux.
             optional double qux = 4;
             // Detached comment for corge. This is not leading or trailing comments
             // to qux 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;`

    - #### getLeadingCommentsBytes

          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 qux.
             //
             // Another line attached to qux.
             optional double qux = 4;
             // Detached comment for corge. This is not leading or trailing comments
             // to qux 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;`

    - #### hasTrailingComments

          boolean hasTrailingComments()

      `optional string trailing_comments = 4;`

    - #### getTrailingComments

          java.lang.String getTrailingComments()

      `optional string trailing_comments = 4;`

    - #### getTrailingCommentsBytes

          ByteString getTrailingCommentsBytes()

      `optional string trailing_comments = 4;`

    - #### getLeadingDetachedCommentsList

          java.util.List<java.lang.String> getLeadingDetachedCommentsList()

      `repeated string leading_detached_comments = 6;`

    - #### getLeadingDetachedCommentsCount

          int getLeadingDetachedCommentsCount()

      `repeated string leading_detached_comments = 6;`

    - #### getLeadingDetachedComments

          java.lang.String getLeadingDetachedComments(int index)

      `repeated string leading_detached_comments = 6;`

    - #### getLeadingDetachedCommentsBytes

          ByteString getLeadingDetachedCommentsBytes(int index)

      `repeated string leading_detached_comments = 6;`