com.google.protobuf

## Class DescriptorProtos.SourceCodeInfo

- java.lang.Object
- - com.google.protobuf.AbstractMessageLite
  - - com.google.protobuf.AbstractMessage
    - - com.google.protobuf.GeneratedMessageV3
      - - com.google.protobuf.DescriptorProtos.SourceCodeInfo

- All Implemented Interfaces:
    DescriptorProtos.SourceCodeInfoOrBuilder, Message, MessageLite, MessageLiteOrBuilder, MessageOrBuilder, java.io.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:
    Serialized Form

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `DescriptorProtos.SourceCodeInfo.Builder` Encapsulates information about the original source file from which a FileDescriptorProto was generated.
    `static class` | `DescriptorProtos.SourceCodeInfo.Location` Protobuf type `google.protobuf.SourceCodeInfo.Location`
    `static interface` | `DescriptorProtos.SourceCodeInfo.LocationOrBuilder`

    - ### Nested classes/interfaces inherited from class com.google.protobuf.GeneratedMessageV3

      `GeneratedMessageV3.BuilderParent, GeneratedMessageV3.ExtendableBuilder<MessageType extends GeneratedMessageV3.ExtendableMessage,BuilderType extends GeneratedMessageV3.ExtendableBuilder<MessageType,BuilderType>>, GeneratedMessageV3.ExtendableMessage<MessageType extends GeneratedMessageV3.ExtendableMessage>, GeneratedMessageV3.ExtendableMessageOrBuilder<MessageType extends GeneratedMessageV3.ExtendableMessage>, GeneratedMessageV3.FieldAccessorTable`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `LOCATION_FIELD_NUMBER`
    `static Parser<DescriptorProtos.SourceCodeInfo>` | `PARSER` Deprecated.

    - ### Fields inherited from class com.google.protobuf.GeneratedMessageV3

      `alwaysUseFieldBuilders, unknownFields`

    - ### Fields inherited from class com.google.protobuf.AbstractMessage

      `memoizedSize`

    - ### Fields inherited from class com.google.protobuf.AbstractMessageLite

      `memoizedHashCode`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `equals(java.lang.Object obj)` Compares the specified object with this message for equality.
    `static DescriptorProtos.SourceCodeInfo` | `getDefaultInstance()`
    `DescriptorProtos.SourceCodeInfo` | `getDefaultInstanceForType()` Get an instance of the type with no fields set.
    `static Descriptors.Descriptor` | `getDescriptor()`
    `DescriptorProtos.SourceCodeInfo.Location` | `getLocation(int index)` A Location identifies a piece of source code in a .proto file which corresponds to a particular definition.
    `int` | `getLocationCount()` A Location identifies a piece of source code in a .proto file which corresponds to a particular definition.
    `java.util.List<DescriptorProtos.SourceCodeInfo.Location>` | `getLocationList()` A Location identifies a piece of source code in a .proto file which corresponds to a particular definition.
    `DescriptorProtos.SourceCodeInfo.LocationOrBuilder` | `getLocationOrBuilder(int index)` A Location identifies a piece of source code in a .proto file which corresponds to a particular definition.
    `java.util.List<? extends DescriptorProtos.SourceCodeInfo.LocationOrBuilder>` | `getLocationOrBuilderList()` A Location identifies a piece of source code in a .proto file which corresponds to a particular definition.
    `Parser<DescriptorProtos.SourceCodeInfo>` | `getParserForType()` Gets the parser for a message of the same type as this message.
    `int` | `getSerializedSize()` Get the number of bytes required to encode this message.
    `UnknownFieldSet` | `getUnknownFields()` Get the `UnknownFieldSet` for this message.
    `int` | `hashCode()` Returns the hash code value for this message.
    `protected GeneratedMessageV3.FieldAccessorTable` | `internalGetFieldAccessorTable()` Get the FieldAccessorTable for this type.
    `boolean` | `isInitialized()` Returns true if all required fields in the message and all embedded messages are set, false otherwise.
    `static DescriptorProtos.SourceCodeInfo.Builder` | `newBuilder()`
    `static DescriptorProtos.SourceCodeInfo.Builder` | `newBuilder(DescriptorProtos.SourceCodeInfo prototype)`
    `DescriptorProtos.SourceCodeInfo.Builder` | `newBuilderForType()` Constructs a new builder for a message of the same type as this message.
    `protected DescriptorProtos.SourceCodeInfo.Builder` | `newBuilderForType(GeneratedMessageV3.BuilderParent parent)` TODO(xiaofeng): remove this together with GeneratedMessageV3.BuilderParent.
    `static DescriptorProtos.SourceCodeInfo` | `parseDelimitedFrom(java.io.InputStream input)`
    `static DescriptorProtos.SourceCodeInfo` | `parseDelimitedFrom(java.io.InputStream input, ExtensionRegistryLite extensionRegistry)`
    `static DescriptorProtos.SourceCodeInfo` | `parseFrom(byte[] data)`
    `static DescriptorProtos.SourceCodeInfo` | `parseFrom(byte[] data, ExtensionRegistryLite extensionRegistry)`
    `static DescriptorProtos.SourceCodeInfo` | `parseFrom(java.nio.ByteBuffer data)`
    `static DescriptorProtos.SourceCodeInfo` | `parseFrom(java.nio.ByteBuffer data, ExtensionRegistryLite extensionRegistry)`
    `static DescriptorProtos.SourceCodeInfo` | `parseFrom(ByteString data)`
    `static DescriptorProtos.SourceCodeInfo` | `parseFrom(ByteString data, ExtensionRegistryLite extensionRegistry)`
    `static DescriptorProtos.SourceCodeInfo` | `parseFrom(CodedInputStream input)`
    `static DescriptorProtos.SourceCodeInfo` | `parseFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry)`
    `static DescriptorProtos.SourceCodeInfo` | `parseFrom(java.io.InputStream input)`
    `static DescriptorProtos.SourceCodeInfo` | `parseFrom(java.io.InputStream input, ExtensionRegistryLite extensionRegistry)`
    `static Parser<DescriptorProtos.SourceCodeInfo>` | `parser()`
    `DescriptorProtos.SourceCodeInfo.Builder` | `toBuilder()` Constructs a builder initialized with the current message.
    `void` | `writeTo(CodedOutputStream output)` Serializes the message and writes it to `output`.

    - ### Methods inherited from class com.google.protobuf.GeneratedMessageV3

      `computeStringSize, computeStringSizeNoTag, getAllFields, getDescriptorForType, getField, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, hasField, hasOneof, internalGetMapField, makeExtensionsImmutable, newBuilderForType, parseDelimitedWithIOException, parseDelimitedWithIOException, parseUnknownField, parseWithIOException, parseWithIOException, parseWithIOException, parseWithIOException, serializeBooleanMapTo, serializeIntegerMapTo, serializeLongMapTo, serializeStringMapTo, writeReplace, writeString, writeStringNoTag`

    - ### Methods inherited from class com.google.protobuf.AbstractMessage

      `findInitializationErrors, getInitializationErrorString, hashBoolean, hashEnum, hashEnumList, hashFields, hashLong, toString`

    - ### Methods inherited from class com.google.protobuf.AbstractMessageLite

      `addAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeTo`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

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

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

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

      `toByteArray, toByteString, writeDelimitedTo, writeTo`

- - ### Field Detail

    - #### LOCATION_FIELD_NUMBER

          public static final int LOCATION_FIELD_NUMBER

      See Also:
        Constant Field Values

    - #### PARSER

          @Deprecated
          public static final Parser<DescriptorProtos.SourceCodeInfo> PARSER

      Deprecated.

  - ### Method Detail

    - #### 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

          public java.util.List<DescriptorProtos.SourceCodeInfo.Location> 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 descendent.  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 java.util.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 descendent.  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 descendent.  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 descendent.  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 descendent.  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 java.io.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:
        `java.io.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.
      Specified by:
        `getSerializedSize` in interface `MessageLite`
      Overrides:
        `getSerializedSize` in class `GeneratedMessageV3`

    - #### 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()`

    - #### parseFrom

          public static DescriptorProtos.SourceCodeInfo parseFrom(java.nio.ByteBuffer data)
                                                           throws InvalidProtocolBufferException

      Throws:
        `InvalidProtocolBufferException`

    - #### parseFrom

          public static DescriptorProtos.SourceCodeInfo parseFrom(java.nio.ByteBuffer data,
                                                  ExtensionRegistryLite extensionRegistry)
                                                           throws InvalidProtocolBufferException

      Throws:
        `InvalidProtocolBufferException`

    - #### parseFrom

          public static DescriptorProtos.SourceCodeInfo parseFrom(ByteString data)
                                                           throws InvalidProtocolBufferException

      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(java.io.InputStream input)
                                                           throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### parseFrom

          public static DescriptorProtos.SourceCodeInfo parseFrom(java.io.InputStream input,
                                                  ExtensionRegistryLite extensionRegistry)
                                                           throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### parseDelimitedFrom

          public static DescriptorProtos.SourceCodeInfo parseDelimitedFrom(java.io.InputStream input)
                                                                    throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### parseDelimitedFrom

          public static DescriptorProtos.SourceCodeInfo parseDelimitedFrom(java.io.InputStream input,
                                                           ExtensionRegistryLite extensionRegistry)
                                                                    throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### parseFrom

          public static DescriptorProtos.SourceCodeInfo parseFrom(CodedInputStream input)
                                                           throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### parseFrom

          public static DescriptorProtos.SourceCodeInfo parseFrom(CodedInputStream input,
                                                  ExtensionRegistryLite extensionRegistry)
                                                           throws java.io.IOException

      Throws:
        `java.io.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

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

    - #### toBuilder

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

          protected DescriptorProtos.SourceCodeInfo.Builder newBuilderForType(GeneratedMessageV3.BuilderParent parent)

      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`