Class DescriptorProtos.SourceCodeInfo.Location

    • Constructor Detail

      • Location

        private 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 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.
      • ensurePathIsMutable

        private void ensurePathIsMutable()
      • setPath

        private void 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.
      • addPath

        private void addPath​(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:
        value - The path to add.
      • addAllPath

        private void addAllPath​(java.lang.Iterable<? extends java.lang.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.
      • clearPath

        private void 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];
      • 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.
      • ensureSpanIsMutable

        private void ensureSpanIsMutable()
      • setSpan

        private void 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.
      • addSpan

        private void addSpan​(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:
        value - The span to add.
      • addAllSpan

        private void addAllSpan​(java.lang.Iterable<? extends java.lang.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.
      • clearSpan

        private void 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];
      • 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 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 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

        private void setLeadingComments​(java.lang.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.
      • clearLeadingComments

        private void 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;
      • setLeadingCommentsBytes

        private void 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.
      • setTrailingComments

        private void setTrailingComments​(java.lang.String value)
        optional string trailing_comments = 4;
        Parameters:
        value - The trailingComments to set.
      • clearTrailingComments

        private void clearTrailingComments()
        optional string trailing_comments = 4;
      • setTrailingCommentsBytes

        private void setTrailingCommentsBytes​(ByteString value)
        optional string trailing_comments = 4;
        Parameters:
        value - The bytes for trailingComments to set.
      • ensureLeadingDetachedCommentsIsMutable

        private void ensureLeadingDetachedCommentsIsMutable()
      • setLeadingDetachedComments

        private void setLeadingDetachedComments​(int index,
                                                java.lang.String value)
        repeated string leading_detached_comments = 6;
        Parameters:
        index - The index to set the value at.
        value - The leadingDetachedComments to set.
      • addLeadingDetachedComments

        private void addLeadingDetachedComments​(java.lang.String value)
        repeated string leading_detached_comments = 6;
        Parameters:
        value - The leadingDetachedComments to add.
      • addAllLeadingDetachedComments

        private void addAllLeadingDetachedComments​(java.lang.Iterable<java.lang.String> values)
        repeated string leading_detached_comments = 6;
        Parameters:
        values - The leadingDetachedComments to add.
      • clearLeadingDetachedComments

        private void clearLeadingDetachedComments()
        repeated string leading_detached_comments = 6;
      • addLeadingDetachedCommentsBytes

        private void addLeadingDetachedCommentsBytes​(ByteString value)
        repeated string leading_detached_comments = 6;
        Parameters:
        value - The bytes of the leadingDetachedComments to add.
      • dynamicMethod

        protected final java.lang.Object dynamicMethod​(GeneratedMessageLite.MethodToInvoke method,
                                                       java.lang.Object arg0,
                                                       java.lang.Object arg1)
        Description copied from class: GeneratedMessageLite
        A method that implements different types of operations described in GeneratedMessageLite.MethodToInvoke. These different kinds of operations are required to implement message-level operations for builders in the runtime. This method bundles those operations to reduce the generated methods count.
        • NEW_INSTANCE returns a new instance of the protocol buffer that has not yet been made immutable. See MAKE_IMMUTABLE.
        • IS_INITIALIZED returns null for false and the default instance for true. It doesn't use or modify any memoized value.
        • GET_MEMOIZED_IS_INITIALIZED returns the memoized isInitialized byte value.
        • SET_MEMOIZED_IS_INITIALIZED sets the memoized isInitialized byte value to 1 if the first parameter is not null, or to 0 if the first parameter is null.
        • NEW_BUILDER returns a BuilderType instance.
        This method, plus the implementation of the Builder, enables the Builder class to be proguarded away entirely on Android.

        For use by generated code only.

        Specified by:
        dynamicMethod in class GeneratedMessageLite<DescriptorProtos.SourceCodeInfo.Location,​DescriptorProtos.SourceCodeInfo.Location.Builder>