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 Details

    • getPathList

      List<Integer> getPathList()
      repeated int32 path = 1 [packed = true];
       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).
       
    • getPathCount

      int getPathCount()
      repeated int32 path = 1 [packed = true];
       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).
       
    • getPath

      int getPath(int index)
      repeated int32 path = 1 [packed = true];
       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).
       
    • getSpanList

      List<Integer> getSpanList()
      repeated int32 span = 2 [packed = true];
       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.
       
    • getSpanCount

      int getSpanCount()
      repeated int32 span = 2 [packed = true];
       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.
       
    • getSpan

      int getSpan(int index)
      repeated int32 span = 2 [packed = true];
       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.
       
    • hasLeadingComments

      boolean hasLeadingComments()
      optional string leading_comments = 3;
       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.
       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;
         optional string corge = 5;
         /* Block comment attached
          * to corge.  Leading asterisks
          * will be removed. */
         /* Block comment attached to
          * grault. */
         optional int32 grault = 6;
       
    • getLeadingComments

      String getLeadingComments()
      optional string leading_comments = 3;
       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.
       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;
         optional string corge = 5;
         /* Block comment attached
          * to corge.  Leading asterisks
          * will be removed. */
         /* Block comment attached to
          * grault. */
         optional int32 grault = 6;
       
    • getLeadingCommentsBytes

      ByteString getLeadingCommentsBytes()
      optional string leading_comments = 3;
       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.
       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;
         optional string corge = 5;
         /* Block comment attached
          * to corge.  Leading asterisks
          * will be removed. */
         /* Block comment attached to
          * grault. */
         optional int32 grault = 6;
       
    • hasTrailingComments

      boolean hasTrailingComments()
      optional string trailing_comments = 4;
    • getTrailingComments

      String getTrailingComments()
      optional string trailing_comments = 4;
    • getTrailingCommentsBytes

      ByteString getTrailingCommentsBytes()
      optional string trailing_comments = 4;