Class DescriptorProtos.SourceCodeInfo.Location

    • Method Detail

      • getPathList

        public 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];
        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.  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.  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.
      • getSpanList

        public 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];
        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.
      • 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 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;
        Specified by:
        hasLeadingComments in interface DescriptorProtos.SourceCodeInfo.LocationOrBuilder
        Returns:
        Whether the leadingComments field is set.
      • getLeadingComments

        public 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;
        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 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;
        Specified by:
        getLeadingCommentsBytes in interface DescriptorProtos.SourceCodeInfo.LocationOrBuilder
        Returns:
        The bytes for leadingComments.
      • equals

        public boolean equals​(java.lang.Object obj)
        Description copied from interface: Message
        Compares the specified object with this message for equality. Returns true if the given object is a message of the same type (as defined by getDescriptorForType()) and has identical values for all of its fields. Subclasses must implement this; inheriting Object.equals() is incorrect.
        Specified by:
        equals in interface Message
        Overrides:
        equals in class AbstractMessage
        Parameters:
        obj - object to be compared for equality with this message
        Returns:
        true if the specified object is equal to this message
      • hashCode

        public int hashCode()
        Description copied from interface: Message
        Returns the hash code value for this message. The hash code of a message should mix the message's type (object identity of the descriptor) with its contents (known and unknown field values). Subclasses must implement this; inheriting Object.hashCode() is incorrect.
        Specified by:
        hashCode in interface Message
        Overrides:
        hashCode in class AbstractMessage
        Returns:
        the hash code value for this message
        See Also:
        Map.hashCode()
      • 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