planetscale 0.3.1 → 0.3.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (368) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +9 -1
  3. data/.github/workflows/gem-push.yml +9 -2
  4. data/.licenses/go/github.com/matoous/go-nanoid/v2.dep.yml +34 -0
  5. data/.licenses/go/github.com/planetscale/planetscale-go/planetscale.dep.yml +1 -1
  6. data/.licenses/go/github.com/planetscale/sql-proxy/proxy.dep.yml +1 -1
  7. data/.licenses/go/go.uber.org/zap/buffer.dep.yml +1 -1
  8. data/.licenses/go/go.uber.org/zap/internal/bufferpool.dep.yml +1 -1
  9. data/.licenses/go/go.uber.org/zap/internal/color.dep.yml +1 -1
  10. data/.licenses/go/go.uber.org/zap/internal/exit.dep.yml +1 -1
  11. data/.licenses/go/go.uber.org/zap/zapcore.dep.yml +1 -1
  12. data/.licenses/go/go.uber.org/zap.dep.yml +1 -1
  13. data/README.md +2 -0
  14. data/controller.go +21 -36
  15. data/go.mod +4 -3
  16. data/go.sum +32 -18
  17. data/lib/planetscale/version.rb +1 -1
  18. data/lib/planetscale.rb +2 -3
  19. data/planetscale.gemspec +1 -1
  20. data/proxy/planetscale-darwin.h +1 -1
  21. data/proxy/planetscale-darwin.so +0 -0
  22. data/proxy/planetscale-linux.h +1 -1
  23. data/proxy/planetscale-linux.so +0 -0
  24. data/proxy.go +1 -5
  25. metadata +3 -345
  26. data/vendor/github.com/armon/circbuf/.gitignore +0 -22
  27. data/vendor/github.com/armon/circbuf/LICENSE +0 -20
  28. data/vendor/github.com/armon/circbuf/README.md +0 -28
  29. data/vendor/github.com/armon/circbuf/circbuf.go +0 -92
  30. data/vendor/github.com/armon/circbuf/go.mod +0 -1
  31. data/vendor/github.com/golang/protobuf/AUTHORS +0 -3
  32. data/vendor/github.com/golang/protobuf/CONTRIBUTORS +0 -3
  33. data/vendor/github.com/golang/protobuf/LICENSE +0 -28
  34. data/vendor/github.com/golang/protobuf/proto/buffer.go +0 -324
  35. data/vendor/github.com/golang/protobuf/proto/defaults.go +0 -63
  36. data/vendor/github.com/golang/protobuf/proto/deprecated.go +0 -113
  37. data/vendor/github.com/golang/protobuf/proto/discard.go +0 -58
  38. data/vendor/github.com/golang/protobuf/proto/extensions.go +0 -356
  39. data/vendor/github.com/golang/protobuf/proto/properties.go +0 -306
  40. data/vendor/github.com/golang/protobuf/proto/proto.go +0 -167
  41. data/vendor/github.com/golang/protobuf/proto/registry.go +0 -317
  42. data/vendor/github.com/golang/protobuf/proto/text_decode.go +0 -801
  43. data/vendor/github.com/golang/protobuf/proto/text_encode.go +0 -560
  44. data/vendor/github.com/golang/protobuf/proto/wire.go +0 -78
  45. data/vendor/github.com/golang/protobuf/proto/wrappers.go +0 -34
  46. data/vendor/github.com/gorilla/mux/AUTHORS +0 -8
  47. data/vendor/github.com/gorilla/mux/LICENSE +0 -27
  48. data/vendor/github.com/gorilla/mux/README.md +0 -805
  49. data/vendor/github.com/gorilla/mux/doc.go +0 -306
  50. data/vendor/github.com/gorilla/mux/go.mod +0 -3
  51. data/vendor/github.com/gorilla/mux/middleware.go +0 -74
  52. data/vendor/github.com/gorilla/mux/mux.go +0 -606
  53. data/vendor/github.com/gorilla/mux/regexp.go +0 -388
  54. data/vendor/github.com/gorilla/mux/route.go +0 -736
  55. data/vendor/github.com/gorilla/mux/test_helpers.go +0 -19
  56. data/vendor/github.com/hashicorp/go-cleanhttp/LICENSE +0 -363
  57. data/vendor/github.com/hashicorp/go-cleanhttp/README.md +0 -30
  58. data/vendor/github.com/hashicorp/go-cleanhttp/cleanhttp.go +0 -58
  59. data/vendor/github.com/hashicorp/go-cleanhttp/doc.go +0 -20
  60. data/vendor/github.com/hashicorp/go-cleanhttp/go.mod +0 -3
  61. data/vendor/github.com/hashicorp/go-cleanhttp/handlers.go +0 -48
  62. data/vendor/github.com/mitchellh/go-homedir/LICENSE +0 -21
  63. data/vendor/github.com/mitchellh/go-homedir/README.md +0 -14
  64. data/vendor/github.com/mitchellh/go-homedir/go.mod +0 -1
  65. data/vendor/github.com/mitchellh/go-homedir/homedir.go +0 -167
  66. data/vendor/github.com/pkg/errors/.gitignore +0 -24
  67. data/vendor/github.com/pkg/errors/.travis.yml +0 -10
  68. data/vendor/github.com/pkg/errors/LICENSE +0 -23
  69. data/vendor/github.com/pkg/errors/Makefile +0 -44
  70. data/vendor/github.com/pkg/errors/README.md +0 -59
  71. data/vendor/github.com/pkg/errors/appveyor.yml +0 -32
  72. data/vendor/github.com/pkg/errors/errors.go +0 -288
  73. data/vendor/github.com/pkg/errors/go113.go +0 -38
  74. data/vendor/github.com/pkg/errors/stack.go +0 -177
  75. data/vendor/github.com/planetscale/planetscale-go/LICENSE +0 -202
  76. data/vendor/github.com/planetscale/planetscale-go/planetscale/audit_logs.go +0 -136
  77. data/vendor/github.com/planetscale/planetscale-go/planetscale/backups.go +0 -139
  78. data/vendor/github.com/planetscale/planetscale-go/planetscale/branches.go +0 -252
  79. data/vendor/github.com/planetscale/planetscale-go/planetscale/certs.go +0 -166
  80. data/vendor/github.com/planetscale/planetscale-go/planetscale/client.go +0 -312
  81. data/vendor/github.com/planetscale/planetscale-go/planetscale/databases.go +0 -133
  82. data/vendor/github.com/planetscale/planetscale-go/planetscale/deploy_requests.go +0 -368
  83. data/vendor/github.com/planetscale/planetscale-go/planetscale/organizations.go +0 -103
  84. data/vendor/github.com/planetscale/planetscale-go/planetscale/regions.go +0 -52
  85. data/vendor/github.com/planetscale/planetscale-go/planetscale/service_tokens.go +0 -163
  86. data/vendor/github.com/planetscale/sql-proxy/LICENSE +0 -202
  87. data/vendor/github.com/planetscale/sql-proxy/proxy/client.go +0 -476
  88. data/vendor/github.com/planetscale/sql-proxy/proxy/tls_cache.go +0 -73
  89. data/vendor/go.uber.org/atomic/.codecov.yml +0 -19
  90. data/vendor/go.uber.org/atomic/.gitignore +0 -12
  91. data/vendor/go.uber.org/atomic/.travis.yml +0 -27
  92. data/vendor/go.uber.org/atomic/CHANGELOG.md +0 -76
  93. data/vendor/go.uber.org/atomic/LICENSE.txt +0 -19
  94. data/vendor/go.uber.org/atomic/Makefile +0 -78
  95. data/vendor/go.uber.org/atomic/README.md +0 -63
  96. data/vendor/go.uber.org/atomic/bool.go +0 -81
  97. data/vendor/go.uber.org/atomic/bool_ext.go +0 -53
  98. data/vendor/go.uber.org/atomic/doc.go +0 -23
  99. data/vendor/go.uber.org/atomic/duration.go +0 -82
  100. data/vendor/go.uber.org/atomic/duration_ext.go +0 -40
  101. data/vendor/go.uber.org/atomic/error.go +0 -51
  102. data/vendor/go.uber.org/atomic/error_ext.go +0 -39
  103. data/vendor/go.uber.org/atomic/float64.go +0 -76
  104. data/vendor/go.uber.org/atomic/float64_ext.go +0 -47
  105. data/vendor/go.uber.org/atomic/gen.go +0 -26
  106. data/vendor/go.uber.org/atomic/go.mod +0 -8
  107. data/vendor/go.uber.org/atomic/go.sum +0 -9
  108. data/vendor/go.uber.org/atomic/int32.go +0 -102
  109. data/vendor/go.uber.org/atomic/int64.go +0 -102
  110. data/vendor/go.uber.org/atomic/nocmp.go +0 -35
  111. data/vendor/go.uber.org/atomic/string.go +0 -54
  112. data/vendor/go.uber.org/atomic/string_ext.go +0 -43
  113. data/vendor/go.uber.org/atomic/uint32.go +0 -102
  114. data/vendor/go.uber.org/atomic/uint64.go +0 -102
  115. data/vendor/go.uber.org/atomic/value.go +0 -31
  116. data/vendor/go.uber.org/multierr/.codecov.yml +0 -15
  117. data/vendor/go.uber.org/multierr/.gitignore +0 -4
  118. data/vendor/go.uber.org/multierr/.travis.yml +0 -23
  119. data/vendor/go.uber.org/multierr/CHANGELOG.md +0 -60
  120. data/vendor/go.uber.org/multierr/LICENSE.txt +0 -19
  121. data/vendor/go.uber.org/multierr/Makefile +0 -42
  122. data/vendor/go.uber.org/multierr/README.md +0 -23
  123. data/vendor/go.uber.org/multierr/error.go +0 -449
  124. data/vendor/go.uber.org/multierr/glide.yaml +0 -8
  125. data/vendor/go.uber.org/multierr/go.mod +0 -8
  126. data/vendor/go.uber.org/multierr/go.sum +0 -11
  127. data/vendor/go.uber.org/multierr/go113.go +0 -52
  128. data/vendor/go.uber.org/zap/.codecov.yml +0 -17
  129. data/vendor/go.uber.org/zap/.gitignore +0 -32
  130. data/vendor/go.uber.org/zap/.readme.tmpl +0 -109
  131. data/vendor/go.uber.org/zap/CHANGELOG.md +0 -492
  132. data/vendor/go.uber.org/zap/CODE_OF_CONDUCT.md +0 -75
  133. data/vendor/go.uber.org/zap/CONTRIBUTING.md +0 -75
  134. data/vendor/go.uber.org/zap/FAQ.md +0 -164
  135. data/vendor/go.uber.org/zap/LICENSE.txt +0 -19
  136. data/vendor/go.uber.org/zap/Makefile +0 -73
  137. data/vendor/go.uber.org/zap/README.md +0 -134
  138. data/vendor/go.uber.org/zap/array.go +0 -320
  139. data/vendor/go.uber.org/zap/buffer/buffer.go +0 -141
  140. data/vendor/go.uber.org/zap/buffer/pool.go +0 -49
  141. data/vendor/go.uber.org/zap/checklicense.sh +0 -17
  142. data/vendor/go.uber.org/zap/config.go +0 -264
  143. data/vendor/go.uber.org/zap/doc.go +0 -113
  144. data/vendor/go.uber.org/zap/encoder.go +0 -79
  145. data/vendor/go.uber.org/zap/error.go +0 -80
  146. data/vendor/go.uber.org/zap/field.go +0 -549
  147. data/vendor/go.uber.org/zap/flag.go +0 -39
  148. data/vendor/go.uber.org/zap/glide.yaml +0 -34
  149. data/vendor/go.uber.org/zap/global.go +0 -168
  150. data/vendor/go.uber.org/zap/global_go112.go +0 -26
  151. data/vendor/go.uber.org/zap/global_prego112.go +0 -26
  152. data/vendor/go.uber.org/zap/go.mod +0 -14
  153. data/vendor/go.uber.org/zap/go.sum +0 -54
  154. data/vendor/go.uber.org/zap/http_handler.go +0 -132
  155. data/vendor/go.uber.org/zap/internal/bufferpool/bufferpool.go +0 -31
  156. data/vendor/go.uber.org/zap/internal/color/color.go +0 -44
  157. data/vendor/go.uber.org/zap/internal/exit/exit.go +0 -64
  158. data/vendor/go.uber.org/zap/level.go +0 -132
  159. data/vendor/go.uber.org/zap/logger.go +0 -348
  160. data/vendor/go.uber.org/zap/options.go +0 -148
  161. data/vendor/go.uber.org/zap/sink.go +0 -161
  162. data/vendor/go.uber.org/zap/stacktrace.go +0 -85
  163. data/vendor/go.uber.org/zap/sugar.go +0 -315
  164. data/vendor/go.uber.org/zap/time.go +0 -27
  165. data/vendor/go.uber.org/zap/writer.go +0 -99
  166. data/vendor/go.uber.org/zap/zapcore/buffered_write_syncer.go +0 -188
  167. data/vendor/go.uber.org/zap/zapcore/clock.go +0 -50
  168. data/vendor/go.uber.org/zap/zapcore/console_encoder.go +0 -161
  169. data/vendor/go.uber.org/zap/zapcore/core.go +0 -113
  170. data/vendor/go.uber.org/zap/zapcore/doc.go +0 -24
  171. data/vendor/go.uber.org/zap/zapcore/encoder.go +0 -443
  172. data/vendor/go.uber.org/zap/zapcore/entry.go +0 -264
  173. data/vendor/go.uber.org/zap/zapcore/error.go +0 -132
  174. data/vendor/go.uber.org/zap/zapcore/field.go +0 -233
  175. data/vendor/go.uber.org/zap/zapcore/hook.go +0 -68
  176. data/vendor/go.uber.org/zap/zapcore/increase_level.go +0 -66
  177. data/vendor/go.uber.org/zap/zapcore/json_encoder.go +0 -534
  178. data/vendor/go.uber.org/zap/zapcore/level.go +0 -175
  179. data/vendor/go.uber.org/zap/zapcore/level_strings.go +0 -46
  180. data/vendor/go.uber.org/zap/zapcore/marshaler.go +0 -61
  181. data/vendor/go.uber.org/zap/zapcore/memory_encoder.go +0 -179
  182. data/vendor/go.uber.org/zap/zapcore/sampler.go +0 -208
  183. data/vendor/go.uber.org/zap/zapcore/tee.go +0 -81
  184. data/vendor/go.uber.org/zap/zapcore/write_syncer.go +0 -122
  185. data/vendor/golang.org/x/net/AUTHORS +0 -3
  186. data/vendor/golang.org/x/net/CONTRIBUTORS +0 -3
  187. data/vendor/golang.org/x/net/LICENSE +0 -27
  188. data/vendor/golang.org/x/net/PATENTS +0 -22
  189. data/vendor/golang.org/x/net/context/context.go +0 -56
  190. data/vendor/golang.org/x/net/context/ctxhttp/ctxhttp.go +0 -71
  191. data/vendor/golang.org/x/net/context/go17.go +0 -73
  192. data/vendor/golang.org/x/net/context/go19.go +0 -21
  193. data/vendor/golang.org/x/net/context/pre_go17.go +0 -301
  194. data/vendor/golang.org/x/net/context/pre_go19.go +0 -110
  195. data/vendor/golang.org/x/oauth2/.travis.yml +0 -13
  196. data/vendor/golang.org/x/oauth2/AUTHORS +0 -3
  197. data/vendor/golang.org/x/oauth2/CONTRIBUTING.md +0 -26
  198. data/vendor/golang.org/x/oauth2/CONTRIBUTORS +0 -3
  199. data/vendor/golang.org/x/oauth2/LICENSE +0 -27
  200. data/vendor/golang.org/x/oauth2/README.md +0 -36
  201. data/vendor/golang.org/x/oauth2/go.mod +0 -9
  202. data/vendor/golang.org/x/oauth2/go.sum +0 -361
  203. data/vendor/golang.org/x/oauth2/internal/client_appengine.go +0 -14
  204. data/vendor/golang.org/x/oauth2/internal/doc.go +0 -6
  205. data/vendor/golang.org/x/oauth2/internal/oauth2.go +0 -37
  206. data/vendor/golang.org/x/oauth2/internal/token.go +0 -294
  207. data/vendor/golang.org/x/oauth2/internal/transport.go +0 -33
  208. data/vendor/golang.org/x/oauth2/oauth2.go +0 -381
  209. data/vendor/golang.org/x/oauth2/token.go +0 -178
  210. data/vendor/golang.org/x/oauth2/transport.go +0 -89
  211. data/vendor/google.golang.org/appengine/LICENSE +0 -202
  212. data/vendor/google.golang.org/appengine/internal/api.go +0 -678
  213. data/vendor/google.golang.org/appengine/internal/api_classic.go +0 -169
  214. data/vendor/google.golang.org/appengine/internal/api_common.go +0 -123
  215. data/vendor/google.golang.org/appengine/internal/app_id.go +0 -28
  216. data/vendor/google.golang.org/appengine/internal/base/api_base.pb.go +0 -308
  217. data/vendor/google.golang.org/appengine/internal/base/api_base.proto +0 -33
  218. data/vendor/google.golang.org/appengine/internal/datastore/datastore_v3.pb.go +0 -4367
  219. data/vendor/google.golang.org/appengine/internal/datastore/datastore_v3.proto +0 -551
  220. data/vendor/google.golang.org/appengine/internal/identity.go +0 -55
  221. data/vendor/google.golang.org/appengine/internal/identity_classic.go +0 -61
  222. data/vendor/google.golang.org/appengine/internal/identity_flex.go +0 -11
  223. data/vendor/google.golang.org/appengine/internal/identity_vm.go +0 -134
  224. data/vendor/google.golang.org/appengine/internal/internal.go +0 -110
  225. data/vendor/google.golang.org/appengine/internal/log/log_service.pb.go +0 -1313
  226. data/vendor/google.golang.org/appengine/internal/log/log_service.proto +0 -150
  227. data/vendor/google.golang.org/appengine/internal/main.go +0 -16
  228. data/vendor/google.golang.org/appengine/internal/main_common.go +0 -7
  229. data/vendor/google.golang.org/appengine/internal/main_vm.go +0 -69
  230. data/vendor/google.golang.org/appengine/internal/metadata.go +0 -60
  231. data/vendor/google.golang.org/appengine/internal/net.go +0 -56
  232. data/vendor/google.golang.org/appengine/internal/regen.sh +0 -40
  233. data/vendor/google.golang.org/appengine/internal/remote_api/remote_api.pb.go +0 -361
  234. data/vendor/google.golang.org/appengine/internal/remote_api/remote_api.proto +0 -44
  235. data/vendor/google.golang.org/appengine/internal/transaction.go +0 -115
  236. data/vendor/google.golang.org/appengine/internal/urlfetch/urlfetch_service.pb.go +0 -527
  237. data/vendor/google.golang.org/appengine/internal/urlfetch/urlfetch_service.proto +0 -64
  238. data/vendor/google.golang.org/appengine/urlfetch/urlfetch.go +0 -210
  239. data/vendor/google.golang.org/protobuf/AUTHORS +0 -3
  240. data/vendor/google.golang.org/protobuf/CONTRIBUTORS +0 -3
  241. data/vendor/google.golang.org/protobuf/LICENSE +0 -27
  242. data/vendor/google.golang.org/protobuf/PATENTS +0 -22
  243. data/vendor/google.golang.org/protobuf/encoding/prototext/decode.go +0 -773
  244. data/vendor/google.golang.org/protobuf/encoding/prototext/doc.go +0 -7
  245. data/vendor/google.golang.org/protobuf/encoding/prototext/encode.go +0 -371
  246. data/vendor/google.golang.org/protobuf/encoding/protowire/wire.go +0 -538
  247. data/vendor/google.golang.org/protobuf/internal/descfmt/stringer.go +0 -318
  248. data/vendor/google.golang.org/protobuf/internal/descopts/options.go +0 -29
  249. data/vendor/google.golang.org/protobuf/internal/detrand/rand.go +0 -69
  250. data/vendor/google.golang.org/protobuf/internal/encoding/defval/default.go +0 -213
  251. data/vendor/google.golang.org/protobuf/internal/encoding/messageset/messageset.go +0 -241
  252. data/vendor/google.golang.org/protobuf/internal/encoding/tag/tag.go +0 -207
  253. data/vendor/google.golang.org/protobuf/internal/encoding/text/decode.go +0 -665
  254. data/vendor/google.golang.org/protobuf/internal/encoding/text/decode_number.go +0 -190
  255. data/vendor/google.golang.org/protobuf/internal/encoding/text/decode_string.go +0 -161
  256. data/vendor/google.golang.org/protobuf/internal/encoding/text/decode_token.go +0 -373
  257. data/vendor/google.golang.org/protobuf/internal/encoding/text/doc.go +0 -29
  258. data/vendor/google.golang.org/protobuf/internal/encoding/text/encode.go +0 -265
  259. data/vendor/google.golang.org/protobuf/internal/errors/errors.go +0 -89
  260. data/vendor/google.golang.org/protobuf/internal/errors/is_go112.go +0 -39
  261. data/vendor/google.golang.org/protobuf/internal/errors/is_go113.go +0 -12
  262. data/vendor/google.golang.org/protobuf/internal/filedesc/build.go +0 -158
  263. data/vendor/google.golang.org/protobuf/internal/filedesc/desc.go +0 -631
  264. data/vendor/google.golang.org/protobuf/internal/filedesc/desc_init.go +0 -471
  265. data/vendor/google.golang.org/protobuf/internal/filedesc/desc_lazy.go +0 -704
  266. data/vendor/google.golang.org/protobuf/internal/filedesc/desc_list.go +0 -450
  267. data/vendor/google.golang.org/protobuf/internal/filedesc/desc_list_gen.go +0 -356
  268. data/vendor/google.golang.org/protobuf/internal/filedesc/placeholder.go +0 -107
  269. data/vendor/google.golang.org/protobuf/internal/filetype/build.go +0 -297
  270. data/vendor/google.golang.org/protobuf/internal/flags/flags.go +0 -24
  271. data/vendor/google.golang.org/protobuf/internal/flags/proto_legacy_disable.go +0 -9
  272. data/vendor/google.golang.org/protobuf/internal/flags/proto_legacy_enable.go +0 -9
  273. data/vendor/google.golang.org/protobuf/internal/genid/any_gen.go +0 -34
  274. data/vendor/google.golang.org/protobuf/internal/genid/api_gen.go +0 -106
  275. data/vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go +0 -829
  276. data/vendor/google.golang.org/protobuf/internal/genid/doc.go +0 -11
  277. data/vendor/google.golang.org/protobuf/internal/genid/duration_gen.go +0 -34
  278. data/vendor/google.golang.org/protobuf/internal/genid/empty_gen.go +0 -19
  279. data/vendor/google.golang.org/protobuf/internal/genid/field_mask_gen.go +0 -31
  280. data/vendor/google.golang.org/protobuf/internal/genid/goname.go +0 -25
  281. data/vendor/google.golang.org/protobuf/internal/genid/map_entry.go +0 -16
  282. data/vendor/google.golang.org/protobuf/internal/genid/source_context_gen.go +0 -31
  283. data/vendor/google.golang.org/protobuf/internal/genid/struct_gen.go +0 -116
  284. data/vendor/google.golang.org/protobuf/internal/genid/timestamp_gen.go +0 -34
  285. data/vendor/google.golang.org/protobuf/internal/genid/type_gen.go +0 -184
  286. data/vendor/google.golang.org/protobuf/internal/genid/wrappers.go +0 -13
  287. data/vendor/google.golang.org/protobuf/internal/genid/wrappers_gen.go +0 -175
  288. data/vendor/google.golang.org/protobuf/internal/impl/api_export.go +0 -177
  289. data/vendor/google.golang.org/protobuf/internal/impl/checkinit.go +0 -141
  290. data/vendor/google.golang.org/protobuf/internal/impl/codec_extension.go +0 -223
  291. data/vendor/google.golang.org/protobuf/internal/impl/codec_field.go +0 -830
  292. data/vendor/google.golang.org/protobuf/internal/impl/codec_gen.go +0 -5637
  293. data/vendor/google.golang.org/protobuf/internal/impl/codec_map.go +0 -388
  294. data/vendor/google.golang.org/protobuf/internal/impl/codec_map_go111.go +0 -37
  295. data/vendor/google.golang.org/protobuf/internal/impl/codec_map_go112.go +0 -11
  296. data/vendor/google.golang.org/protobuf/internal/impl/codec_message.go +0 -217
  297. data/vendor/google.golang.org/protobuf/internal/impl/codec_messageset.go +0 -123
  298. data/vendor/google.golang.org/protobuf/internal/impl/codec_reflect.go +0 -209
  299. data/vendor/google.golang.org/protobuf/internal/impl/codec_tables.go +0 -557
  300. data/vendor/google.golang.org/protobuf/internal/impl/codec_unsafe.go +0 -17
  301. data/vendor/google.golang.org/protobuf/internal/impl/convert.go +0 -496
  302. data/vendor/google.golang.org/protobuf/internal/impl/convert_list.go +0 -141
  303. data/vendor/google.golang.org/protobuf/internal/impl/convert_map.go +0 -121
  304. data/vendor/google.golang.org/protobuf/internal/impl/decode.go +0 -276
  305. data/vendor/google.golang.org/protobuf/internal/impl/encode.go +0 -201
  306. data/vendor/google.golang.org/protobuf/internal/impl/enum.go +0 -21
  307. data/vendor/google.golang.org/protobuf/internal/impl/extension.go +0 -156
  308. data/vendor/google.golang.org/protobuf/internal/impl/legacy_enum.go +0 -219
  309. data/vendor/google.golang.org/protobuf/internal/impl/legacy_export.go +0 -92
  310. data/vendor/google.golang.org/protobuf/internal/impl/legacy_extension.go +0 -176
  311. data/vendor/google.golang.org/protobuf/internal/impl/legacy_file.go +0 -81
  312. data/vendor/google.golang.org/protobuf/internal/impl/legacy_message.go +0 -558
  313. data/vendor/google.golang.org/protobuf/internal/impl/merge.go +0 -176
  314. data/vendor/google.golang.org/protobuf/internal/impl/merge_gen.go +0 -209
  315. data/vendor/google.golang.org/protobuf/internal/impl/message.go +0 -276
  316. data/vendor/google.golang.org/protobuf/internal/impl/message_reflect.go +0 -465
  317. data/vendor/google.golang.org/protobuf/internal/impl/message_reflect_field.go +0 -543
  318. data/vendor/google.golang.org/protobuf/internal/impl/message_reflect_gen.go +0 -249
  319. data/vendor/google.golang.org/protobuf/internal/impl/pointer_reflect.go +0 -178
  320. data/vendor/google.golang.org/protobuf/internal/impl/pointer_unsafe.go +0 -174
  321. data/vendor/google.golang.org/protobuf/internal/impl/validate.go +0 -576
  322. data/vendor/google.golang.org/protobuf/internal/impl/weak.go +0 -74
  323. data/vendor/google.golang.org/protobuf/internal/order/order.go +0 -89
  324. data/vendor/google.golang.org/protobuf/internal/order/range.go +0 -115
  325. data/vendor/google.golang.org/protobuf/internal/pragma/pragma.go +0 -29
  326. data/vendor/google.golang.org/protobuf/internal/set/ints.go +0 -58
  327. data/vendor/google.golang.org/protobuf/internal/strs/strings.go +0 -196
  328. data/vendor/google.golang.org/protobuf/internal/strs/strings_pure.go +0 -27
  329. data/vendor/google.golang.org/protobuf/internal/strs/strings_unsafe.go +0 -94
  330. data/vendor/google.golang.org/protobuf/internal/version/version.go +0 -79
  331. data/vendor/google.golang.org/protobuf/proto/checkinit.go +0 -71
  332. data/vendor/google.golang.org/protobuf/proto/decode.go +0 -278
  333. data/vendor/google.golang.org/protobuf/proto/decode_gen.go +0 -603
  334. data/vendor/google.golang.org/protobuf/proto/doc.go +0 -94
  335. data/vendor/google.golang.org/protobuf/proto/encode.go +0 -319
  336. data/vendor/google.golang.org/protobuf/proto/encode_gen.go +0 -97
  337. data/vendor/google.golang.org/protobuf/proto/equal.go +0 -167
  338. data/vendor/google.golang.org/protobuf/proto/extension.go +0 -92
  339. data/vendor/google.golang.org/protobuf/proto/merge.go +0 -139
  340. data/vendor/google.golang.org/protobuf/proto/messageset.go +0 -93
  341. data/vendor/google.golang.org/protobuf/proto/proto.go +0 -43
  342. data/vendor/google.golang.org/protobuf/proto/proto_methods.go +0 -19
  343. data/vendor/google.golang.org/protobuf/proto/proto_reflect.go +0 -19
  344. data/vendor/google.golang.org/protobuf/proto/reset.go +0 -43
  345. data/vendor/google.golang.org/protobuf/proto/size.go +0 -97
  346. data/vendor/google.golang.org/protobuf/proto/size_gen.go +0 -55
  347. data/vendor/google.golang.org/protobuf/proto/wrappers.go +0 -29
  348. data/vendor/google.golang.org/protobuf/reflect/protodesc/desc.go +0 -276
  349. data/vendor/google.golang.org/protobuf/reflect/protodesc/desc_init.go +0 -248
  350. data/vendor/google.golang.org/protobuf/reflect/protodesc/desc_resolve.go +0 -286
  351. data/vendor/google.golang.org/protobuf/reflect/protodesc/desc_validate.go +0 -374
  352. data/vendor/google.golang.org/protobuf/reflect/protodesc/proto.go +0 -252
  353. data/vendor/google.golang.org/protobuf/reflect/protoreflect/methods.go +0 -77
  354. data/vendor/google.golang.org/protobuf/reflect/protoreflect/proto.go +0 -504
  355. data/vendor/google.golang.org/protobuf/reflect/protoreflect/source.go +0 -128
  356. data/vendor/google.golang.org/protobuf/reflect/protoreflect/source_gen.go +0 -461
  357. data/vendor/google.golang.org/protobuf/reflect/protoreflect/type.go +0 -665
  358. data/vendor/google.golang.org/protobuf/reflect/protoreflect/value.go +0 -285
  359. data/vendor/google.golang.org/protobuf/reflect/protoreflect/value_pure.go +0 -59
  360. data/vendor/google.golang.org/protobuf/reflect/protoreflect/value_union.go +0 -411
  361. data/vendor/google.golang.org/protobuf/reflect/protoreflect/value_unsafe.go +0 -98
  362. data/vendor/google.golang.org/protobuf/reflect/protoregistry/registry.go +0 -869
  363. data/vendor/google.golang.org/protobuf/runtime/protoiface/legacy.go +0 -15
  364. data/vendor/google.golang.org/protobuf/runtime/protoiface/methods.go +0 -167
  365. data/vendor/google.golang.org/protobuf/runtime/protoimpl/impl.go +0 -44
  366. data/vendor/google.golang.org/protobuf/runtime/protoimpl/version.go +0 -56
  367. data/vendor/google.golang.org/protobuf/types/descriptorpb/descriptor.pb.go +0 -4039
  368. data/vendor/modules.txt +0 -79
@@ -1,504 +0,0 @@
1
- // Copyright 2018 The Go Authors. All rights reserved.
2
- // Use of this source code is governed by a BSD-style
3
- // license that can be found in the LICENSE file.
4
-
5
- // Package protoreflect provides interfaces to dynamically manipulate messages.
6
- //
7
- // This package includes type descriptors which describe the structure of types
8
- // defined in proto source files and value interfaces which provide the
9
- // ability to examine and manipulate the contents of messages.
10
- //
11
- //
12
- // Protocol Buffer Descriptors
13
- //
14
- // Protobuf descriptors (e.g., EnumDescriptor or MessageDescriptor)
15
- // are immutable objects that represent protobuf type information.
16
- // They are wrappers around the messages declared in descriptor.proto.
17
- // Protobuf descriptors alone lack any information regarding Go types.
18
- //
19
- // Enums and messages generated by this module implement Enum and ProtoMessage,
20
- // where the Descriptor and ProtoReflect.Descriptor accessors respectively
21
- // return the protobuf descriptor for the values.
22
- //
23
- // The protobuf descriptor interfaces are not meant to be implemented by
24
- // user code since they might need to be extended in the future to support
25
- // additions to the protobuf language.
26
- // The "google.golang.org/protobuf/reflect/protodesc" package converts between
27
- // google.protobuf.DescriptorProto messages and protobuf descriptors.
28
- //
29
- //
30
- // Go Type Descriptors
31
- //
32
- // A type descriptor (e.g., EnumType or MessageType) is a constructor for
33
- // a concrete Go type that represents the associated protobuf descriptor.
34
- // There is commonly a one-to-one relationship between protobuf descriptors and
35
- // Go type descriptors, but it can potentially be a one-to-many relationship.
36
- //
37
- // Enums and messages generated by this module implement Enum and ProtoMessage,
38
- // where the Type and ProtoReflect.Type accessors respectively
39
- // return the protobuf descriptor for the values.
40
- //
41
- // The "google.golang.org/protobuf/types/dynamicpb" package can be used to
42
- // create Go type descriptors from protobuf descriptors.
43
- //
44
- //
45
- // Value Interfaces
46
- //
47
- // The Enum and Message interfaces provide a reflective view over an
48
- // enum or message instance. For enums, it provides the ability to retrieve
49
- // the enum value number for any concrete enum type. For messages, it provides
50
- // the ability to access or manipulate fields of the message.
51
- //
52
- // To convert a proto.Message to a protoreflect.Message, use the
53
- // former's ProtoReflect method. Since the ProtoReflect method is new to the
54
- // v2 message interface, it may not be present on older message implementations.
55
- // The "github.com/golang/protobuf/proto".MessageReflect function can be used
56
- // to obtain a reflective view on older messages.
57
- //
58
- //
59
- // Relationships
60
- //
61
- // The following diagrams demonstrate the relationships between
62
- // various types declared in this package.
63
- //
64
- //
65
- // ┌───────────────────────────────────┐
66
- // V │
67
- // ┌────────────── New(n) ─────────────┐ │
68
- // │ │ │
69
- // │ ┌──── Descriptor() ──┐ │ ┌── Number() ──┐ │
70
- // │ │ V V │ V │
71
- // ╔════════════╗ ╔════════════════╗ ╔════════╗ ╔════════════╗
72
- // ║ EnumType ║ ║ EnumDescriptor ║ ║ Enum ║ ║ EnumNumber ║
73
- // ╚════════════╝ ╚════════════════╝ ╚════════╝ ╚════════════╝
74
- // Λ Λ │ │
75
- // │ └─── Descriptor() ──┘ │
76
- // │ │
77
- // └────────────────── Type() ───────┘
78
- //
79
- // • An EnumType describes a concrete Go enum type.
80
- // It has an EnumDescriptor and can construct an Enum instance.
81
- //
82
- // • An EnumDescriptor describes an abstract protobuf enum type.
83
- //
84
- // • An Enum is a concrete enum instance. Generated enums implement Enum.
85
- //
86
- //
87
- // ┌──────────────── New() ─────────────────┐
88
- // │ │
89
- // │ ┌─── Descriptor() ─────┐ │ ┌── Interface() ───┐
90
- // │ │ V V │ V
91
- // ╔═════════════╗ ╔═══════════════════╗ ╔═════════╗ ╔══════════════╗
92
- // ║ MessageType ║ ║ MessageDescriptor ║ ║ Message ║ ║ ProtoMessage ║
93
- // ╚═════════════╝ ╚═══════════════════╝ ╚═════════╝ ╚══════════════╝
94
- // Λ Λ │ │ Λ │
95
- // │ └──── Descriptor() ────┘ │ └─ ProtoReflect() ─┘
96
- // │ │
97
- // └─────────────────── Type() ─────────┘
98
- //
99
- // • A MessageType describes a concrete Go message type.
100
- // It has a MessageDescriptor and can construct a Message instance.
101
- //
102
- // • A MessageDescriptor describes an abstract protobuf message type.
103
- //
104
- // • A Message is a concrete message instance. Generated messages implement
105
- // ProtoMessage, which can convert to/from a Message.
106
- //
107
- //
108
- // ┌── TypeDescriptor() ──┐ ┌───── Descriptor() ─────┐
109
- // │ V │ V
110
- // ╔═══════════════╗ ╔═════════════════════════╗ ╔═════════════════════╗
111
- // ║ ExtensionType ║ ║ ExtensionTypeDescriptor ║ ║ ExtensionDescriptor ║
112
- // ╚═══════════════╝ ╚═════════════════════════╝ ╚═════════════════════╝
113
- // Λ │ │ Λ │ Λ
114
- // └─────── Type() ───────┘ │ └─── may implement ────┘ │
115
- // │ │
116
- // └────── implements ────────┘
117
- //
118
- // • An ExtensionType describes a concrete Go implementation of an extension.
119
- // It has an ExtensionTypeDescriptor and can convert to/from
120
- // abstract Values and Go values.
121
- //
122
- // • An ExtensionTypeDescriptor is an ExtensionDescriptor
123
- // which also has an ExtensionType.
124
- //
125
- // • An ExtensionDescriptor describes an abstract protobuf extension field and
126
- // may not always be an ExtensionTypeDescriptor.
127
- package protoreflect
128
-
129
- import (
130
- "fmt"
131
- "strings"
132
-
133
- "google.golang.org/protobuf/encoding/protowire"
134
- "google.golang.org/protobuf/internal/pragma"
135
- )
136
-
137
- type doNotImplement pragma.DoNotImplement
138
-
139
- // ProtoMessage is the top-level interface that all proto messages implement.
140
- // This is declared in the protoreflect package to avoid a cyclic dependency;
141
- // use the proto.Message type instead, which aliases this type.
142
- type ProtoMessage interface{ ProtoReflect() Message }
143
-
144
- // Syntax is the language version of the proto file.
145
- type Syntax syntax
146
-
147
- type syntax int8 // keep exact type opaque as the int type may change
148
-
149
- const (
150
- Proto2 Syntax = 2
151
- Proto3 Syntax = 3
152
- )
153
-
154
- // IsValid reports whether the syntax is valid.
155
- func (s Syntax) IsValid() bool {
156
- switch s {
157
- case Proto2, Proto3:
158
- return true
159
- default:
160
- return false
161
- }
162
- }
163
-
164
- // String returns s as a proto source identifier (e.g., "proto2").
165
- func (s Syntax) String() string {
166
- switch s {
167
- case Proto2:
168
- return "proto2"
169
- case Proto3:
170
- return "proto3"
171
- default:
172
- return fmt.Sprintf("<unknown:%d>", s)
173
- }
174
- }
175
-
176
- // GoString returns s as a Go source identifier (e.g., "Proto2").
177
- func (s Syntax) GoString() string {
178
- switch s {
179
- case Proto2:
180
- return "Proto2"
181
- case Proto3:
182
- return "Proto3"
183
- default:
184
- return fmt.Sprintf("Syntax(%d)", s)
185
- }
186
- }
187
-
188
- // Cardinality determines whether a field is optional, required, or repeated.
189
- type Cardinality cardinality
190
-
191
- type cardinality int8 // keep exact type opaque as the int type may change
192
-
193
- // Constants as defined by the google.protobuf.Cardinality enumeration.
194
- const (
195
- Optional Cardinality = 1 // appears zero or one times
196
- Required Cardinality = 2 // appears exactly one time; invalid with Proto3
197
- Repeated Cardinality = 3 // appears zero or more times
198
- )
199
-
200
- // IsValid reports whether the cardinality is valid.
201
- func (c Cardinality) IsValid() bool {
202
- switch c {
203
- case Optional, Required, Repeated:
204
- return true
205
- default:
206
- return false
207
- }
208
- }
209
-
210
- // String returns c as a proto source identifier (e.g., "optional").
211
- func (c Cardinality) String() string {
212
- switch c {
213
- case Optional:
214
- return "optional"
215
- case Required:
216
- return "required"
217
- case Repeated:
218
- return "repeated"
219
- default:
220
- return fmt.Sprintf("<unknown:%d>", c)
221
- }
222
- }
223
-
224
- // GoString returns c as a Go source identifier (e.g., "Optional").
225
- func (c Cardinality) GoString() string {
226
- switch c {
227
- case Optional:
228
- return "Optional"
229
- case Required:
230
- return "Required"
231
- case Repeated:
232
- return "Repeated"
233
- default:
234
- return fmt.Sprintf("Cardinality(%d)", c)
235
- }
236
- }
237
-
238
- // Kind indicates the basic proto kind of a field.
239
- type Kind kind
240
-
241
- type kind int8 // keep exact type opaque as the int type may change
242
-
243
- // Constants as defined by the google.protobuf.Field.Kind enumeration.
244
- const (
245
- BoolKind Kind = 8
246
- EnumKind Kind = 14
247
- Int32Kind Kind = 5
248
- Sint32Kind Kind = 17
249
- Uint32Kind Kind = 13
250
- Int64Kind Kind = 3
251
- Sint64Kind Kind = 18
252
- Uint64Kind Kind = 4
253
- Sfixed32Kind Kind = 15
254
- Fixed32Kind Kind = 7
255
- FloatKind Kind = 2
256
- Sfixed64Kind Kind = 16
257
- Fixed64Kind Kind = 6
258
- DoubleKind Kind = 1
259
- StringKind Kind = 9
260
- BytesKind Kind = 12
261
- MessageKind Kind = 11
262
- GroupKind Kind = 10
263
- )
264
-
265
- // IsValid reports whether the kind is valid.
266
- func (k Kind) IsValid() bool {
267
- switch k {
268
- case BoolKind, EnumKind,
269
- Int32Kind, Sint32Kind, Uint32Kind,
270
- Int64Kind, Sint64Kind, Uint64Kind,
271
- Sfixed32Kind, Fixed32Kind, FloatKind,
272
- Sfixed64Kind, Fixed64Kind, DoubleKind,
273
- StringKind, BytesKind, MessageKind, GroupKind:
274
- return true
275
- default:
276
- return false
277
- }
278
- }
279
-
280
- // String returns k as a proto source identifier (e.g., "bool").
281
- func (k Kind) String() string {
282
- switch k {
283
- case BoolKind:
284
- return "bool"
285
- case EnumKind:
286
- return "enum"
287
- case Int32Kind:
288
- return "int32"
289
- case Sint32Kind:
290
- return "sint32"
291
- case Uint32Kind:
292
- return "uint32"
293
- case Int64Kind:
294
- return "int64"
295
- case Sint64Kind:
296
- return "sint64"
297
- case Uint64Kind:
298
- return "uint64"
299
- case Sfixed32Kind:
300
- return "sfixed32"
301
- case Fixed32Kind:
302
- return "fixed32"
303
- case FloatKind:
304
- return "float"
305
- case Sfixed64Kind:
306
- return "sfixed64"
307
- case Fixed64Kind:
308
- return "fixed64"
309
- case DoubleKind:
310
- return "double"
311
- case StringKind:
312
- return "string"
313
- case BytesKind:
314
- return "bytes"
315
- case MessageKind:
316
- return "message"
317
- case GroupKind:
318
- return "group"
319
- default:
320
- return fmt.Sprintf("<unknown:%d>", k)
321
- }
322
- }
323
-
324
- // GoString returns k as a Go source identifier (e.g., "BoolKind").
325
- func (k Kind) GoString() string {
326
- switch k {
327
- case BoolKind:
328
- return "BoolKind"
329
- case EnumKind:
330
- return "EnumKind"
331
- case Int32Kind:
332
- return "Int32Kind"
333
- case Sint32Kind:
334
- return "Sint32Kind"
335
- case Uint32Kind:
336
- return "Uint32Kind"
337
- case Int64Kind:
338
- return "Int64Kind"
339
- case Sint64Kind:
340
- return "Sint64Kind"
341
- case Uint64Kind:
342
- return "Uint64Kind"
343
- case Sfixed32Kind:
344
- return "Sfixed32Kind"
345
- case Fixed32Kind:
346
- return "Fixed32Kind"
347
- case FloatKind:
348
- return "FloatKind"
349
- case Sfixed64Kind:
350
- return "Sfixed64Kind"
351
- case Fixed64Kind:
352
- return "Fixed64Kind"
353
- case DoubleKind:
354
- return "DoubleKind"
355
- case StringKind:
356
- return "StringKind"
357
- case BytesKind:
358
- return "BytesKind"
359
- case MessageKind:
360
- return "MessageKind"
361
- case GroupKind:
362
- return "GroupKind"
363
- default:
364
- return fmt.Sprintf("Kind(%d)", k)
365
- }
366
- }
367
-
368
- // FieldNumber is the field number in a message.
369
- type FieldNumber = protowire.Number
370
-
371
- // FieldNumbers represent a list of field numbers.
372
- type FieldNumbers interface {
373
- // Len reports the number of fields in the list.
374
- Len() int
375
- // Get returns the ith field number. It panics if out of bounds.
376
- Get(i int) FieldNumber
377
- // Has reports whether n is within the list of fields.
378
- Has(n FieldNumber) bool
379
-
380
- doNotImplement
381
- }
382
-
383
- // FieldRanges represent a list of field number ranges.
384
- type FieldRanges interface {
385
- // Len reports the number of ranges in the list.
386
- Len() int
387
- // Get returns the ith range. It panics if out of bounds.
388
- Get(i int) [2]FieldNumber // start inclusive; end exclusive
389
- // Has reports whether n is within any of the ranges.
390
- Has(n FieldNumber) bool
391
-
392
- doNotImplement
393
- }
394
-
395
- // EnumNumber is the numeric value for an enum.
396
- type EnumNumber int32
397
-
398
- // EnumRanges represent a list of enum number ranges.
399
- type EnumRanges interface {
400
- // Len reports the number of ranges in the list.
401
- Len() int
402
- // Get returns the ith range. It panics if out of bounds.
403
- Get(i int) [2]EnumNumber // start inclusive; end inclusive
404
- // Has reports whether n is within any of the ranges.
405
- Has(n EnumNumber) bool
406
-
407
- doNotImplement
408
- }
409
-
410
- // Name is the short name for a proto declaration. This is not the name
411
- // as used in Go source code, which might not be identical to the proto name.
412
- type Name string // e.g., "Kind"
413
-
414
- // IsValid reports whether s is a syntactically valid name.
415
- // An empty name is invalid.
416
- func (s Name) IsValid() bool {
417
- return consumeIdent(string(s)) == len(s)
418
- }
419
-
420
- // Names represent a list of names.
421
- type Names interface {
422
- // Len reports the number of names in the list.
423
- Len() int
424
- // Get returns the ith name. It panics if out of bounds.
425
- Get(i int) Name
426
- // Has reports whether s matches any names in the list.
427
- Has(s Name) bool
428
-
429
- doNotImplement
430
- }
431
-
432
- // FullName is a qualified name that uniquely identifies a proto declaration.
433
- // A qualified name is the concatenation of the proto package along with the
434
- // fully-declared name (i.e., name of parent preceding the name of the child),
435
- // with a '.' delimiter placed between each Name.
436
- //
437
- // This should not have any leading or trailing dots.
438
- type FullName string // e.g., "google.protobuf.Field.Kind"
439
-
440
- // IsValid reports whether s is a syntactically valid full name.
441
- // An empty full name is invalid.
442
- func (s FullName) IsValid() bool {
443
- i := consumeIdent(string(s))
444
- if i < 0 {
445
- return false
446
- }
447
- for len(s) > i {
448
- if s[i] != '.' {
449
- return false
450
- }
451
- i++
452
- n := consumeIdent(string(s[i:]))
453
- if n < 0 {
454
- return false
455
- }
456
- i += n
457
- }
458
- return true
459
- }
460
-
461
- func consumeIdent(s string) (i int) {
462
- if len(s) == 0 || !isLetter(s[i]) {
463
- return -1
464
- }
465
- i++
466
- for len(s) > i && isLetterDigit(s[i]) {
467
- i++
468
- }
469
- return i
470
- }
471
- func isLetter(c byte) bool {
472
- return c == '_' || ('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z')
473
- }
474
- func isLetterDigit(c byte) bool {
475
- return isLetter(c) || ('0' <= c && c <= '9')
476
- }
477
-
478
- // Name returns the short name, which is the last identifier segment.
479
- // A single segment FullName is the Name itself.
480
- func (n FullName) Name() Name {
481
- if i := strings.LastIndexByte(string(n), '.'); i >= 0 {
482
- return Name(n[i+1:])
483
- }
484
- return Name(n)
485
- }
486
-
487
- // Parent returns the full name with the trailing identifier removed.
488
- // A single segment FullName has no parent.
489
- func (n FullName) Parent() FullName {
490
- if i := strings.LastIndexByte(string(n), '.'); i >= 0 {
491
- return n[:i]
492
- }
493
- return ""
494
- }
495
-
496
- // Append returns the qualified name appended with the provided short name.
497
- //
498
- // Invariant: n == n.Parent().Append(n.Name()) // assuming n is valid
499
- func (n FullName) Append(s Name) FullName {
500
- if n == "" {
501
- return FullName(s)
502
- }
503
- return n + "." + FullName(s)
504
- }
@@ -1,128 +0,0 @@
1
- // Copyright 2019 The Go Authors. All rights reserved.
2
- // Use of this source code is governed by a BSD-style
3
- // license that can be found in the LICENSE file.
4
-
5
- package protoreflect
6
-
7
- import (
8
- "strconv"
9
- )
10
-
11
- // SourceLocations is a list of source locations.
12
- type SourceLocations interface {
13
- // Len reports the number of source locations in the proto file.
14
- Len() int
15
- // Get returns the ith SourceLocation. It panics if out of bounds.
16
- Get(int) SourceLocation
17
-
18
- // ByPath returns the SourceLocation for the given path,
19
- // returning the first location if multiple exist for the same path.
20
- // If multiple locations exist for the same path,
21
- // then SourceLocation.Next index can be used to identify the
22
- // index of the next SourceLocation.
23
- // If no location exists for this path, it returns the zero value.
24
- ByPath(path SourcePath) SourceLocation
25
-
26
- // ByDescriptor returns the SourceLocation for the given descriptor,
27
- // returning the first location if multiple exist for the same path.
28
- // If no location exists for this descriptor, it returns the zero value.
29
- ByDescriptor(desc Descriptor) SourceLocation
30
-
31
- doNotImplement
32
- }
33
-
34
- // SourceLocation describes a source location and
35
- // corresponds with the google.protobuf.SourceCodeInfo.Location message.
36
- type SourceLocation struct {
37
- // Path is the path to the declaration from the root file descriptor.
38
- // The contents of this slice must not be mutated.
39
- Path SourcePath
40
-
41
- // StartLine and StartColumn are the zero-indexed starting location
42
- // in the source file for the declaration.
43
- StartLine, StartColumn int
44
- // EndLine and EndColumn are the zero-indexed ending location
45
- // in the source file for the declaration.
46
- // In the descriptor.proto, the end line may be omitted if it is identical
47
- // to the start line. Here, it is always populated.
48
- EndLine, EndColumn int
49
-
50
- // LeadingDetachedComments are the leading detached comments
51
- // for the declaration. The contents of this slice must not be mutated.
52
- LeadingDetachedComments []string
53
- // LeadingComments is the leading attached comment for the declaration.
54
- LeadingComments string
55
- // TrailingComments is the trailing attached comment for the declaration.
56
- TrailingComments string
57
-
58
- // Next is an index into SourceLocations for the next source location that
59
- // has the same Path. It is zero if there is no next location.
60
- Next int
61
- }
62
-
63
- // SourcePath identifies part of a file descriptor for a source location.
64
- // The SourcePath is a sequence of either field numbers or indexes into
65
- // a repeated field that form a path starting from the root file descriptor.
66
- //
67
- // See google.protobuf.SourceCodeInfo.Location.path.
68
- type SourcePath []int32
69
-
70
- // Equal reports whether p1 equals p2.
71
- func (p1 SourcePath) Equal(p2 SourcePath) bool {
72
- if len(p1) != len(p2) {
73
- return false
74
- }
75
- for i := range p1 {
76
- if p1[i] != p2[i] {
77
- return false
78
- }
79
- }
80
- return true
81
- }
82
-
83
- // String formats the path in a humanly readable manner.
84
- // The output is guaranteed to be deterministic,
85
- // making it suitable for use as a key into a Go map.
86
- // It is not guaranteed to be stable as the exact output could change
87
- // in a future version of this module.
88
- //
89
- // Example output:
90
- // .message_type[6].nested_type[15].field[3]
91
- func (p SourcePath) String() string {
92
- b := p.appendFileDescriptorProto(nil)
93
- for _, i := range p {
94
- b = append(b, '.')
95
- b = strconv.AppendInt(b, int64(i), 10)
96
- }
97
- return string(b)
98
- }
99
-
100
- type appendFunc func(*SourcePath, []byte) []byte
101
-
102
- func (p *SourcePath) appendSingularField(b []byte, name string, f appendFunc) []byte {
103
- if len(*p) == 0 {
104
- return b
105
- }
106
- b = append(b, '.')
107
- b = append(b, name...)
108
- *p = (*p)[1:]
109
- if f != nil {
110
- b = f(p, b)
111
- }
112
- return b
113
- }
114
-
115
- func (p *SourcePath) appendRepeatedField(b []byte, name string, f appendFunc) []byte {
116
- b = p.appendSingularField(b, name, nil)
117
- if len(*p) == 0 || (*p)[0] < 0 {
118
- return b
119
- }
120
- b = append(b, '[')
121
- b = strconv.AppendUint(b, uint64((*p)[0]), 10)
122
- b = append(b, ']')
123
- *p = (*p)[1:]
124
- if f != nil {
125
- b = f(p, b)
126
- }
127
- return b
128
- }