planetscale 0.2.0 → 0.3.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (365) hide show
  1. checksums.yaml +4 -4
  2. data/.buildkite/pipeline.yml +21 -0
  3. data/.github/workflows/ci.yml +9 -1
  4. data/.github/workflows/gem-push.yml +9 -2
  5. data/.licenses/go/github.com/matoous/go-nanoid/v2.dep.yml +34 -0
  6. data/.licenses/go/github.com/planetscale/planetscale-go/planetscale.dep.yml +56 -3
  7. data/.licenses/go/github.com/planetscale/sql-proxy/proxy.dep.yml +205 -172
  8. data/.licenses/go/go.uber.org/zap/buffer.dep.yml +1 -1
  9. data/.licenses/go/go.uber.org/zap/internal/bufferpool.dep.yml +1 -1
  10. data/.licenses/go/go.uber.org/zap/internal/color.dep.yml +1 -1
  11. data/.licenses/go/go.uber.org/zap/internal/exit.dep.yml +1 -1
  12. data/.licenses/go/go.uber.org/zap/zapcore.dep.yml +1 -1
  13. data/.licenses/go/go.uber.org/zap.dep.yml +1 -1
  14. data/README.md +11 -8
  15. data/controller.go +24 -26
  16. data/go.mod +4 -3
  17. data/go.sum +42 -27
  18. data/lib/generators/planetscale/install_generator.rb +8 -6
  19. data/lib/planetscale/version.rb +1 -1
  20. data/lib/planetscale.rb +14 -15
  21. data/planetscale.gemspec +2 -2
  22. data/proxy/planetscale-darwin.h +1 -1
  23. data/proxy/planetscale-darwin.so +0 -0
  24. data/proxy/planetscale-linux.h +1 -1
  25. data/proxy/planetscale-linux.so +0 -0
  26. data/proxy.go +1 -5
  27. metadata +6 -342
  28. data/vendor/github.com/armon/circbuf/.gitignore +0 -22
  29. data/vendor/github.com/armon/circbuf/LICENSE +0 -20
  30. data/vendor/github.com/armon/circbuf/README.md +0 -28
  31. data/vendor/github.com/armon/circbuf/circbuf.go +0 -92
  32. data/vendor/github.com/armon/circbuf/go.mod +0 -1
  33. data/vendor/github.com/golang/protobuf/AUTHORS +0 -3
  34. data/vendor/github.com/golang/protobuf/CONTRIBUTORS +0 -3
  35. data/vendor/github.com/golang/protobuf/LICENSE +0 -28
  36. data/vendor/github.com/golang/protobuf/proto/buffer.go +0 -324
  37. data/vendor/github.com/golang/protobuf/proto/defaults.go +0 -63
  38. data/vendor/github.com/golang/protobuf/proto/deprecated.go +0 -113
  39. data/vendor/github.com/golang/protobuf/proto/discard.go +0 -58
  40. data/vendor/github.com/golang/protobuf/proto/extensions.go +0 -356
  41. data/vendor/github.com/golang/protobuf/proto/properties.go +0 -306
  42. data/vendor/github.com/golang/protobuf/proto/proto.go +0 -167
  43. data/vendor/github.com/golang/protobuf/proto/registry.go +0 -317
  44. data/vendor/github.com/golang/protobuf/proto/text_decode.go +0 -801
  45. data/vendor/github.com/golang/protobuf/proto/text_encode.go +0 -560
  46. data/vendor/github.com/golang/protobuf/proto/wire.go +0 -78
  47. data/vendor/github.com/golang/protobuf/proto/wrappers.go +0 -34
  48. data/vendor/github.com/gorilla/mux/AUTHORS +0 -8
  49. data/vendor/github.com/gorilla/mux/LICENSE +0 -27
  50. data/vendor/github.com/gorilla/mux/README.md +0 -805
  51. data/vendor/github.com/gorilla/mux/doc.go +0 -306
  52. data/vendor/github.com/gorilla/mux/go.mod +0 -3
  53. data/vendor/github.com/gorilla/mux/middleware.go +0 -74
  54. data/vendor/github.com/gorilla/mux/mux.go +0 -606
  55. data/vendor/github.com/gorilla/mux/regexp.go +0 -388
  56. data/vendor/github.com/gorilla/mux/route.go +0 -736
  57. data/vendor/github.com/gorilla/mux/test_helpers.go +0 -19
  58. data/vendor/github.com/hashicorp/go-cleanhttp/LICENSE +0 -363
  59. data/vendor/github.com/hashicorp/go-cleanhttp/README.md +0 -30
  60. data/vendor/github.com/hashicorp/go-cleanhttp/cleanhttp.go +0 -58
  61. data/vendor/github.com/hashicorp/go-cleanhttp/doc.go +0 -20
  62. data/vendor/github.com/hashicorp/go-cleanhttp/go.mod +0 -3
  63. data/vendor/github.com/hashicorp/go-cleanhttp/handlers.go +0 -48
  64. data/vendor/github.com/mitchellh/go-homedir/LICENSE +0 -21
  65. data/vendor/github.com/mitchellh/go-homedir/README.md +0 -14
  66. data/vendor/github.com/mitchellh/go-homedir/go.mod +0 -1
  67. data/vendor/github.com/mitchellh/go-homedir/homedir.go +0 -167
  68. data/vendor/github.com/pkg/errors/.gitignore +0 -24
  69. data/vendor/github.com/pkg/errors/.travis.yml +0 -10
  70. data/vendor/github.com/pkg/errors/LICENSE +0 -23
  71. data/vendor/github.com/pkg/errors/Makefile +0 -44
  72. data/vendor/github.com/pkg/errors/README.md +0 -59
  73. data/vendor/github.com/pkg/errors/appveyor.yml +0 -32
  74. data/vendor/github.com/pkg/errors/errors.go +0 -288
  75. data/vendor/github.com/pkg/errors/go113.go +0 -38
  76. data/vendor/github.com/pkg/errors/stack.go +0 -177
  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 -258
  79. data/vendor/github.com/planetscale/planetscale-go/planetscale/certs.go +0 -142
  80. data/vendor/github.com/planetscale/planetscale-go/planetscale/client.go +0 -305
  81. data/vendor/github.com/planetscale/planetscale-go/planetscale/databases.go +0 -131
  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 -78
  84. data/vendor/github.com/planetscale/planetscale-go/planetscale/service_tokens.go +0 -163
  85. data/vendor/github.com/planetscale/sql-proxy/proxy/client.go +0 -467
  86. data/vendor/github.com/planetscale/sql-proxy/proxy/tls_cache.go +0 -73
  87. data/vendor/go.uber.org/atomic/.codecov.yml +0 -19
  88. data/vendor/go.uber.org/atomic/.gitignore +0 -12
  89. data/vendor/go.uber.org/atomic/.travis.yml +0 -27
  90. data/vendor/go.uber.org/atomic/CHANGELOG.md +0 -76
  91. data/vendor/go.uber.org/atomic/LICENSE.txt +0 -19
  92. data/vendor/go.uber.org/atomic/Makefile +0 -78
  93. data/vendor/go.uber.org/atomic/README.md +0 -63
  94. data/vendor/go.uber.org/atomic/bool.go +0 -81
  95. data/vendor/go.uber.org/atomic/bool_ext.go +0 -53
  96. data/vendor/go.uber.org/atomic/doc.go +0 -23
  97. data/vendor/go.uber.org/atomic/duration.go +0 -82
  98. data/vendor/go.uber.org/atomic/duration_ext.go +0 -40
  99. data/vendor/go.uber.org/atomic/error.go +0 -51
  100. data/vendor/go.uber.org/atomic/error_ext.go +0 -39
  101. data/vendor/go.uber.org/atomic/float64.go +0 -76
  102. data/vendor/go.uber.org/atomic/float64_ext.go +0 -47
  103. data/vendor/go.uber.org/atomic/gen.go +0 -26
  104. data/vendor/go.uber.org/atomic/go.mod +0 -8
  105. data/vendor/go.uber.org/atomic/go.sum +0 -9
  106. data/vendor/go.uber.org/atomic/int32.go +0 -102
  107. data/vendor/go.uber.org/atomic/int64.go +0 -102
  108. data/vendor/go.uber.org/atomic/nocmp.go +0 -35
  109. data/vendor/go.uber.org/atomic/string.go +0 -54
  110. data/vendor/go.uber.org/atomic/string_ext.go +0 -43
  111. data/vendor/go.uber.org/atomic/uint32.go +0 -102
  112. data/vendor/go.uber.org/atomic/uint64.go +0 -102
  113. data/vendor/go.uber.org/atomic/value.go +0 -31
  114. data/vendor/go.uber.org/multierr/.codecov.yml +0 -15
  115. data/vendor/go.uber.org/multierr/.gitignore +0 -4
  116. data/vendor/go.uber.org/multierr/.travis.yml +0 -23
  117. data/vendor/go.uber.org/multierr/CHANGELOG.md +0 -60
  118. data/vendor/go.uber.org/multierr/LICENSE.txt +0 -19
  119. data/vendor/go.uber.org/multierr/Makefile +0 -42
  120. data/vendor/go.uber.org/multierr/README.md +0 -23
  121. data/vendor/go.uber.org/multierr/error.go +0 -449
  122. data/vendor/go.uber.org/multierr/glide.yaml +0 -8
  123. data/vendor/go.uber.org/multierr/go.mod +0 -8
  124. data/vendor/go.uber.org/multierr/go.sum +0 -11
  125. data/vendor/go.uber.org/multierr/go113.go +0 -52
  126. data/vendor/go.uber.org/zap/.codecov.yml +0 -17
  127. data/vendor/go.uber.org/zap/.gitignore +0 -32
  128. data/vendor/go.uber.org/zap/.readme.tmpl +0 -109
  129. data/vendor/go.uber.org/zap/.travis.yml +0 -23
  130. data/vendor/go.uber.org/zap/CHANGELOG.md +0 -432
  131. data/vendor/go.uber.org/zap/CODE_OF_CONDUCT.md +0 -75
  132. data/vendor/go.uber.org/zap/CONTRIBUTING.md +0 -81
  133. data/vendor/go.uber.org/zap/FAQ.md +0 -156
  134. data/vendor/go.uber.org/zap/LICENSE.txt +0 -19
  135. data/vendor/go.uber.org/zap/Makefile +0 -63
  136. data/vendor/go.uber.org/zap/README.md +0 -134
  137. data/vendor/go.uber.org/zap/array.go +0 -320
  138. data/vendor/go.uber.org/zap/buffer/buffer.go +0 -123
  139. data/vendor/go.uber.org/zap/buffer/pool.go +0 -49
  140. data/vendor/go.uber.org/zap/checklicense.sh +0 -17
  141. data/vendor/go.uber.org/zap/config.go +0 -264
  142. data/vendor/go.uber.org/zap/doc.go +0 -113
  143. data/vendor/go.uber.org/zap/encoder.go +0 -79
  144. data/vendor/go.uber.org/zap/error.go +0 -80
  145. data/vendor/go.uber.org/zap/field.go +0 -539
  146. data/vendor/go.uber.org/zap/flag.go +0 -39
  147. data/vendor/go.uber.org/zap/glide.yaml +0 -34
  148. data/vendor/go.uber.org/zap/global.go +0 -168
  149. data/vendor/go.uber.org/zap/global_go112.go +0 -26
  150. data/vendor/go.uber.org/zap/global_prego112.go +0 -26
  151. data/vendor/go.uber.org/zap/go.mod +0 -13
  152. data/vendor/go.uber.org/zap/go.sum +0 -56
  153. data/vendor/go.uber.org/zap/http_handler.go +0 -81
  154. data/vendor/go.uber.org/zap/internal/bufferpool/bufferpool.go +0 -31
  155. data/vendor/go.uber.org/zap/internal/color/color.go +0 -44
  156. data/vendor/go.uber.org/zap/internal/exit/exit.go +0 -64
  157. data/vendor/go.uber.org/zap/level.go +0 -132
  158. data/vendor/go.uber.org/zap/logger.go +0 -344
  159. data/vendor/go.uber.org/zap/options.go +0 -140
  160. data/vendor/go.uber.org/zap/sink.go +0 -161
  161. data/vendor/go.uber.org/zap/stacktrace.go +0 -85
  162. data/vendor/go.uber.org/zap/sugar.go +0 -304
  163. data/vendor/go.uber.org/zap/time.go +0 -27
  164. data/vendor/go.uber.org/zap/writer.go +0 -99
  165. data/vendor/go.uber.org/zap/zapcore/console_encoder.go +0 -161
  166. data/vendor/go.uber.org/zap/zapcore/core.go +0 -113
  167. data/vendor/go.uber.org/zap/zapcore/doc.go +0 -24
  168. data/vendor/go.uber.org/zap/zapcore/encoder.go +0 -443
  169. data/vendor/go.uber.org/zap/zapcore/entry.go +0 -264
  170. data/vendor/go.uber.org/zap/zapcore/error.go +0 -115
  171. data/vendor/go.uber.org/zap/zapcore/field.go +0 -227
  172. data/vendor/go.uber.org/zap/zapcore/hook.go +0 -68
  173. data/vendor/go.uber.org/zap/zapcore/increase_level.go +0 -66
  174. data/vendor/go.uber.org/zap/zapcore/json_encoder.go +0 -534
  175. data/vendor/go.uber.org/zap/zapcore/level.go +0 -175
  176. data/vendor/go.uber.org/zap/zapcore/level_strings.go +0 -46
  177. data/vendor/go.uber.org/zap/zapcore/marshaler.go +0 -61
  178. data/vendor/go.uber.org/zap/zapcore/memory_encoder.go +0 -179
  179. data/vendor/go.uber.org/zap/zapcore/sampler.go +0 -208
  180. data/vendor/go.uber.org/zap/zapcore/tee.go +0 -81
  181. data/vendor/go.uber.org/zap/zapcore/write_syncer.go +0 -123
  182. data/vendor/golang.org/x/net/AUTHORS +0 -3
  183. data/vendor/golang.org/x/net/CONTRIBUTORS +0 -3
  184. data/vendor/golang.org/x/net/LICENSE +0 -27
  185. data/vendor/golang.org/x/net/PATENTS +0 -22
  186. data/vendor/golang.org/x/net/context/context.go +0 -56
  187. data/vendor/golang.org/x/net/context/ctxhttp/ctxhttp.go +0 -71
  188. data/vendor/golang.org/x/net/context/go17.go +0 -73
  189. data/vendor/golang.org/x/net/context/go19.go +0 -21
  190. data/vendor/golang.org/x/net/context/pre_go17.go +0 -301
  191. data/vendor/golang.org/x/net/context/pre_go19.go +0 -110
  192. data/vendor/golang.org/x/oauth2/.travis.yml +0 -13
  193. data/vendor/golang.org/x/oauth2/AUTHORS +0 -3
  194. data/vendor/golang.org/x/oauth2/CONTRIBUTING.md +0 -26
  195. data/vendor/golang.org/x/oauth2/CONTRIBUTORS +0 -3
  196. data/vendor/golang.org/x/oauth2/LICENSE +0 -27
  197. data/vendor/golang.org/x/oauth2/README.md +0 -36
  198. data/vendor/golang.org/x/oauth2/go.mod +0 -9
  199. data/vendor/golang.org/x/oauth2/go.sum +0 -361
  200. data/vendor/golang.org/x/oauth2/internal/client_appengine.go +0 -14
  201. data/vendor/golang.org/x/oauth2/internal/doc.go +0 -6
  202. data/vendor/golang.org/x/oauth2/internal/oauth2.go +0 -37
  203. data/vendor/golang.org/x/oauth2/internal/token.go +0 -294
  204. data/vendor/golang.org/x/oauth2/internal/transport.go +0 -33
  205. data/vendor/golang.org/x/oauth2/oauth2.go +0 -381
  206. data/vendor/golang.org/x/oauth2/token.go +0 -178
  207. data/vendor/golang.org/x/oauth2/transport.go +0 -89
  208. data/vendor/google.golang.org/appengine/LICENSE +0 -202
  209. data/vendor/google.golang.org/appengine/internal/api.go +0 -678
  210. data/vendor/google.golang.org/appengine/internal/api_classic.go +0 -169
  211. data/vendor/google.golang.org/appengine/internal/api_common.go +0 -123
  212. data/vendor/google.golang.org/appengine/internal/app_id.go +0 -28
  213. data/vendor/google.golang.org/appengine/internal/base/api_base.pb.go +0 -308
  214. data/vendor/google.golang.org/appengine/internal/base/api_base.proto +0 -33
  215. data/vendor/google.golang.org/appengine/internal/datastore/datastore_v3.pb.go +0 -4367
  216. data/vendor/google.golang.org/appengine/internal/datastore/datastore_v3.proto +0 -551
  217. data/vendor/google.golang.org/appengine/internal/identity.go +0 -55
  218. data/vendor/google.golang.org/appengine/internal/identity_classic.go +0 -61
  219. data/vendor/google.golang.org/appengine/internal/identity_flex.go +0 -11
  220. data/vendor/google.golang.org/appengine/internal/identity_vm.go +0 -134
  221. data/vendor/google.golang.org/appengine/internal/internal.go +0 -110
  222. data/vendor/google.golang.org/appengine/internal/log/log_service.pb.go +0 -1313
  223. data/vendor/google.golang.org/appengine/internal/log/log_service.proto +0 -150
  224. data/vendor/google.golang.org/appengine/internal/main.go +0 -16
  225. data/vendor/google.golang.org/appengine/internal/main_common.go +0 -7
  226. data/vendor/google.golang.org/appengine/internal/main_vm.go +0 -69
  227. data/vendor/google.golang.org/appengine/internal/metadata.go +0 -60
  228. data/vendor/google.golang.org/appengine/internal/net.go +0 -56
  229. data/vendor/google.golang.org/appengine/internal/regen.sh +0 -40
  230. data/vendor/google.golang.org/appengine/internal/remote_api/remote_api.pb.go +0 -361
  231. data/vendor/google.golang.org/appengine/internal/remote_api/remote_api.proto +0 -44
  232. data/vendor/google.golang.org/appengine/internal/transaction.go +0 -115
  233. data/vendor/google.golang.org/appengine/internal/urlfetch/urlfetch_service.pb.go +0 -527
  234. data/vendor/google.golang.org/appengine/internal/urlfetch/urlfetch_service.proto +0 -64
  235. data/vendor/google.golang.org/appengine/urlfetch/urlfetch.go +0 -210
  236. data/vendor/google.golang.org/protobuf/AUTHORS +0 -3
  237. data/vendor/google.golang.org/protobuf/CONTRIBUTORS +0 -3
  238. data/vendor/google.golang.org/protobuf/LICENSE +0 -27
  239. data/vendor/google.golang.org/protobuf/PATENTS +0 -22
  240. data/vendor/google.golang.org/protobuf/encoding/prototext/decode.go +0 -773
  241. data/vendor/google.golang.org/protobuf/encoding/prototext/doc.go +0 -7
  242. data/vendor/google.golang.org/protobuf/encoding/prototext/encode.go +0 -371
  243. data/vendor/google.golang.org/protobuf/encoding/protowire/wire.go +0 -538
  244. data/vendor/google.golang.org/protobuf/internal/descfmt/stringer.go +0 -318
  245. data/vendor/google.golang.org/protobuf/internal/descopts/options.go +0 -29
  246. data/vendor/google.golang.org/protobuf/internal/detrand/rand.go +0 -69
  247. data/vendor/google.golang.org/protobuf/internal/encoding/defval/default.go +0 -213
  248. data/vendor/google.golang.org/protobuf/internal/encoding/messageset/messageset.go +0 -241
  249. data/vendor/google.golang.org/protobuf/internal/encoding/tag/tag.go +0 -207
  250. data/vendor/google.golang.org/protobuf/internal/encoding/text/decode.go +0 -665
  251. data/vendor/google.golang.org/protobuf/internal/encoding/text/decode_number.go +0 -190
  252. data/vendor/google.golang.org/protobuf/internal/encoding/text/decode_string.go +0 -161
  253. data/vendor/google.golang.org/protobuf/internal/encoding/text/decode_token.go +0 -373
  254. data/vendor/google.golang.org/protobuf/internal/encoding/text/doc.go +0 -29
  255. data/vendor/google.golang.org/protobuf/internal/encoding/text/encode.go +0 -265
  256. data/vendor/google.golang.org/protobuf/internal/errors/errors.go +0 -89
  257. data/vendor/google.golang.org/protobuf/internal/errors/is_go112.go +0 -39
  258. data/vendor/google.golang.org/protobuf/internal/errors/is_go113.go +0 -12
  259. data/vendor/google.golang.org/protobuf/internal/filedesc/build.go +0 -158
  260. data/vendor/google.golang.org/protobuf/internal/filedesc/desc.go +0 -631
  261. data/vendor/google.golang.org/protobuf/internal/filedesc/desc_init.go +0 -471
  262. data/vendor/google.golang.org/protobuf/internal/filedesc/desc_lazy.go +0 -704
  263. data/vendor/google.golang.org/protobuf/internal/filedesc/desc_list.go +0 -450
  264. data/vendor/google.golang.org/protobuf/internal/filedesc/desc_list_gen.go +0 -356
  265. data/vendor/google.golang.org/protobuf/internal/filedesc/placeholder.go +0 -107
  266. data/vendor/google.golang.org/protobuf/internal/filetype/build.go +0 -297
  267. data/vendor/google.golang.org/protobuf/internal/flags/flags.go +0 -24
  268. data/vendor/google.golang.org/protobuf/internal/flags/proto_legacy_disable.go +0 -9
  269. data/vendor/google.golang.org/protobuf/internal/flags/proto_legacy_enable.go +0 -9
  270. data/vendor/google.golang.org/protobuf/internal/genid/any_gen.go +0 -34
  271. data/vendor/google.golang.org/protobuf/internal/genid/api_gen.go +0 -106
  272. data/vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go +0 -829
  273. data/vendor/google.golang.org/protobuf/internal/genid/doc.go +0 -11
  274. data/vendor/google.golang.org/protobuf/internal/genid/duration_gen.go +0 -34
  275. data/vendor/google.golang.org/protobuf/internal/genid/empty_gen.go +0 -19
  276. data/vendor/google.golang.org/protobuf/internal/genid/field_mask_gen.go +0 -31
  277. data/vendor/google.golang.org/protobuf/internal/genid/goname.go +0 -25
  278. data/vendor/google.golang.org/protobuf/internal/genid/map_entry.go +0 -16
  279. data/vendor/google.golang.org/protobuf/internal/genid/source_context_gen.go +0 -31
  280. data/vendor/google.golang.org/protobuf/internal/genid/struct_gen.go +0 -116
  281. data/vendor/google.golang.org/protobuf/internal/genid/timestamp_gen.go +0 -34
  282. data/vendor/google.golang.org/protobuf/internal/genid/type_gen.go +0 -184
  283. data/vendor/google.golang.org/protobuf/internal/genid/wrappers.go +0 -13
  284. data/vendor/google.golang.org/protobuf/internal/genid/wrappers_gen.go +0 -175
  285. data/vendor/google.golang.org/protobuf/internal/impl/api_export.go +0 -177
  286. data/vendor/google.golang.org/protobuf/internal/impl/checkinit.go +0 -141
  287. data/vendor/google.golang.org/protobuf/internal/impl/codec_extension.go +0 -223
  288. data/vendor/google.golang.org/protobuf/internal/impl/codec_field.go +0 -830
  289. data/vendor/google.golang.org/protobuf/internal/impl/codec_gen.go +0 -5637
  290. data/vendor/google.golang.org/protobuf/internal/impl/codec_map.go +0 -388
  291. data/vendor/google.golang.org/protobuf/internal/impl/codec_map_go111.go +0 -37
  292. data/vendor/google.golang.org/protobuf/internal/impl/codec_map_go112.go +0 -11
  293. data/vendor/google.golang.org/protobuf/internal/impl/codec_message.go +0 -217
  294. data/vendor/google.golang.org/protobuf/internal/impl/codec_messageset.go +0 -123
  295. data/vendor/google.golang.org/protobuf/internal/impl/codec_reflect.go +0 -209
  296. data/vendor/google.golang.org/protobuf/internal/impl/codec_tables.go +0 -557
  297. data/vendor/google.golang.org/protobuf/internal/impl/codec_unsafe.go +0 -17
  298. data/vendor/google.golang.org/protobuf/internal/impl/convert.go +0 -496
  299. data/vendor/google.golang.org/protobuf/internal/impl/convert_list.go +0 -141
  300. data/vendor/google.golang.org/protobuf/internal/impl/convert_map.go +0 -121
  301. data/vendor/google.golang.org/protobuf/internal/impl/decode.go +0 -276
  302. data/vendor/google.golang.org/protobuf/internal/impl/encode.go +0 -201
  303. data/vendor/google.golang.org/protobuf/internal/impl/enum.go +0 -21
  304. data/vendor/google.golang.org/protobuf/internal/impl/extension.go +0 -156
  305. data/vendor/google.golang.org/protobuf/internal/impl/legacy_enum.go +0 -219
  306. data/vendor/google.golang.org/protobuf/internal/impl/legacy_export.go +0 -92
  307. data/vendor/google.golang.org/protobuf/internal/impl/legacy_extension.go +0 -176
  308. data/vendor/google.golang.org/protobuf/internal/impl/legacy_file.go +0 -81
  309. data/vendor/google.golang.org/protobuf/internal/impl/legacy_message.go +0 -558
  310. data/vendor/google.golang.org/protobuf/internal/impl/merge.go +0 -176
  311. data/vendor/google.golang.org/protobuf/internal/impl/merge_gen.go +0 -209
  312. data/vendor/google.golang.org/protobuf/internal/impl/message.go +0 -276
  313. data/vendor/google.golang.org/protobuf/internal/impl/message_reflect.go +0 -465
  314. data/vendor/google.golang.org/protobuf/internal/impl/message_reflect_field.go +0 -543
  315. data/vendor/google.golang.org/protobuf/internal/impl/message_reflect_gen.go +0 -249
  316. data/vendor/google.golang.org/protobuf/internal/impl/pointer_reflect.go +0 -178
  317. data/vendor/google.golang.org/protobuf/internal/impl/pointer_unsafe.go +0 -174
  318. data/vendor/google.golang.org/protobuf/internal/impl/validate.go +0 -576
  319. data/vendor/google.golang.org/protobuf/internal/impl/weak.go +0 -74
  320. data/vendor/google.golang.org/protobuf/internal/order/order.go +0 -89
  321. data/vendor/google.golang.org/protobuf/internal/order/range.go +0 -115
  322. data/vendor/google.golang.org/protobuf/internal/pragma/pragma.go +0 -29
  323. data/vendor/google.golang.org/protobuf/internal/set/ints.go +0 -58
  324. data/vendor/google.golang.org/protobuf/internal/strs/strings.go +0 -196
  325. data/vendor/google.golang.org/protobuf/internal/strs/strings_pure.go +0 -27
  326. data/vendor/google.golang.org/protobuf/internal/strs/strings_unsafe.go +0 -94
  327. data/vendor/google.golang.org/protobuf/internal/version/version.go +0 -79
  328. data/vendor/google.golang.org/protobuf/proto/checkinit.go +0 -71
  329. data/vendor/google.golang.org/protobuf/proto/decode.go +0 -278
  330. data/vendor/google.golang.org/protobuf/proto/decode_gen.go +0 -603
  331. data/vendor/google.golang.org/protobuf/proto/doc.go +0 -94
  332. data/vendor/google.golang.org/protobuf/proto/encode.go +0 -319
  333. data/vendor/google.golang.org/protobuf/proto/encode_gen.go +0 -97
  334. data/vendor/google.golang.org/protobuf/proto/equal.go +0 -167
  335. data/vendor/google.golang.org/protobuf/proto/extension.go +0 -92
  336. data/vendor/google.golang.org/protobuf/proto/merge.go +0 -139
  337. data/vendor/google.golang.org/protobuf/proto/messageset.go +0 -93
  338. data/vendor/google.golang.org/protobuf/proto/proto.go +0 -43
  339. data/vendor/google.golang.org/protobuf/proto/proto_methods.go +0 -19
  340. data/vendor/google.golang.org/protobuf/proto/proto_reflect.go +0 -19
  341. data/vendor/google.golang.org/protobuf/proto/reset.go +0 -43
  342. data/vendor/google.golang.org/protobuf/proto/size.go +0 -97
  343. data/vendor/google.golang.org/protobuf/proto/size_gen.go +0 -55
  344. data/vendor/google.golang.org/protobuf/proto/wrappers.go +0 -29
  345. data/vendor/google.golang.org/protobuf/reflect/protodesc/desc.go +0 -276
  346. data/vendor/google.golang.org/protobuf/reflect/protodesc/desc_init.go +0 -248
  347. data/vendor/google.golang.org/protobuf/reflect/protodesc/desc_resolve.go +0 -286
  348. data/vendor/google.golang.org/protobuf/reflect/protodesc/desc_validate.go +0 -374
  349. data/vendor/google.golang.org/protobuf/reflect/protodesc/proto.go +0 -252
  350. data/vendor/google.golang.org/protobuf/reflect/protoreflect/methods.go +0 -77
  351. data/vendor/google.golang.org/protobuf/reflect/protoreflect/proto.go +0 -504
  352. data/vendor/google.golang.org/protobuf/reflect/protoreflect/source.go +0 -128
  353. data/vendor/google.golang.org/protobuf/reflect/protoreflect/source_gen.go +0 -461
  354. data/vendor/google.golang.org/protobuf/reflect/protoreflect/type.go +0 -665
  355. data/vendor/google.golang.org/protobuf/reflect/protoreflect/value.go +0 -285
  356. data/vendor/google.golang.org/protobuf/reflect/protoreflect/value_pure.go +0 -59
  357. data/vendor/google.golang.org/protobuf/reflect/protoreflect/value_union.go +0 -411
  358. data/vendor/google.golang.org/protobuf/reflect/protoreflect/value_unsafe.go +0 -98
  359. data/vendor/google.golang.org/protobuf/reflect/protoregistry/registry.go +0 -869
  360. data/vendor/google.golang.org/protobuf/runtime/protoiface/legacy.go +0 -15
  361. data/vendor/google.golang.org/protobuf/runtime/protoiface/methods.go +0 -167
  362. data/vendor/google.golang.org/protobuf/runtime/protoimpl/impl.go +0 -44
  363. data/vendor/google.golang.org/protobuf/runtime/protoimpl/version.go +0 -56
  364. data/vendor/google.golang.org/protobuf/types/descriptorpb/descriptor.pb.go +0 -4039
  365. data/vendor/modules.txt +0 -79
@@ -1,704 +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 filedesc
6
-
7
- import (
8
- "reflect"
9
- "sync"
10
-
11
- "google.golang.org/protobuf/encoding/protowire"
12
- "google.golang.org/protobuf/internal/descopts"
13
- "google.golang.org/protobuf/internal/genid"
14
- "google.golang.org/protobuf/internal/strs"
15
- "google.golang.org/protobuf/proto"
16
- pref "google.golang.org/protobuf/reflect/protoreflect"
17
- )
18
-
19
- func (fd *File) lazyRawInit() {
20
- fd.unmarshalFull(fd.builder.RawDescriptor)
21
- fd.resolveMessages()
22
- fd.resolveExtensions()
23
- fd.resolveServices()
24
- }
25
-
26
- func (file *File) resolveMessages() {
27
- var depIdx int32
28
- for i := range file.allMessages {
29
- md := &file.allMessages[i]
30
-
31
- // Resolve message field dependencies.
32
- for j := range md.L2.Fields.List {
33
- fd := &md.L2.Fields.List[j]
34
-
35
- // Weak fields are resolved upon actual use.
36
- if fd.L1.IsWeak {
37
- continue
38
- }
39
-
40
- // Resolve message field dependency.
41
- switch fd.L1.Kind {
42
- case pref.EnumKind:
43
- fd.L1.Enum = file.resolveEnumDependency(fd.L1.Enum, listFieldDeps, depIdx)
44
- depIdx++
45
- case pref.MessageKind, pref.GroupKind:
46
- fd.L1.Message = file.resolveMessageDependency(fd.L1.Message, listFieldDeps, depIdx)
47
- depIdx++
48
- }
49
-
50
- // Default is resolved here since it depends on Enum being resolved.
51
- if v := fd.L1.Default.val; v.IsValid() {
52
- fd.L1.Default = unmarshalDefault(v.Bytes(), fd.L1.Kind, file, fd.L1.Enum)
53
- }
54
- }
55
- }
56
- }
57
-
58
- func (file *File) resolveExtensions() {
59
- var depIdx int32
60
- for i := range file.allExtensions {
61
- xd := &file.allExtensions[i]
62
-
63
- // Resolve extension field dependency.
64
- switch xd.L1.Kind {
65
- case pref.EnumKind:
66
- xd.L2.Enum = file.resolveEnumDependency(xd.L2.Enum, listExtDeps, depIdx)
67
- depIdx++
68
- case pref.MessageKind, pref.GroupKind:
69
- xd.L2.Message = file.resolveMessageDependency(xd.L2.Message, listExtDeps, depIdx)
70
- depIdx++
71
- }
72
-
73
- // Default is resolved here since it depends on Enum being resolved.
74
- if v := xd.L2.Default.val; v.IsValid() {
75
- xd.L2.Default = unmarshalDefault(v.Bytes(), xd.L1.Kind, file, xd.L2.Enum)
76
- }
77
- }
78
- }
79
-
80
- func (file *File) resolveServices() {
81
- var depIdx int32
82
- for i := range file.allServices {
83
- sd := &file.allServices[i]
84
-
85
- // Resolve method dependencies.
86
- for j := range sd.L2.Methods.List {
87
- md := &sd.L2.Methods.List[j]
88
- md.L1.Input = file.resolveMessageDependency(md.L1.Input, listMethInDeps, depIdx)
89
- md.L1.Output = file.resolveMessageDependency(md.L1.Output, listMethOutDeps, depIdx)
90
- depIdx++
91
- }
92
- }
93
- }
94
-
95
- func (file *File) resolveEnumDependency(ed pref.EnumDescriptor, i, j int32) pref.EnumDescriptor {
96
- r := file.builder.FileRegistry
97
- if r, ok := r.(resolverByIndex); ok {
98
- if ed2 := r.FindEnumByIndex(i, j, file.allEnums, file.allMessages); ed2 != nil {
99
- return ed2
100
- }
101
- }
102
- for i := range file.allEnums {
103
- if ed2 := &file.allEnums[i]; ed2.L0.FullName == ed.FullName() {
104
- return ed2
105
- }
106
- }
107
- if d, _ := r.FindDescriptorByName(ed.FullName()); d != nil {
108
- return d.(pref.EnumDescriptor)
109
- }
110
- return ed
111
- }
112
-
113
- func (file *File) resolveMessageDependency(md pref.MessageDescriptor, i, j int32) pref.MessageDescriptor {
114
- r := file.builder.FileRegistry
115
- if r, ok := r.(resolverByIndex); ok {
116
- if md2 := r.FindMessageByIndex(i, j, file.allEnums, file.allMessages); md2 != nil {
117
- return md2
118
- }
119
- }
120
- for i := range file.allMessages {
121
- if md2 := &file.allMessages[i]; md2.L0.FullName == md.FullName() {
122
- return md2
123
- }
124
- }
125
- if d, _ := r.FindDescriptorByName(md.FullName()); d != nil {
126
- return d.(pref.MessageDescriptor)
127
- }
128
- return md
129
- }
130
-
131
- func (fd *File) unmarshalFull(b []byte) {
132
- sb := getBuilder()
133
- defer putBuilder(sb)
134
-
135
- var enumIdx, messageIdx, extensionIdx, serviceIdx int
136
- var rawOptions []byte
137
- fd.L2 = new(FileL2)
138
- for len(b) > 0 {
139
- num, typ, n := protowire.ConsumeTag(b)
140
- b = b[n:]
141
- switch typ {
142
- case protowire.VarintType:
143
- v, m := protowire.ConsumeVarint(b)
144
- b = b[m:]
145
- switch num {
146
- case genid.FileDescriptorProto_PublicDependency_field_number:
147
- fd.L2.Imports[v].IsPublic = true
148
- case genid.FileDescriptorProto_WeakDependency_field_number:
149
- fd.L2.Imports[v].IsWeak = true
150
- }
151
- case protowire.BytesType:
152
- v, m := protowire.ConsumeBytes(b)
153
- b = b[m:]
154
- switch num {
155
- case genid.FileDescriptorProto_Dependency_field_number:
156
- path := sb.MakeString(v)
157
- imp, _ := fd.builder.FileRegistry.FindFileByPath(path)
158
- if imp == nil {
159
- imp = PlaceholderFile(path)
160
- }
161
- fd.L2.Imports = append(fd.L2.Imports, pref.FileImport{FileDescriptor: imp})
162
- case genid.FileDescriptorProto_EnumType_field_number:
163
- fd.L1.Enums.List[enumIdx].unmarshalFull(v, sb)
164
- enumIdx++
165
- case genid.FileDescriptorProto_MessageType_field_number:
166
- fd.L1.Messages.List[messageIdx].unmarshalFull(v, sb)
167
- messageIdx++
168
- case genid.FileDescriptorProto_Extension_field_number:
169
- fd.L1.Extensions.List[extensionIdx].unmarshalFull(v, sb)
170
- extensionIdx++
171
- case genid.FileDescriptorProto_Service_field_number:
172
- fd.L1.Services.List[serviceIdx].unmarshalFull(v, sb)
173
- serviceIdx++
174
- case genid.FileDescriptorProto_Options_field_number:
175
- rawOptions = appendOptions(rawOptions, v)
176
- }
177
- default:
178
- m := protowire.ConsumeFieldValue(num, typ, b)
179
- b = b[m:]
180
- }
181
- }
182
- fd.L2.Options = fd.builder.optionsUnmarshaler(&descopts.File, rawOptions)
183
- }
184
-
185
- func (ed *Enum) unmarshalFull(b []byte, sb *strs.Builder) {
186
- var rawValues [][]byte
187
- var rawOptions []byte
188
- if !ed.L1.eagerValues {
189
- ed.L2 = new(EnumL2)
190
- }
191
- for len(b) > 0 {
192
- num, typ, n := protowire.ConsumeTag(b)
193
- b = b[n:]
194
- switch typ {
195
- case protowire.BytesType:
196
- v, m := protowire.ConsumeBytes(b)
197
- b = b[m:]
198
- switch num {
199
- case genid.EnumDescriptorProto_Value_field_number:
200
- rawValues = append(rawValues, v)
201
- case genid.EnumDescriptorProto_ReservedName_field_number:
202
- ed.L2.ReservedNames.List = append(ed.L2.ReservedNames.List, pref.Name(sb.MakeString(v)))
203
- case genid.EnumDescriptorProto_ReservedRange_field_number:
204
- ed.L2.ReservedRanges.List = append(ed.L2.ReservedRanges.List, unmarshalEnumReservedRange(v))
205
- case genid.EnumDescriptorProto_Options_field_number:
206
- rawOptions = appendOptions(rawOptions, v)
207
- }
208
- default:
209
- m := protowire.ConsumeFieldValue(num, typ, b)
210
- b = b[m:]
211
- }
212
- }
213
- if !ed.L1.eagerValues && len(rawValues) > 0 {
214
- ed.L2.Values.List = make([]EnumValue, len(rawValues))
215
- for i, b := range rawValues {
216
- ed.L2.Values.List[i].unmarshalFull(b, sb, ed.L0.ParentFile, ed, i)
217
- }
218
- }
219
- ed.L2.Options = ed.L0.ParentFile.builder.optionsUnmarshaler(&descopts.Enum, rawOptions)
220
- }
221
-
222
- func unmarshalEnumReservedRange(b []byte) (r [2]pref.EnumNumber) {
223
- for len(b) > 0 {
224
- num, typ, n := protowire.ConsumeTag(b)
225
- b = b[n:]
226
- switch typ {
227
- case protowire.VarintType:
228
- v, m := protowire.ConsumeVarint(b)
229
- b = b[m:]
230
- switch num {
231
- case genid.EnumDescriptorProto_EnumReservedRange_Start_field_number:
232
- r[0] = pref.EnumNumber(v)
233
- case genid.EnumDescriptorProto_EnumReservedRange_End_field_number:
234
- r[1] = pref.EnumNumber(v)
235
- }
236
- default:
237
- m := protowire.ConsumeFieldValue(num, typ, b)
238
- b = b[m:]
239
- }
240
- }
241
- return r
242
- }
243
-
244
- func (vd *EnumValue) unmarshalFull(b []byte, sb *strs.Builder, pf *File, pd pref.Descriptor, i int) {
245
- vd.L0.ParentFile = pf
246
- vd.L0.Parent = pd
247
- vd.L0.Index = i
248
-
249
- var rawOptions []byte
250
- for len(b) > 0 {
251
- num, typ, n := protowire.ConsumeTag(b)
252
- b = b[n:]
253
- switch typ {
254
- case protowire.VarintType:
255
- v, m := protowire.ConsumeVarint(b)
256
- b = b[m:]
257
- switch num {
258
- case genid.EnumValueDescriptorProto_Number_field_number:
259
- vd.L1.Number = pref.EnumNumber(v)
260
- }
261
- case protowire.BytesType:
262
- v, m := protowire.ConsumeBytes(b)
263
- b = b[m:]
264
- switch num {
265
- case genid.EnumValueDescriptorProto_Name_field_number:
266
- // NOTE: Enum values are in the same scope as the enum parent.
267
- vd.L0.FullName = appendFullName(sb, pd.Parent().FullName(), v)
268
- case genid.EnumValueDescriptorProto_Options_field_number:
269
- rawOptions = appendOptions(rawOptions, v)
270
- }
271
- default:
272
- m := protowire.ConsumeFieldValue(num, typ, b)
273
- b = b[m:]
274
- }
275
- }
276
- vd.L1.Options = pf.builder.optionsUnmarshaler(&descopts.EnumValue, rawOptions)
277
- }
278
-
279
- func (md *Message) unmarshalFull(b []byte, sb *strs.Builder) {
280
- var rawFields, rawOneofs [][]byte
281
- var enumIdx, messageIdx, extensionIdx int
282
- var rawOptions []byte
283
- md.L2 = new(MessageL2)
284
- for len(b) > 0 {
285
- num, typ, n := protowire.ConsumeTag(b)
286
- b = b[n:]
287
- switch typ {
288
- case protowire.BytesType:
289
- v, m := protowire.ConsumeBytes(b)
290
- b = b[m:]
291
- switch num {
292
- case genid.DescriptorProto_Field_field_number:
293
- rawFields = append(rawFields, v)
294
- case genid.DescriptorProto_OneofDecl_field_number:
295
- rawOneofs = append(rawOneofs, v)
296
- case genid.DescriptorProto_ReservedName_field_number:
297
- md.L2.ReservedNames.List = append(md.L2.ReservedNames.List, pref.Name(sb.MakeString(v)))
298
- case genid.DescriptorProto_ReservedRange_field_number:
299
- md.L2.ReservedRanges.List = append(md.L2.ReservedRanges.List, unmarshalMessageReservedRange(v))
300
- case genid.DescriptorProto_ExtensionRange_field_number:
301
- r, rawOptions := unmarshalMessageExtensionRange(v)
302
- opts := md.L0.ParentFile.builder.optionsUnmarshaler(&descopts.ExtensionRange, rawOptions)
303
- md.L2.ExtensionRanges.List = append(md.L2.ExtensionRanges.List, r)
304
- md.L2.ExtensionRangeOptions = append(md.L2.ExtensionRangeOptions, opts)
305
- case genid.DescriptorProto_EnumType_field_number:
306
- md.L1.Enums.List[enumIdx].unmarshalFull(v, sb)
307
- enumIdx++
308
- case genid.DescriptorProto_NestedType_field_number:
309
- md.L1.Messages.List[messageIdx].unmarshalFull(v, sb)
310
- messageIdx++
311
- case genid.DescriptorProto_Extension_field_number:
312
- md.L1.Extensions.List[extensionIdx].unmarshalFull(v, sb)
313
- extensionIdx++
314
- case genid.DescriptorProto_Options_field_number:
315
- md.unmarshalOptions(v)
316
- rawOptions = appendOptions(rawOptions, v)
317
- }
318
- default:
319
- m := protowire.ConsumeFieldValue(num, typ, b)
320
- b = b[m:]
321
- }
322
- }
323
- if len(rawFields) > 0 || len(rawOneofs) > 0 {
324
- md.L2.Fields.List = make([]Field, len(rawFields))
325
- md.L2.Oneofs.List = make([]Oneof, len(rawOneofs))
326
- for i, b := range rawFields {
327
- fd := &md.L2.Fields.List[i]
328
- fd.unmarshalFull(b, sb, md.L0.ParentFile, md, i)
329
- if fd.L1.Cardinality == pref.Required {
330
- md.L2.RequiredNumbers.List = append(md.L2.RequiredNumbers.List, fd.L1.Number)
331
- }
332
- }
333
- for i, b := range rawOneofs {
334
- od := &md.L2.Oneofs.List[i]
335
- od.unmarshalFull(b, sb, md.L0.ParentFile, md, i)
336
- }
337
- }
338
- md.L2.Options = md.L0.ParentFile.builder.optionsUnmarshaler(&descopts.Message, rawOptions)
339
- }
340
-
341
- func (md *Message) unmarshalOptions(b []byte) {
342
- for len(b) > 0 {
343
- num, typ, n := protowire.ConsumeTag(b)
344
- b = b[n:]
345
- switch typ {
346
- case protowire.VarintType:
347
- v, m := protowire.ConsumeVarint(b)
348
- b = b[m:]
349
- switch num {
350
- case genid.MessageOptions_MapEntry_field_number:
351
- md.L1.IsMapEntry = protowire.DecodeBool(v)
352
- case genid.MessageOptions_MessageSetWireFormat_field_number:
353
- md.L1.IsMessageSet = protowire.DecodeBool(v)
354
- }
355
- default:
356
- m := protowire.ConsumeFieldValue(num, typ, b)
357
- b = b[m:]
358
- }
359
- }
360
- }
361
-
362
- func unmarshalMessageReservedRange(b []byte) (r [2]pref.FieldNumber) {
363
- for len(b) > 0 {
364
- num, typ, n := protowire.ConsumeTag(b)
365
- b = b[n:]
366
- switch typ {
367
- case protowire.VarintType:
368
- v, m := protowire.ConsumeVarint(b)
369
- b = b[m:]
370
- switch num {
371
- case genid.DescriptorProto_ReservedRange_Start_field_number:
372
- r[0] = pref.FieldNumber(v)
373
- case genid.DescriptorProto_ReservedRange_End_field_number:
374
- r[1] = pref.FieldNumber(v)
375
- }
376
- default:
377
- m := protowire.ConsumeFieldValue(num, typ, b)
378
- b = b[m:]
379
- }
380
- }
381
- return r
382
- }
383
-
384
- func unmarshalMessageExtensionRange(b []byte) (r [2]pref.FieldNumber, rawOptions []byte) {
385
- for len(b) > 0 {
386
- num, typ, n := protowire.ConsumeTag(b)
387
- b = b[n:]
388
- switch typ {
389
- case protowire.VarintType:
390
- v, m := protowire.ConsumeVarint(b)
391
- b = b[m:]
392
- switch num {
393
- case genid.DescriptorProto_ExtensionRange_Start_field_number:
394
- r[0] = pref.FieldNumber(v)
395
- case genid.DescriptorProto_ExtensionRange_End_field_number:
396
- r[1] = pref.FieldNumber(v)
397
- }
398
- case protowire.BytesType:
399
- v, m := protowire.ConsumeBytes(b)
400
- b = b[m:]
401
- switch num {
402
- case genid.DescriptorProto_ExtensionRange_Options_field_number:
403
- rawOptions = appendOptions(rawOptions, v)
404
- }
405
- default:
406
- m := protowire.ConsumeFieldValue(num, typ, b)
407
- b = b[m:]
408
- }
409
- }
410
- return r, rawOptions
411
- }
412
-
413
- func (fd *Field) unmarshalFull(b []byte, sb *strs.Builder, pf *File, pd pref.Descriptor, i int) {
414
- fd.L0.ParentFile = pf
415
- fd.L0.Parent = pd
416
- fd.L0.Index = i
417
-
418
- var rawTypeName []byte
419
- var rawOptions []byte
420
- for len(b) > 0 {
421
- num, typ, n := protowire.ConsumeTag(b)
422
- b = b[n:]
423
- switch typ {
424
- case protowire.VarintType:
425
- v, m := protowire.ConsumeVarint(b)
426
- b = b[m:]
427
- switch num {
428
- case genid.FieldDescriptorProto_Number_field_number:
429
- fd.L1.Number = pref.FieldNumber(v)
430
- case genid.FieldDescriptorProto_Label_field_number:
431
- fd.L1.Cardinality = pref.Cardinality(v)
432
- case genid.FieldDescriptorProto_Type_field_number:
433
- fd.L1.Kind = pref.Kind(v)
434
- case genid.FieldDescriptorProto_OneofIndex_field_number:
435
- // In Message.unmarshalFull, we allocate slices for both
436
- // the field and oneof descriptors before unmarshaling either
437
- // of them. This ensures pointers to slice elements are stable.
438
- od := &pd.(*Message).L2.Oneofs.List[v]
439
- od.L1.Fields.List = append(od.L1.Fields.List, fd)
440
- if fd.L1.ContainingOneof != nil {
441
- panic("oneof type already set")
442
- }
443
- fd.L1.ContainingOneof = od
444
- case genid.FieldDescriptorProto_Proto3Optional_field_number:
445
- fd.L1.IsProto3Optional = protowire.DecodeBool(v)
446
- }
447
- case protowire.BytesType:
448
- v, m := protowire.ConsumeBytes(b)
449
- b = b[m:]
450
- switch num {
451
- case genid.FieldDescriptorProto_Name_field_number:
452
- fd.L0.FullName = appendFullName(sb, pd.FullName(), v)
453
- case genid.FieldDescriptorProto_JsonName_field_number:
454
- fd.L1.StringName.InitJSON(sb.MakeString(v))
455
- case genid.FieldDescriptorProto_DefaultValue_field_number:
456
- fd.L1.Default.val = pref.ValueOfBytes(v) // temporarily store as bytes; later resolved in resolveMessages
457
- case genid.FieldDescriptorProto_TypeName_field_number:
458
- rawTypeName = v
459
- case genid.FieldDescriptorProto_Options_field_number:
460
- fd.unmarshalOptions(v)
461
- rawOptions = appendOptions(rawOptions, v)
462
- }
463
- default:
464
- m := protowire.ConsumeFieldValue(num, typ, b)
465
- b = b[m:]
466
- }
467
- }
468
- if rawTypeName != nil {
469
- name := makeFullName(sb, rawTypeName)
470
- switch fd.L1.Kind {
471
- case pref.EnumKind:
472
- fd.L1.Enum = PlaceholderEnum(name)
473
- case pref.MessageKind, pref.GroupKind:
474
- fd.L1.Message = PlaceholderMessage(name)
475
- }
476
- }
477
- fd.L1.Options = pf.builder.optionsUnmarshaler(&descopts.Field, rawOptions)
478
- }
479
-
480
- func (fd *Field) unmarshalOptions(b []byte) {
481
- const FieldOptions_EnforceUTF8 = 13
482
-
483
- for len(b) > 0 {
484
- num, typ, n := protowire.ConsumeTag(b)
485
- b = b[n:]
486
- switch typ {
487
- case protowire.VarintType:
488
- v, m := protowire.ConsumeVarint(b)
489
- b = b[m:]
490
- switch num {
491
- case genid.FieldOptions_Packed_field_number:
492
- fd.L1.HasPacked = true
493
- fd.L1.IsPacked = protowire.DecodeBool(v)
494
- case genid.FieldOptions_Weak_field_number:
495
- fd.L1.IsWeak = protowire.DecodeBool(v)
496
- case FieldOptions_EnforceUTF8:
497
- fd.L1.HasEnforceUTF8 = true
498
- fd.L1.EnforceUTF8 = protowire.DecodeBool(v)
499
- }
500
- default:
501
- m := protowire.ConsumeFieldValue(num, typ, b)
502
- b = b[m:]
503
- }
504
- }
505
- }
506
-
507
- func (od *Oneof) unmarshalFull(b []byte, sb *strs.Builder, pf *File, pd pref.Descriptor, i int) {
508
- od.L0.ParentFile = pf
509
- od.L0.Parent = pd
510
- od.L0.Index = i
511
-
512
- var rawOptions []byte
513
- for len(b) > 0 {
514
- num, typ, n := protowire.ConsumeTag(b)
515
- b = b[n:]
516
- switch typ {
517
- case protowire.BytesType:
518
- v, m := protowire.ConsumeBytes(b)
519
- b = b[m:]
520
- switch num {
521
- case genid.OneofDescriptorProto_Name_field_number:
522
- od.L0.FullName = appendFullName(sb, pd.FullName(), v)
523
- case genid.OneofDescriptorProto_Options_field_number:
524
- rawOptions = appendOptions(rawOptions, v)
525
- }
526
- default:
527
- m := protowire.ConsumeFieldValue(num, typ, b)
528
- b = b[m:]
529
- }
530
- }
531
- od.L1.Options = pf.builder.optionsUnmarshaler(&descopts.Oneof, rawOptions)
532
- }
533
-
534
- func (xd *Extension) unmarshalFull(b []byte, sb *strs.Builder) {
535
- var rawTypeName []byte
536
- var rawOptions []byte
537
- xd.L2 = new(ExtensionL2)
538
- for len(b) > 0 {
539
- num, typ, n := protowire.ConsumeTag(b)
540
- b = b[n:]
541
- switch typ {
542
- case protowire.VarintType:
543
- v, m := protowire.ConsumeVarint(b)
544
- b = b[m:]
545
- switch num {
546
- case genid.FieldDescriptorProto_Proto3Optional_field_number:
547
- xd.L2.IsProto3Optional = protowire.DecodeBool(v)
548
- }
549
- case protowire.BytesType:
550
- v, m := protowire.ConsumeBytes(b)
551
- b = b[m:]
552
- switch num {
553
- case genid.FieldDescriptorProto_JsonName_field_number:
554
- xd.L2.StringName.InitJSON(sb.MakeString(v))
555
- case genid.FieldDescriptorProto_DefaultValue_field_number:
556
- xd.L2.Default.val = pref.ValueOfBytes(v) // temporarily store as bytes; later resolved in resolveExtensions
557
- case genid.FieldDescriptorProto_TypeName_field_number:
558
- rawTypeName = v
559
- case genid.FieldDescriptorProto_Options_field_number:
560
- xd.unmarshalOptions(v)
561
- rawOptions = appendOptions(rawOptions, v)
562
- }
563
- default:
564
- m := protowire.ConsumeFieldValue(num, typ, b)
565
- b = b[m:]
566
- }
567
- }
568
- if rawTypeName != nil {
569
- name := makeFullName(sb, rawTypeName)
570
- switch xd.L1.Kind {
571
- case pref.EnumKind:
572
- xd.L2.Enum = PlaceholderEnum(name)
573
- case pref.MessageKind, pref.GroupKind:
574
- xd.L2.Message = PlaceholderMessage(name)
575
- }
576
- }
577
- xd.L2.Options = xd.L0.ParentFile.builder.optionsUnmarshaler(&descopts.Field, rawOptions)
578
- }
579
-
580
- func (xd *Extension) unmarshalOptions(b []byte) {
581
- for len(b) > 0 {
582
- num, typ, n := protowire.ConsumeTag(b)
583
- b = b[n:]
584
- switch typ {
585
- case protowire.VarintType:
586
- v, m := protowire.ConsumeVarint(b)
587
- b = b[m:]
588
- switch num {
589
- case genid.FieldOptions_Packed_field_number:
590
- xd.L2.IsPacked = protowire.DecodeBool(v)
591
- }
592
- default:
593
- m := protowire.ConsumeFieldValue(num, typ, b)
594
- b = b[m:]
595
- }
596
- }
597
- }
598
-
599
- func (sd *Service) unmarshalFull(b []byte, sb *strs.Builder) {
600
- var rawMethods [][]byte
601
- var rawOptions []byte
602
- sd.L2 = new(ServiceL2)
603
- for len(b) > 0 {
604
- num, typ, n := protowire.ConsumeTag(b)
605
- b = b[n:]
606
- switch typ {
607
- case protowire.BytesType:
608
- v, m := protowire.ConsumeBytes(b)
609
- b = b[m:]
610
- switch num {
611
- case genid.ServiceDescriptorProto_Method_field_number:
612
- rawMethods = append(rawMethods, v)
613
- case genid.ServiceDescriptorProto_Options_field_number:
614
- rawOptions = appendOptions(rawOptions, v)
615
- }
616
- default:
617
- m := protowire.ConsumeFieldValue(num, typ, b)
618
- b = b[m:]
619
- }
620
- }
621
- if len(rawMethods) > 0 {
622
- sd.L2.Methods.List = make([]Method, len(rawMethods))
623
- for i, b := range rawMethods {
624
- sd.L2.Methods.List[i].unmarshalFull(b, sb, sd.L0.ParentFile, sd, i)
625
- }
626
- }
627
- sd.L2.Options = sd.L0.ParentFile.builder.optionsUnmarshaler(&descopts.Service, rawOptions)
628
- }
629
-
630
- func (md *Method) unmarshalFull(b []byte, sb *strs.Builder, pf *File, pd pref.Descriptor, i int) {
631
- md.L0.ParentFile = pf
632
- md.L0.Parent = pd
633
- md.L0.Index = i
634
-
635
- var rawOptions []byte
636
- for len(b) > 0 {
637
- num, typ, n := protowire.ConsumeTag(b)
638
- b = b[n:]
639
- switch typ {
640
- case protowire.VarintType:
641
- v, m := protowire.ConsumeVarint(b)
642
- b = b[m:]
643
- switch num {
644
- case genid.MethodDescriptorProto_ClientStreaming_field_number:
645
- md.L1.IsStreamingClient = protowire.DecodeBool(v)
646
- case genid.MethodDescriptorProto_ServerStreaming_field_number:
647
- md.L1.IsStreamingServer = protowire.DecodeBool(v)
648
- }
649
- case protowire.BytesType:
650
- v, m := protowire.ConsumeBytes(b)
651
- b = b[m:]
652
- switch num {
653
- case genid.MethodDescriptorProto_Name_field_number:
654
- md.L0.FullName = appendFullName(sb, pd.FullName(), v)
655
- case genid.MethodDescriptorProto_InputType_field_number:
656
- md.L1.Input = PlaceholderMessage(makeFullName(sb, v))
657
- case genid.MethodDescriptorProto_OutputType_field_number:
658
- md.L1.Output = PlaceholderMessage(makeFullName(sb, v))
659
- case genid.MethodDescriptorProto_Options_field_number:
660
- rawOptions = appendOptions(rawOptions, v)
661
- }
662
- default:
663
- m := protowire.ConsumeFieldValue(num, typ, b)
664
- b = b[m:]
665
- }
666
- }
667
- md.L1.Options = pf.builder.optionsUnmarshaler(&descopts.Method, rawOptions)
668
- }
669
-
670
- // appendOptions appends src to dst, where the returned slice is never nil.
671
- // This is necessary to distinguish between empty and unpopulated options.
672
- func appendOptions(dst, src []byte) []byte {
673
- if dst == nil {
674
- dst = []byte{}
675
- }
676
- return append(dst, src...)
677
- }
678
-
679
- // optionsUnmarshaler constructs a lazy unmarshal function for an options message.
680
- //
681
- // The type of message to unmarshal to is passed as a pointer since the
682
- // vars in descopts may not yet be populated at the time this function is called.
683
- func (db *Builder) optionsUnmarshaler(p *pref.ProtoMessage, b []byte) func() pref.ProtoMessage {
684
- if b == nil {
685
- return nil
686
- }
687
- var opts pref.ProtoMessage
688
- var once sync.Once
689
- return func() pref.ProtoMessage {
690
- once.Do(func() {
691
- if *p == nil {
692
- panic("Descriptor.Options called without importing the descriptor package")
693
- }
694
- opts = reflect.New(reflect.TypeOf(*p).Elem()).Interface().(pref.ProtoMessage)
695
- if err := (proto.UnmarshalOptions{
696
- AllowPartial: true,
697
- Resolver: db.TypeResolver,
698
- }).Unmarshal(b, opts); err != nil {
699
- panic(err)
700
- }
701
- })
702
- return opts
703
- }
704
- }