1ffe3c632Sopenharmony_ci<?php 2ffe3c632Sopenharmony_ci# Generated by the protocol buffer compiler. DO NOT EDIT! 3ffe3c632Sopenharmony_ci# source: google/protobuf/descriptor.proto 4ffe3c632Sopenharmony_ci 5ffe3c632Sopenharmony_cinamespace Google\Protobuf\Internal; 6ffe3c632Sopenharmony_ci 7ffe3c632Sopenharmony_ciuse Google\Protobuf\Internal\GPBType; 8ffe3c632Sopenharmony_ciuse Google\Protobuf\Internal\GPBWire; 9ffe3c632Sopenharmony_ciuse Google\Protobuf\Internal\RepeatedField; 10ffe3c632Sopenharmony_ciuse Google\Protobuf\Internal\InputStream; 11ffe3c632Sopenharmony_ciuse Google\Protobuf\Internal\GPBUtil; 12ffe3c632Sopenharmony_ci 13ffe3c632Sopenharmony_ci/** 14ffe3c632Sopenharmony_ci * Encapsulates information about the original source file from which a 15ffe3c632Sopenharmony_ci * FileDescriptorProto was generated. 16ffe3c632Sopenharmony_ci * 17ffe3c632Sopenharmony_ci * Generated from protobuf message <code>google.protobuf.SourceCodeInfo</code> 18ffe3c632Sopenharmony_ci */ 19ffe3c632Sopenharmony_ciclass SourceCodeInfo extends \Google\Protobuf\Internal\Message 20ffe3c632Sopenharmony_ci{ 21ffe3c632Sopenharmony_ci /** 22ffe3c632Sopenharmony_ci * A Location identifies a piece of source code in a .proto file which 23ffe3c632Sopenharmony_ci * corresponds to a particular definition. This information is intended 24ffe3c632Sopenharmony_ci * to be useful to IDEs, code indexers, documentation generators, and similar 25ffe3c632Sopenharmony_ci * tools. 26ffe3c632Sopenharmony_ci * For example, say we have a file like: 27ffe3c632Sopenharmony_ci * message Foo { 28ffe3c632Sopenharmony_ci * optional string foo = 1; 29ffe3c632Sopenharmony_ci * } 30ffe3c632Sopenharmony_ci * Let's look at just the field definition: 31ffe3c632Sopenharmony_ci * optional string foo = 1; 32ffe3c632Sopenharmony_ci * ^ ^^ ^^ ^ ^^^ 33ffe3c632Sopenharmony_ci * a bc de f ghi 34ffe3c632Sopenharmony_ci * We have the following locations: 35ffe3c632Sopenharmony_ci * span path represents 36ffe3c632Sopenharmony_ci * [a,i) [ 4, 0, 2, 0 ] The whole field definition. 37ffe3c632Sopenharmony_ci * [a,b) [ 4, 0, 2, 0, 4 ] The label (optional). 38ffe3c632Sopenharmony_ci * [c,d) [ 4, 0, 2, 0, 5 ] The type (string). 39ffe3c632Sopenharmony_ci * [e,f) [ 4, 0, 2, 0, 1 ] The name (foo). 40ffe3c632Sopenharmony_ci * [g,h) [ 4, 0, 2, 0, 3 ] The number (1). 41ffe3c632Sopenharmony_ci * Notes: 42ffe3c632Sopenharmony_ci * - A location may refer to a repeated field itself (i.e. not to any 43ffe3c632Sopenharmony_ci * particular index within it). This is used whenever a set of elements are 44ffe3c632Sopenharmony_ci * logically enclosed in a single code segment. For example, an entire 45ffe3c632Sopenharmony_ci * extend block (possibly containing multiple extension definitions) will 46ffe3c632Sopenharmony_ci * have an outer location whose path refers to the "extensions" repeated 47ffe3c632Sopenharmony_ci * field without an index. 48ffe3c632Sopenharmony_ci * - Multiple locations may have the same path. This happens when a single 49ffe3c632Sopenharmony_ci * logical declaration is spread out across multiple places. The most 50ffe3c632Sopenharmony_ci * obvious example is the "extend" block again -- there may be multiple 51ffe3c632Sopenharmony_ci * extend blocks in the same scope, each of which will have the same path. 52ffe3c632Sopenharmony_ci * - A location's span is not always a subset of its parent's span. For 53ffe3c632Sopenharmony_ci * example, the "extendee" of an extension declaration appears at the 54ffe3c632Sopenharmony_ci * beginning of the "extend" block and is shared by all extensions within 55ffe3c632Sopenharmony_ci * the block. 56ffe3c632Sopenharmony_ci * - Just because a location's span is a subset of some other location's span 57ffe3c632Sopenharmony_ci * does not mean that it is a descendant. For example, a "group" defines 58ffe3c632Sopenharmony_ci * both a type and a field in a single declaration. Thus, the locations 59ffe3c632Sopenharmony_ci * corresponding to the type and field and their components will overlap. 60ffe3c632Sopenharmony_ci * - Code which tries to interpret locations should probably be designed to 61ffe3c632Sopenharmony_ci * ignore those that it doesn't understand, as more types of locations could 62ffe3c632Sopenharmony_ci * be recorded in the future. 63ffe3c632Sopenharmony_ci * 64ffe3c632Sopenharmony_ci * Generated from protobuf field <code>repeated .google.protobuf.SourceCodeInfo.Location location = 1;</code> 65ffe3c632Sopenharmony_ci */ 66ffe3c632Sopenharmony_ci private $location; 67ffe3c632Sopenharmony_ci 68ffe3c632Sopenharmony_ci /** 69ffe3c632Sopenharmony_ci * Constructor. 70ffe3c632Sopenharmony_ci * 71ffe3c632Sopenharmony_ci * @param array $data { 72ffe3c632Sopenharmony_ci * Optional. Data for populating the Message object. 73ffe3c632Sopenharmony_ci * 74ffe3c632Sopenharmony_ci * @type \Google\Protobuf\Internal\SourceCodeInfo\Location[]|\Google\Protobuf\Internal\RepeatedField $location 75ffe3c632Sopenharmony_ci * A Location identifies a piece of source code in a .proto file which 76ffe3c632Sopenharmony_ci * corresponds to a particular definition. This information is intended 77ffe3c632Sopenharmony_ci * to be useful to IDEs, code indexers, documentation generators, and similar 78ffe3c632Sopenharmony_ci * tools. 79ffe3c632Sopenharmony_ci * For example, say we have a file like: 80ffe3c632Sopenharmony_ci * message Foo { 81ffe3c632Sopenharmony_ci * optional string foo = 1; 82ffe3c632Sopenharmony_ci * } 83ffe3c632Sopenharmony_ci * Let's look at just the field definition: 84ffe3c632Sopenharmony_ci * optional string foo = 1; 85ffe3c632Sopenharmony_ci * ^ ^^ ^^ ^ ^^^ 86ffe3c632Sopenharmony_ci * a bc de f ghi 87ffe3c632Sopenharmony_ci * We have the following locations: 88ffe3c632Sopenharmony_ci * span path represents 89ffe3c632Sopenharmony_ci * [a,i) [ 4, 0, 2, 0 ] The whole field definition. 90ffe3c632Sopenharmony_ci * [a,b) [ 4, 0, 2, 0, 4 ] The label (optional). 91ffe3c632Sopenharmony_ci * [c,d) [ 4, 0, 2, 0, 5 ] The type (string). 92ffe3c632Sopenharmony_ci * [e,f) [ 4, 0, 2, 0, 1 ] The name (foo). 93ffe3c632Sopenharmony_ci * [g,h) [ 4, 0, 2, 0, 3 ] The number (1). 94ffe3c632Sopenharmony_ci * Notes: 95ffe3c632Sopenharmony_ci * - A location may refer to a repeated field itself (i.e. not to any 96ffe3c632Sopenharmony_ci * particular index within it). This is used whenever a set of elements are 97ffe3c632Sopenharmony_ci * logically enclosed in a single code segment. For example, an entire 98ffe3c632Sopenharmony_ci * extend block (possibly containing multiple extension definitions) will 99ffe3c632Sopenharmony_ci * have an outer location whose path refers to the "extensions" repeated 100ffe3c632Sopenharmony_ci * field without an index. 101ffe3c632Sopenharmony_ci * - Multiple locations may have the same path. This happens when a single 102ffe3c632Sopenharmony_ci * logical declaration is spread out across multiple places. The most 103ffe3c632Sopenharmony_ci * obvious example is the "extend" block again -- there may be multiple 104ffe3c632Sopenharmony_ci * extend blocks in the same scope, each of which will have the same path. 105ffe3c632Sopenharmony_ci * - A location's span is not always a subset of its parent's span. For 106ffe3c632Sopenharmony_ci * example, the "extendee" of an extension declaration appears at the 107ffe3c632Sopenharmony_ci * beginning of the "extend" block and is shared by all extensions within 108ffe3c632Sopenharmony_ci * the block. 109ffe3c632Sopenharmony_ci * - Just because a location's span is a subset of some other location's span 110ffe3c632Sopenharmony_ci * does not mean that it is a descendant. For example, a "group" defines 111ffe3c632Sopenharmony_ci * both a type and a field in a single declaration. Thus, the locations 112ffe3c632Sopenharmony_ci * corresponding to the type and field and their components will overlap. 113ffe3c632Sopenharmony_ci * - Code which tries to interpret locations should probably be designed to 114ffe3c632Sopenharmony_ci * ignore those that it doesn't understand, as more types of locations could 115ffe3c632Sopenharmony_ci * be recorded in the future. 116ffe3c632Sopenharmony_ci * } 117ffe3c632Sopenharmony_ci */ 118ffe3c632Sopenharmony_ci public function __construct($data = NULL) { 119ffe3c632Sopenharmony_ci \GPBMetadata\Google\Protobuf\Internal\Descriptor::initOnce(); 120ffe3c632Sopenharmony_ci parent::__construct($data); 121ffe3c632Sopenharmony_ci } 122ffe3c632Sopenharmony_ci 123ffe3c632Sopenharmony_ci /** 124ffe3c632Sopenharmony_ci * A Location identifies a piece of source code in a .proto file which 125ffe3c632Sopenharmony_ci * corresponds to a particular definition. This information is intended 126ffe3c632Sopenharmony_ci * to be useful to IDEs, code indexers, documentation generators, and similar 127ffe3c632Sopenharmony_ci * tools. 128ffe3c632Sopenharmony_ci * For example, say we have a file like: 129ffe3c632Sopenharmony_ci * message Foo { 130ffe3c632Sopenharmony_ci * optional string foo = 1; 131ffe3c632Sopenharmony_ci * } 132ffe3c632Sopenharmony_ci * Let's look at just the field definition: 133ffe3c632Sopenharmony_ci * optional string foo = 1; 134ffe3c632Sopenharmony_ci * ^ ^^ ^^ ^ ^^^ 135ffe3c632Sopenharmony_ci * a bc de f ghi 136ffe3c632Sopenharmony_ci * We have the following locations: 137ffe3c632Sopenharmony_ci * span path represents 138ffe3c632Sopenharmony_ci * [a,i) [ 4, 0, 2, 0 ] The whole field definition. 139ffe3c632Sopenharmony_ci * [a,b) [ 4, 0, 2, 0, 4 ] The label (optional). 140ffe3c632Sopenharmony_ci * [c,d) [ 4, 0, 2, 0, 5 ] The type (string). 141ffe3c632Sopenharmony_ci * [e,f) [ 4, 0, 2, 0, 1 ] The name (foo). 142ffe3c632Sopenharmony_ci * [g,h) [ 4, 0, 2, 0, 3 ] The number (1). 143ffe3c632Sopenharmony_ci * Notes: 144ffe3c632Sopenharmony_ci * - A location may refer to a repeated field itself (i.e. not to any 145ffe3c632Sopenharmony_ci * particular index within it). This is used whenever a set of elements are 146ffe3c632Sopenharmony_ci * logically enclosed in a single code segment. For example, an entire 147ffe3c632Sopenharmony_ci * extend block (possibly containing multiple extension definitions) will 148ffe3c632Sopenharmony_ci * have an outer location whose path refers to the "extensions" repeated 149ffe3c632Sopenharmony_ci * field without an index. 150ffe3c632Sopenharmony_ci * - Multiple locations may have the same path. This happens when a single 151ffe3c632Sopenharmony_ci * logical declaration is spread out across multiple places. The most 152ffe3c632Sopenharmony_ci * obvious example is the "extend" block again -- there may be multiple 153ffe3c632Sopenharmony_ci * extend blocks in the same scope, each of which will have the same path. 154ffe3c632Sopenharmony_ci * - A location's span is not always a subset of its parent's span. For 155ffe3c632Sopenharmony_ci * example, the "extendee" of an extension declaration appears at the 156ffe3c632Sopenharmony_ci * beginning of the "extend" block and is shared by all extensions within 157ffe3c632Sopenharmony_ci * the block. 158ffe3c632Sopenharmony_ci * - Just because a location's span is a subset of some other location's span 159ffe3c632Sopenharmony_ci * does not mean that it is a descendant. For example, a "group" defines 160ffe3c632Sopenharmony_ci * both a type and a field in a single declaration. Thus, the locations 161ffe3c632Sopenharmony_ci * corresponding to the type and field and their components will overlap. 162ffe3c632Sopenharmony_ci * - Code which tries to interpret locations should probably be designed to 163ffe3c632Sopenharmony_ci * ignore those that it doesn't understand, as more types of locations could 164ffe3c632Sopenharmony_ci * be recorded in the future. 165ffe3c632Sopenharmony_ci * 166ffe3c632Sopenharmony_ci * Generated from protobuf field <code>repeated .google.protobuf.SourceCodeInfo.Location location = 1;</code> 167ffe3c632Sopenharmony_ci * @return \Google\Protobuf\Internal\RepeatedField 168ffe3c632Sopenharmony_ci */ 169ffe3c632Sopenharmony_ci public function getLocation() 170ffe3c632Sopenharmony_ci { 171ffe3c632Sopenharmony_ci return $this->location; 172ffe3c632Sopenharmony_ci } 173ffe3c632Sopenharmony_ci 174ffe3c632Sopenharmony_ci /** 175ffe3c632Sopenharmony_ci * A Location identifies a piece of source code in a .proto file which 176ffe3c632Sopenharmony_ci * corresponds to a particular definition. This information is intended 177ffe3c632Sopenharmony_ci * to be useful to IDEs, code indexers, documentation generators, and similar 178ffe3c632Sopenharmony_ci * tools. 179ffe3c632Sopenharmony_ci * For example, say we have a file like: 180ffe3c632Sopenharmony_ci * message Foo { 181ffe3c632Sopenharmony_ci * optional string foo = 1; 182ffe3c632Sopenharmony_ci * } 183ffe3c632Sopenharmony_ci * Let's look at just the field definition: 184ffe3c632Sopenharmony_ci * optional string foo = 1; 185ffe3c632Sopenharmony_ci * ^ ^^ ^^ ^ ^^^ 186ffe3c632Sopenharmony_ci * a bc de f ghi 187ffe3c632Sopenharmony_ci * We have the following locations: 188ffe3c632Sopenharmony_ci * span path represents 189ffe3c632Sopenharmony_ci * [a,i) [ 4, 0, 2, 0 ] The whole field definition. 190ffe3c632Sopenharmony_ci * [a,b) [ 4, 0, 2, 0, 4 ] The label (optional). 191ffe3c632Sopenharmony_ci * [c,d) [ 4, 0, 2, 0, 5 ] The type (string). 192ffe3c632Sopenharmony_ci * [e,f) [ 4, 0, 2, 0, 1 ] The name (foo). 193ffe3c632Sopenharmony_ci * [g,h) [ 4, 0, 2, 0, 3 ] The number (1). 194ffe3c632Sopenharmony_ci * Notes: 195ffe3c632Sopenharmony_ci * - A location may refer to a repeated field itself (i.e. not to any 196ffe3c632Sopenharmony_ci * particular index within it). This is used whenever a set of elements are 197ffe3c632Sopenharmony_ci * logically enclosed in a single code segment. For example, an entire 198ffe3c632Sopenharmony_ci * extend block (possibly containing multiple extension definitions) will 199ffe3c632Sopenharmony_ci * have an outer location whose path refers to the "extensions" repeated 200ffe3c632Sopenharmony_ci * field without an index. 201ffe3c632Sopenharmony_ci * - Multiple locations may have the same path. This happens when a single 202ffe3c632Sopenharmony_ci * logical declaration is spread out across multiple places. The most 203ffe3c632Sopenharmony_ci * obvious example is the "extend" block again -- there may be multiple 204ffe3c632Sopenharmony_ci * extend blocks in the same scope, each of which will have the same path. 205ffe3c632Sopenharmony_ci * - A location's span is not always a subset of its parent's span. For 206ffe3c632Sopenharmony_ci * example, the "extendee" of an extension declaration appears at the 207ffe3c632Sopenharmony_ci * beginning of the "extend" block and is shared by all extensions within 208ffe3c632Sopenharmony_ci * the block. 209ffe3c632Sopenharmony_ci * - Just because a location's span is a subset of some other location's span 210ffe3c632Sopenharmony_ci * does not mean that it is a descendant. For example, a "group" defines 211ffe3c632Sopenharmony_ci * both a type and a field in a single declaration. Thus, the locations 212ffe3c632Sopenharmony_ci * corresponding to the type and field and their components will overlap. 213ffe3c632Sopenharmony_ci * - Code which tries to interpret locations should probably be designed to 214ffe3c632Sopenharmony_ci * ignore those that it doesn't understand, as more types of locations could 215ffe3c632Sopenharmony_ci * be recorded in the future. 216ffe3c632Sopenharmony_ci * 217ffe3c632Sopenharmony_ci * Generated from protobuf field <code>repeated .google.protobuf.SourceCodeInfo.Location location = 1;</code> 218ffe3c632Sopenharmony_ci * @param \Google\Protobuf\Internal\SourceCodeInfo\Location[]|\Google\Protobuf\Internal\RepeatedField $var 219ffe3c632Sopenharmony_ci * @return $this 220ffe3c632Sopenharmony_ci */ 221ffe3c632Sopenharmony_ci public function setLocation($var) 222ffe3c632Sopenharmony_ci { 223ffe3c632Sopenharmony_ci $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Internal\SourceCodeInfo\Location::class); 224ffe3c632Sopenharmony_ci $this->location = $arr; 225ffe3c632Sopenharmony_ci 226ffe3c632Sopenharmony_ci return $this; 227ffe3c632Sopenharmony_ci } 228ffe3c632Sopenharmony_ci 229ffe3c632Sopenharmony_ci} 230ffe3c632Sopenharmony_ci 231