Class: SourceCodeInfo
google.protobuf.SourceCodeInfo
Encapsulates information about the original source file from which a FileDescriptorProto was generated.
Properties
location
• location: $Properties[]
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.
Methods
toJSON
▸ toJSON(): Object
Converts this SourceCodeInfo to JSON.
Returns
Object
JSON object
create
▸ create(properties?): SourceCodeInfo & $Properties
Creates a new SourceCodeInfo instance using the specified properties.
Parameters
| Name | Type | Description |
|---|---|---|
properties? | $Properties | Properties to set |
Returns
SourceCodeInfo instance
▸ create(properties?): SourceCodeInfo
Parameters
| Name | Type |
|---|---|
properties? | $Properties |
Returns
decode
▸ decode(reader, length?): SourceCodeInfo & $Properties
Decodes a SourceCodeInfo message from the specified reader or buffer.
Parameters
| Name | Type | Description |
|---|---|---|
reader | Uint8Array | Reader | Reader or buffer to decode from |
length? | number | Message length if known beforehand |
Returns
SourceCodeInfo
Throws
If the payload is not a reader or valid buffer
Throws
If required fields are missing
decodeDelimited
▸ decodeDelimited(reader): SourceCodeInfo & $Properties
Decodes a SourceCodeInfo message from the specified reader or buffer, length delimited.
Parameters
| Name | Type | Description |
|---|---|---|
reader | Uint8Array | Reader | Reader or buffer to decode from |
Returns
SourceCodeInfo
Throws
If the payload is not a reader or valid buffer
Throws
If required fields are missing
encode
▸ encode(message, writer?): Writer
Encodes the specified SourceCodeInfo message. Does not implicitly google.protobuf.SourceCodeInfo.verify|verify messages.
Parameters
| Name | Type | Description |
|---|---|---|
message | $Properties | SourceCodeInfo message or plain object to encode |
writer? | Writer | Writer to encode to |
Returns
Writer
Writer
encodeDelimited
▸ encodeDelimited(message, writer?): Writer
Encodes the specified SourceCodeInfo message, length delimited. Does not implicitly google.protobuf.SourceCodeInfo.verify|verify messages.
Parameters
| Name | Type | Description |
|---|---|---|
message | $Properties | SourceCodeInfo message or plain object to encode |
writer? | Writer | Writer to encode to |
Returns
Writer
Writer
fromObject
▸ fromObject(object): SourceCodeInfo
Creates a SourceCodeInfo message from a plain object. Also converts values to their respective internal types.
Parameters
| Name | Type | Description |
|---|---|---|
object | Object | Plain object |
Returns
SourceCodeInfo
toObject
▸ toObject(message, options?): Object
Creates a plain object from a SourceCodeInfo message. Also converts values to other types if specified.
Parameters
| Name | Type | Description |
|---|---|---|
message | SourceCodeInfo | SourceCodeInfo |
options? | IConversionOptions | Conversion options |
Returns
Object
Plain object