Class DescriptorProtos.SourceCodeInfo

All Implemented Interfaces:
DescriptorProtos.SourceCodeInfoOrBuilder, Message, MessageLite, MessageLiteOrBuilder, MessageOrBuilder, Serializable
Enclosing class:
DescriptorProtos

public static final class DescriptorProtos.SourceCodeInfo extends GeneratedMessageV3 implements DescriptorProtos.SourceCodeInfoOrBuilder
 Encapsulates information about the original source file from which a
 FileDescriptorProto was generated.
 
Protobuf type google.protobuf.SourceCodeInfo
See Also:
  • Field Details

  • Constructor Details

  • Method Details

    • newInstance

      protected Object newInstance(GeneratedMessageV3.UnusedPrivateParameter unused)
      Description copied from class: GeneratedMessageV3
      Creates a new instance of this message type. Overridden in the generated code.
      Overrides:
      newInstance in class GeneratedMessageV3
    • getUnknownFields

      public final UnknownFieldSet getUnknownFields()
      Description copied from interface: MessageOrBuilder
      Get the UnknownFieldSet for this message.
      Specified by:
      getUnknownFields in interface MessageOrBuilder
      Overrides:
      getUnknownFields in class GeneratedMessageV3
    • getDescriptor

      public static final Descriptors.Descriptor getDescriptor()
    • internalGetFieldAccessorTable

      protected GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
      Description copied from class: GeneratedMessageV3
      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 GeneratedMessageV3
    • getLocationList

       A Location identifies a piece of source code in a .proto file which
       corresponds to a particular definition.  This information is intended
       to be useful to IDEs, code indexers, documentation generators, and similar
       tools.
       For example, say we have a file like:
         message Foo {
           optional string foo = 1;
         }
       Let's look at just the field definition:
         optional string foo = 1;
         ^       ^^     ^^  ^  ^^^
         a       bc     de  f  ghi
       We have the following locations:
         span   path               represents
         [a,i)  [ 4, 0, 2, 0 ]     The whole field definition.
         [a,b)  [ 4, 0, 2, 0, 4 ]  The label (optional).
         [c,d)  [ 4, 0, 2, 0, 5 ]  The type (string).
         [e,f)  [ 4, 0, 2, 0, 1 ]  The name (foo).
         [g,h)  [ 4, 0, 2, 0, 3 ]  The number (1).
       Notes:
       - A location may refer to a repeated field itself (i.e. not to any
         particular index within it).  This is used whenever a set of elements are
         logically enclosed in a single code segment.  For example, an entire
         extend block (possibly containing multiple extension definitions) will
         have an outer location whose path refers to the "extensions" repeated
         field without an index.
       - Multiple locations may have the same path.  This happens when a single
         logical declaration is spread out across multiple places.  The most
         obvious example is the "extend" block again -- there may be multiple
         extend blocks in the same scope, each of which will have the same path.
       - A location's span is not always a subset of its parent's span.  For
         example, the "extendee" of an extension declaration appears at the
         beginning of the "extend" block and is shared by all extensions within
         the block.
       - Just because a location's span is a subset of some other location's span
         does not mean that it is a descendant.  For example, a "group" defines
         both a type and a field in a single declaration.  Thus, the locations
         corresponding to the type and field and their components will overlap.
       - Code which tries to interpret locations should probably be designed to
         ignore those that it doesn't understand, as more types of locations could
         be recorded in the future.
       
      repeated .google.protobuf.SourceCodeInfo.Location location = 1;
      Specified by:
      getLocationList in interface DescriptorProtos.SourceCodeInfoOrBuilder
    • getLocationOrBuilderList

      public List<? extends DescriptorProtos.SourceCodeInfo.LocationOrBuilder> getLocationOrBuilderList()
       A Location identifies a piece of source code in a .proto file which
       corresponds to a particular definition.  This information is intended
       to be useful to IDEs, code indexers, documentation generators, and similar
       tools.
       For example, say we have a file like:
         message Foo {
           optional string foo = 1;
         }
       Let's look at just the field definition:
         optional string foo = 1;
         ^       ^^     ^^  ^  ^^^
         a       bc     de  f  ghi
       We have the following locations:
         span   path               represents
         [a,i)  [ 4, 0, 2, 0 ]     The whole field definition.
         [a,b)  [ 4, 0, 2, 0, 4 ]  The label (optional).
         [c,d)  [ 4, 0, 2, 0, 5 ]  The type (string).
         [e,f)  [ 4, 0, 2, 0, 1 ]  The name (foo).
         [g,h)  [ 4, 0, 2, 0, 3 ]  The number (1).
       Notes:
       - A location may refer to a repeated field itself (i.e. not to any
         particular index within it).  This is used whenever a set of elements are
         logically enclosed in a single code segment.  For example, an entire
         extend block (possibly containing multiple extension definitions) will
         have an outer location whose path refers to the "extensions" repeated
         field without an index.
       - Multiple locations may have the same path.  This happens when a single
         logical declaration is spread out across multiple places.  The most
         obvious example is the "extend" block again -- there may be multiple
         extend blocks in the same scope, each of which will have the same path.
       - A location's span is not always a subset of its parent's span.  For
         example, the "extendee" of an extension declaration appears at the
         beginning of the "extend" block and is shared by all extensions within
         the block.
       - Just because a location's span is a subset of some other location's span
         does not mean that it is a descendant.  For example, a "group" defines
         both a type and a field in a single declaration.  Thus, the locations
         corresponding to the type and field and their components will overlap.
       - Code which tries to interpret locations should probably be designed to
         ignore those that it doesn't understand, as more types of locations could
         be recorded in the future.
       
      repeated .google.protobuf.SourceCodeInfo.Location location = 1;
      Specified by:
      getLocationOrBuilderList in interface DescriptorProtos.SourceCodeInfoOrBuilder
    • getLocationCount

      public int getLocationCount()
       A Location identifies a piece of source code in a .proto file which
       corresponds to a particular definition.  This information is intended
       to be useful to IDEs, code indexers, documentation generators, and similar
       tools.
       For example, say we have a file like:
         message Foo {
           optional string foo = 1;
         }
       Let's look at just the field definition:
         optional string foo = 1;
         ^       ^^     ^^  ^  ^^^
         a       bc     de  f  ghi
       We have the following locations:
         span   path               represents
         [a,i)  [ 4, 0, 2, 0 ]     The whole field definition.
         [a,b)  [ 4, 0, 2, 0, 4 ]  The label (optional).
         [c,d)  [ 4, 0, 2, 0, 5 ]  The type (string).
         [e,f)  [ 4, 0, 2, 0, 1 ]  The name (foo).
         [g,h)  [ 4, 0, 2, 0, 3 ]  The number (1).
       Notes:
       - A location may refer to a repeated field itself (i.e. not to any
         particular index within it).  This is used whenever a set of elements are
         logically enclosed in a single code segment.  For example, an entire
         extend block (possibly containing multiple extension definitions) will
         have an outer location whose path refers to the "extensions" repeated
         field without an index.
       - Multiple locations may have the same path.  This happens when a single
         logical declaration is spread out across multiple places.  The most
         obvious example is the "extend" block again -- there may be multiple
         extend blocks in the same scope, each of which will have the same path.
       - A location's span is not always a subset of its parent's span.  For
         example, the "extendee" of an extension declaration appears at the
         beginning of the "extend" block and is shared by all extensions within
         the block.
       - Just because a location's span is a subset of some other location's span
         does not mean that it is a descendant.  For example, a "group" defines
         both a type and a field in a single declaration.  Thus, the locations
         corresponding to the type and field and their components will overlap.
       - Code which tries to interpret locations should probably be designed to
         ignore those that it doesn't understand, as more types of locations could
         be recorded in the future.
       
      repeated .google.protobuf.SourceCodeInfo.Location location = 1;
      Specified by:
      getLocationCount in interface DescriptorProtos.SourceCodeInfoOrBuilder
    • getLocation

      public DescriptorProtos.SourceCodeInfo.Location getLocation(int index)
       A Location identifies a piece of source code in a .proto file which
       corresponds to a particular definition.  This information is intended
       to be useful to IDEs, code indexers, documentation generators, and similar
       tools.
       For example, say we have a file like:
         message Foo {
           optional string foo = 1;
         }
       Let's look at just the field definition:
         optional string foo = 1;
         ^       ^^     ^^  ^  ^^^
         a       bc     de  f  ghi
       We have the following locations:
         span   path               represents
         [a,i)  [ 4, 0, 2, 0 ]     The whole field definition.
         [a,b)  [ 4, 0, 2, 0, 4 ]  The label (optional).
         [c,d)  [ 4, 0, 2, 0, 5 ]  The type (string).
         [e,f)  [ 4, 0, 2, 0, 1 ]  The name (foo).
         [g,h)  [ 4, 0, 2, 0, 3 ]  The number (1).
       Notes:
       - A location may refer to a repeated field itself (i.e. not to any
         particular index within it).  This is used whenever a set of elements are
         logically enclosed in a single code segment.  For example, an entire
         extend block (possibly containing multiple extension definitions) will
         have an outer location whose path refers to the "extensions" repeated
         field without an index.
       - Multiple locations may have the same path.  This happens when a single
         logical declaration is spread out across multiple places.  The most
         obvious example is the "extend" block again -- there may be multiple
         extend blocks in the same scope, each of which will have the same path.
       - A location's span is not always a subset of its parent's span.  For
         example, the "extendee" of an extension declaration appears at the
         beginning of the "extend" block and is shared by all extensions within
         the block.
       - Just because a location's span is a subset of some other location's span
         does not mean that it is a descendant.  For example, a "group" defines
         both a type and a field in a single declaration.  Thus, the locations
         corresponding to the type and field and their components will overlap.
       - Code which tries to interpret locations should probably be designed to
         ignore those that it doesn't understand, as more types of locations could
         be recorded in the future.
       
      repeated .google.protobuf.SourceCodeInfo.Location location = 1;
      Specified by:
      getLocation in interface DescriptorProtos.SourceCodeInfoOrBuilder
    • getLocationOrBuilder

      public DescriptorProtos.SourceCodeInfo.LocationOrBuilder getLocationOrBuilder(int index)
       A Location identifies a piece of source code in a .proto file which
       corresponds to a particular definition.  This information is intended
       to be useful to IDEs, code indexers, documentation generators, and similar
       tools.
       For example, say we have a file like:
         message Foo {
           optional string foo = 1;
         }
       Let's look at just the field definition:
         optional string foo = 1;
         ^       ^^     ^^  ^  ^^^
         a       bc     de  f  ghi
       We have the following locations:
         span   path               represents
         [a,i)  [ 4, 0, 2, 0 ]     The whole field definition.
         [a,b)  [ 4, 0, 2, 0, 4 ]  The label (optional).
         [c,d)  [ 4, 0, 2, 0, 5 ]  The type (string).
         [e,f)  [ 4, 0, 2, 0, 1 ]  The name (foo).
         [g,h)  [ 4, 0, 2, 0, 3 ]  The number (1).
       Notes:
       - A location may refer to a repeated field itself (i.e. not to any
         particular index within it).  This is used whenever a set of elements are
         logically enclosed in a single code segment.  For example, an entire
         extend block (possibly containing multiple extension definitions) will
         have an outer location whose path refers to the "extensions" repeated
         field without an index.
       - Multiple locations may have the same path.  This happens when a single
         logical declaration is spread out across multiple places.  The most
         obvious example is the "extend" block again -- there may be multiple
         extend blocks in the same scope, each of which will have the same path.
       - A location's span is not always a subset of its parent's span.  For
         example, the "extendee" of an extension declaration appears at the
         beginning of the "extend" block and is shared by all extensions within
         the block.
       - Just because a location's span is a subset of some other location's span
         does not mean that it is a descendant.  For example, a "group" defines
         both a type and a field in a single declaration.  Thus, the locations
         corresponding to the type and field and their components will overlap.
       - Code which tries to interpret locations should probably be designed to
         ignore those that it doesn't understand, as more types of locations could
         be recorded in the future.
       
      repeated .google.protobuf.SourceCodeInfo.Location location = 1;
      Specified by:
      getLocationOrBuilder in interface DescriptorProtos.SourceCodeInfoOrBuilder
    • 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 GeneratedMessageV3
    • writeTo

      public void writeTo(CodedOutputStream output) throws IOException
      Description copied from interface: MessageLite
      Serializes the message and writes it to output. This does not flush or close the stream.
      Specified by:
      writeTo in interface MessageLite
      Overrides:
      writeTo in class GeneratedMessageV3
      Throws:
      IOException
    • getSerializedSize

      public int getSerializedSize()
      Description copied from interface: MessageLite
      Get the number of bytes required to encode this message. The result is only computed on the first call and memoized after that. If this message requires more than Integer.MAX_VALUE bytes to encode, the return value will be smaller than the actual number of bytes required and might be negative.
      Specified by:
      getSerializedSize in interface MessageLite
      Overrides:
      getSerializedSize in class GeneratedMessageV3
    • equals

      public boolean equals(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:
    • parseFrom

      Throws:
      InvalidProtocolBufferException
    • parseFrom

      public static DescriptorProtos.SourceCodeInfo parseFrom(ByteBuffer data, ExtensionRegistryLite extensionRegistry) throws InvalidProtocolBufferException
      Throws:
      InvalidProtocolBufferException
    • parseFrom

      Throws:
      InvalidProtocolBufferException
    • parseFrom

      public static DescriptorProtos.SourceCodeInfo parseFrom(ByteString data, ExtensionRegistryLite extensionRegistry) throws InvalidProtocolBufferException
      Throws:
      InvalidProtocolBufferException
    • parseFrom

      public static DescriptorProtos.SourceCodeInfo parseFrom(byte[] data) throws InvalidProtocolBufferException
      Throws:
      InvalidProtocolBufferException
    • parseFrom

      public static DescriptorProtos.SourceCodeInfo parseFrom(byte[] data, ExtensionRegistryLite extensionRegistry) throws InvalidProtocolBufferException
      Throws:
      InvalidProtocolBufferException
    • parseFrom

      public static DescriptorProtos.SourceCodeInfo parseFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

      public static DescriptorProtos.SourceCodeInfo parseFrom(InputStream input, ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static DescriptorProtos.SourceCodeInfo parseDelimitedFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static DescriptorProtos.SourceCodeInfo parseDelimitedFrom(InputStream input, ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseFrom

      public static DescriptorProtos.SourceCodeInfo parseFrom(CodedInputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

      public static DescriptorProtos.SourceCodeInfo parseFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • newBuilderForType

      public DescriptorProtos.SourceCodeInfo.Builder newBuilderForType()
      Description copied from interface: MessageLite
      Constructs a new builder for a message of the same type as this message.
      Specified by:
      newBuilderForType in interface Message
      Specified by:
      newBuilderForType in interface MessageLite
    • newBuilder

      public static DescriptorProtos.SourceCodeInfo.Builder newBuilder()
    • newBuilder

    • toBuilder

      Description copied from interface: MessageLite
      Constructs a builder initialized with the current message. Use this to derive a new message from the current one.
      Specified by:
      toBuilder in interface Message
      Specified by:
      toBuilder in interface MessageLite
    • newBuilderForType

      Description copied from class: GeneratedMessageV3
      TODO(xiaofeng): remove this together with GeneratedMessageV3.BuilderParent.
      Specified by:
      newBuilderForType in class GeneratedMessageV3
    • getDefaultInstance

      public static DescriptorProtos.SourceCodeInfo getDefaultInstance()
    • parser

      public static Parser<DescriptorProtos.SourceCodeInfo> parser()
    • getParserForType

      public Parser<DescriptorProtos.SourceCodeInfo> getParserForType()
      Description copied from interface: MessageLite
      Gets the parser for a message of the same type as this message.
      Specified by:
      getParserForType in interface Message
      Specified by:
      getParserForType in interface MessageLite
      Overrides:
      getParserForType in class GeneratedMessageV3
    • getDefaultInstanceForType

      public DescriptorProtos.SourceCodeInfo 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