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,176 +0,0 @@
1
- // Copyright 2020 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 impl
6
-
7
- import (
8
- "fmt"
9
- "reflect"
10
-
11
- "google.golang.org/protobuf/proto"
12
- pref "google.golang.org/protobuf/reflect/protoreflect"
13
- piface "google.golang.org/protobuf/runtime/protoiface"
14
- )
15
-
16
- type mergeOptions struct{}
17
-
18
- func (o mergeOptions) Merge(dst, src proto.Message) {
19
- proto.Merge(dst, src)
20
- }
21
-
22
- // merge is protoreflect.Methods.Merge.
23
- func (mi *MessageInfo) merge(in piface.MergeInput) piface.MergeOutput {
24
- dp, ok := mi.getPointer(in.Destination)
25
- if !ok {
26
- return piface.MergeOutput{}
27
- }
28
- sp, ok := mi.getPointer(in.Source)
29
- if !ok {
30
- return piface.MergeOutput{}
31
- }
32
- mi.mergePointer(dp, sp, mergeOptions{})
33
- return piface.MergeOutput{Flags: piface.MergeComplete}
34
- }
35
-
36
- func (mi *MessageInfo) mergePointer(dst, src pointer, opts mergeOptions) {
37
- mi.init()
38
- if dst.IsNil() {
39
- panic(fmt.Sprintf("invalid value: merging into nil message"))
40
- }
41
- if src.IsNil() {
42
- return
43
- }
44
- for _, f := range mi.orderedCoderFields {
45
- if f.funcs.merge == nil {
46
- continue
47
- }
48
- sfptr := src.Apply(f.offset)
49
- if f.isPointer && sfptr.Elem().IsNil() {
50
- continue
51
- }
52
- f.funcs.merge(dst.Apply(f.offset), sfptr, f, opts)
53
- }
54
- if mi.extensionOffset.IsValid() {
55
- sext := src.Apply(mi.extensionOffset).Extensions()
56
- dext := dst.Apply(mi.extensionOffset).Extensions()
57
- if *dext == nil {
58
- *dext = make(map[int32]ExtensionField)
59
- }
60
- for num, sx := range *sext {
61
- xt := sx.Type()
62
- xi := getExtensionFieldInfo(xt)
63
- if xi.funcs.merge == nil {
64
- continue
65
- }
66
- dx := (*dext)[num]
67
- var dv pref.Value
68
- if dx.Type() == sx.Type() {
69
- dv = dx.Value()
70
- }
71
- if !dv.IsValid() && xi.unmarshalNeedsValue {
72
- dv = xt.New()
73
- }
74
- dv = xi.funcs.merge(dv, sx.Value(), opts)
75
- dx.Set(sx.Type(), dv)
76
- (*dext)[num] = dx
77
- }
78
- }
79
- if mi.unknownOffset.IsValid() {
80
- su := mi.getUnknownBytes(src)
81
- if su != nil && len(*su) > 0 {
82
- du := mi.mutableUnknownBytes(dst)
83
- *du = append(*du, *su...)
84
- }
85
- }
86
- }
87
-
88
- func mergeScalarValue(dst, src pref.Value, opts mergeOptions) pref.Value {
89
- return src
90
- }
91
-
92
- func mergeBytesValue(dst, src pref.Value, opts mergeOptions) pref.Value {
93
- return pref.ValueOfBytes(append(emptyBuf[:], src.Bytes()...))
94
- }
95
-
96
- func mergeListValue(dst, src pref.Value, opts mergeOptions) pref.Value {
97
- dstl := dst.List()
98
- srcl := src.List()
99
- for i, llen := 0, srcl.Len(); i < llen; i++ {
100
- dstl.Append(srcl.Get(i))
101
- }
102
- return dst
103
- }
104
-
105
- func mergeBytesListValue(dst, src pref.Value, opts mergeOptions) pref.Value {
106
- dstl := dst.List()
107
- srcl := src.List()
108
- for i, llen := 0, srcl.Len(); i < llen; i++ {
109
- sb := srcl.Get(i).Bytes()
110
- db := append(emptyBuf[:], sb...)
111
- dstl.Append(pref.ValueOfBytes(db))
112
- }
113
- return dst
114
- }
115
-
116
- func mergeMessageListValue(dst, src pref.Value, opts mergeOptions) pref.Value {
117
- dstl := dst.List()
118
- srcl := src.List()
119
- for i, llen := 0, srcl.Len(); i < llen; i++ {
120
- sm := srcl.Get(i).Message()
121
- dm := proto.Clone(sm.Interface()).ProtoReflect()
122
- dstl.Append(pref.ValueOfMessage(dm))
123
- }
124
- return dst
125
- }
126
-
127
- func mergeMessageValue(dst, src pref.Value, opts mergeOptions) pref.Value {
128
- opts.Merge(dst.Message().Interface(), src.Message().Interface())
129
- return dst
130
- }
131
-
132
- func mergeMessage(dst, src pointer, f *coderFieldInfo, opts mergeOptions) {
133
- if f.mi != nil {
134
- if dst.Elem().IsNil() {
135
- dst.SetPointer(pointerOfValue(reflect.New(f.mi.GoReflectType.Elem())))
136
- }
137
- f.mi.mergePointer(dst.Elem(), src.Elem(), opts)
138
- } else {
139
- dm := dst.AsValueOf(f.ft).Elem()
140
- sm := src.AsValueOf(f.ft).Elem()
141
- if dm.IsNil() {
142
- dm.Set(reflect.New(f.ft.Elem()))
143
- }
144
- opts.Merge(asMessage(dm), asMessage(sm))
145
- }
146
- }
147
-
148
- func mergeMessageSlice(dst, src pointer, f *coderFieldInfo, opts mergeOptions) {
149
- for _, sp := range src.PointerSlice() {
150
- dm := reflect.New(f.ft.Elem().Elem())
151
- if f.mi != nil {
152
- f.mi.mergePointer(pointerOfValue(dm), sp, opts)
153
- } else {
154
- opts.Merge(asMessage(dm), asMessage(sp.AsValueOf(f.ft.Elem().Elem())))
155
- }
156
- dst.AppendPointerSlice(pointerOfValue(dm))
157
- }
158
- }
159
-
160
- func mergeBytes(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
161
- *dst.Bytes() = append(emptyBuf[:], *src.Bytes()...)
162
- }
163
-
164
- func mergeBytesNoZero(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
165
- v := *src.Bytes()
166
- if len(v) > 0 {
167
- *dst.Bytes() = append(emptyBuf[:], v...)
168
- }
169
- }
170
-
171
- func mergeBytesSlice(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
172
- ds := dst.BytesSlice()
173
- for _, v := range *src.BytesSlice() {
174
- *ds = append(*ds, append(emptyBuf[:], v...))
175
- }
176
- }
@@ -1,209 +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
- // Code generated by generate-types. DO NOT EDIT.
6
-
7
- package impl
8
-
9
- import ()
10
-
11
- func mergeBool(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
12
- *dst.Bool() = *src.Bool()
13
- }
14
-
15
- func mergeBoolNoZero(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
16
- v := *src.Bool()
17
- if v != false {
18
- *dst.Bool() = v
19
- }
20
- }
21
-
22
- func mergeBoolPtr(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
23
- p := *src.BoolPtr()
24
- if p != nil {
25
- v := *p
26
- *dst.BoolPtr() = &v
27
- }
28
- }
29
-
30
- func mergeBoolSlice(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
31
- ds := dst.BoolSlice()
32
- ss := src.BoolSlice()
33
- *ds = append(*ds, *ss...)
34
- }
35
-
36
- func mergeInt32(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
37
- *dst.Int32() = *src.Int32()
38
- }
39
-
40
- func mergeInt32NoZero(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
41
- v := *src.Int32()
42
- if v != 0 {
43
- *dst.Int32() = v
44
- }
45
- }
46
-
47
- func mergeInt32Ptr(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
48
- p := *src.Int32Ptr()
49
- if p != nil {
50
- v := *p
51
- *dst.Int32Ptr() = &v
52
- }
53
- }
54
-
55
- func mergeInt32Slice(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
56
- ds := dst.Int32Slice()
57
- ss := src.Int32Slice()
58
- *ds = append(*ds, *ss...)
59
- }
60
-
61
- func mergeUint32(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
62
- *dst.Uint32() = *src.Uint32()
63
- }
64
-
65
- func mergeUint32NoZero(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
66
- v := *src.Uint32()
67
- if v != 0 {
68
- *dst.Uint32() = v
69
- }
70
- }
71
-
72
- func mergeUint32Ptr(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
73
- p := *src.Uint32Ptr()
74
- if p != nil {
75
- v := *p
76
- *dst.Uint32Ptr() = &v
77
- }
78
- }
79
-
80
- func mergeUint32Slice(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
81
- ds := dst.Uint32Slice()
82
- ss := src.Uint32Slice()
83
- *ds = append(*ds, *ss...)
84
- }
85
-
86
- func mergeInt64(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
87
- *dst.Int64() = *src.Int64()
88
- }
89
-
90
- func mergeInt64NoZero(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
91
- v := *src.Int64()
92
- if v != 0 {
93
- *dst.Int64() = v
94
- }
95
- }
96
-
97
- func mergeInt64Ptr(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
98
- p := *src.Int64Ptr()
99
- if p != nil {
100
- v := *p
101
- *dst.Int64Ptr() = &v
102
- }
103
- }
104
-
105
- func mergeInt64Slice(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
106
- ds := dst.Int64Slice()
107
- ss := src.Int64Slice()
108
- *ds = append(*ds, *ss...)
109
- }
110
-
111
- func mergeUint64(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
112
- *dst.Uint64() = *src.Uint64()
113
- }
114
-
115
- func mergeUint64NoZero(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
116
- v := *src.Uint64()
117
- if v != 0 {
118
- *dst.Uint64() = v
119
- }
120
- }
121
-
122
- func mergeUint64Ptr(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
123
- p := *src.Uint64Ptr()
124
- if p != nil {
125
- v := *p
126
- *dst.Uint64Ptr() = &v
127
- }
128
- }
129
-
130
- func mergeUint64Slice(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
131
- ds := dst.Uint64Slice()
132
- ss := src.Uint64Slice()
133
- *ds = append(*ds, *ss...)
134
- }
135
-
136
- func mergeFloat32(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
137
- *dst.Float32() = *src.Float32()
138
- }
139
-
140
- func mergeFloat32NoZero(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
141
- v := *src.Float32()
142
- if v != 0 {
143
- *dst.Float32() = v
144
- }
145
- }
146
-
147
- func mergeFloat32Ptr(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
148
- p := *src.Float32Ptr()
149
- if p != nil {
150
- v := *p
151
- *dst.Float32Ptr() = &v
152
- }
153
- }
154
-
155
- func mergeFloat32Slice(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
156
- ds := dst.Float32Slice()
157
- ss := src.Float32Slice()
158
- *ds = append(*ds, *ss...)
159
- }
160
-
161
- func mergeFloat64(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
162
- *dst.Float64() = *src.Float64()
163
- }
164
-
165
- func mergeFloat64NoZero(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
166
- v := *src.Float64()
167
- if v != 0 {
168
- *dst.Float64() = v
169
- }
170
- }
171
-
172
- func mergeFloat64Ptr(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
173
- p := *src.Float64Ptr()
174
- if p != nil {
175
- v := *p
176
- *dst.Float64Ptr() = &v
177
- }
178
- }
179
-
180
- func mergeFloat64Slice(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
181
- ds := dst.Float64Slice()
182
- ss := src.Float64Slice()
183
- *ds = append(*ds, *ss...)
184
- }
185
-
186
- func mergeString(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
187
- *dst.String() = *src.String()
188
- }
189
-
190
- func mergeStringNoZero(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
191
- v := *src.String()
192
- if v != "" {
193
- *dst.String() = v
194
- }
195
- }
196
-
197
- func mergeStringPtr(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
198
- p := *src.StringPtr()
199
- if p != nil {
200
- v := *p
201
- *dst.StringPtr() = &v
202
- }
203
- }
204
-
205
- func mergeStringSlice(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
206
- ds := dst.StringSlice()
207
- ss := src.StringSlice()
208
- *ds = append(*ds, *ss...)
209
- }
@@ -1,276 +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 impl
6
-
7
- import (
8
- "fmt"
9
- "reflect"
10
- "strconv"
11
- "strings"
12
- "sync"
13
- "sync/atomic"
14
-
15
- "google.golang.org/protobuf/internal/genid"
16
- "google.golang.org/protobuf/reflect/protoreflect"
17
- pref "google.golang.org/protobuf/reflect/protoreflect"
18
- preg "google.golang.org/protobuf/reflect/protoregistry"
19
- )
20
-
21
- // MessageInfo provides protobuf related functionality for a given Go type
22
- // that represents a message. A given instance of MessageInfo is tied to
23
- // exactly one Go type, which must be a pointer to a struct type.
24
- //
25
- // The exported fields must be populated before any methods are called
26
- // and cannot be mutated after set.
27
- type MessageInfo struct {
28
- // GoReflectType is the underlying message Go type and must be populated.
29
- GoReflectType reflect.Type // pointer to struct
30
-
31
- // Desc is the underlying message descriptor type and must be populated.
32
- Desc pref.MessageDescriptor
33
-
34
- // Exporter must be provided in a purego environment in order to provide
35
- // access to unexported fields.
36
- Exporter exporter
37
-
38
- // OneofWrappers is list of pointers to oneof wrapper struct types.
39
- OneofWrappers []interface{}
40
-
41
- initMu sync.Mutex // protects all unexported fields
42
- initDone uint32
43
-
44
- reflectMessageInfo // for reflection implementation
45
- coderMessageInfo // for fast-path method implementations
46
- }
47
-
48
- // exporter is a function that returns a reference to the ith field of v,
49
- // where v is a pointer to a struct. It returns nil if it does not support
50
- // exporting the requested field (e.g., already exported).
51
- type exporter func(v interface{}, i int) interface{}
52
-
53
- // getMessageInfo returns the MessageInfo for any message type that
54
- // is generated by our implementation of protoc-gen-go (for v2 and on).
55
- // If it is unable to obtain a MessageInfo, it returns nil.
56
- func getMessageInfo(mt reflect.Type) *MessageInfo {
57
- m, ok := reflect.Zero(mt).Interface().(pref.ProtoMessage)
58
- if !ok {
59
- return nil
60
- }
61
- mr, ok := m.ProtoReflect().(interface{ ProtoMessageInfo() *MessageInfo })
62
- if !ok {
63
- return nil
64
- }
65
- return mr.ProtoMessageInfo()
66
- }
67
-
68
- func (mi *MessageInfo) init() {
69
- // This function is called in the hot path. Inline the sync.Once logic,
70
- // since allocating a closure for Once.Do is expensive.
71
- // Keep init small to ensure that it can be inlined.
72
- if atomic.LoadUint32(&mi.initDone) == 0 {
73
- mi.initOnce()
74
- }
75
- }
76
-
77
- func (mi *MessageInfo) initOnce() {
78
- mi.initMu.Lock()
79
- defer mi.initMu.Unlock()
80
- if mi.initDone == 1 {
81
- return
82
- }
83
-
84
- t := mi.GoReflectType
85
- if t.Kind() != reflect.Ptr && t.Elem().Kind() != reflect.Struct {
86
- panic(fmt.Sprintf("got %v, want *struct kind", t))
87
- }
88
- t = t.Elem()
89
-
90
- si := mi.makeStructInfo(t)
91
- mi.makeReflectFuncs(t, si)
92
- mi.makeCoderMethods(t, si)
93
-
94
- atomic.StoreUint32(&mi.initDone, 1)
95
- }
96
-
97
- // getPointer returns the pointer for a message, which should be of
98
- // the type of the MessageInfo. If the message is of a different type,
99
- // it returns ok==false.
100
- func (mi *MessageInfo) getPointer(m pref.Message) (p pointer, ok bool) {
101
- switch m := m.(type) {
102
- case *messageState:
103
- return m.pointer(), m.messageInfo() == mi
104
- case *messageReflectWrapper:
105
- return m.pointer(), m.messageInfo() == mi
106
- }
107
- return pointer{}, false
108
- }
109
-
110
- type (
111
- SizeCache = int32
112
- WeakFields = map[int32]protoreflect.ProtoMessage
113
- UnknownFields = unknownFieldsA // TODO: switch to unknownFieldsB
114
- unknownFieldsA = []byte
115
- unknownFieldsB = *[]byte
116
- ExtensionFields = map[int32]ExtensionField
117
- )
118
-
119
- var (
120
- sizecacheType = reflect.TypeOf(SizeCache(0))
121
- weakFieldsType = reflect.TypeOf(WeakFields(nil))
122
- unknownFieldsAType = reflect.TypeOf(unknownFieldsA(nil))
123
- unknownFieldsBType = reflect.TypeOf(unknownFieldsB(nil))
124
- extensionFieldsType = reflect.TypeOf(ExtensionFields(nil))
125
- )
126
-
127
- type structInfo struct {
128
- sizecacheOffset offset
129
- sizecacheType reflect.Type
130
- weakOffset offset
131
- weakType reflect.Type
132
- unknownOffset offset
133
- unknownType reflect.Type
134
- extensionOffset offset
135
- extensionType reflect.Type
136
-
137
- fieldsByNumber map[pref.FieldNumber]reflect.StructField
138
- oneofsByName map[pref.Name]reflect.StructField
139
- oneofWrappersByType map[reflect.Type]pref.FieldNumber
140
- oneofWrappersByNumber map[pref.FieldNumber]reflect.Type
141
- }
142
-
143
- func (mi *MessageInfo) makeStructInfo(t reflect.Type) structInfo {
144
- si := structInfo{
145
- sizecacheOffset: invalidOffset,
146
- weakOffset: invalidOffset,
147
- unknownOffset: invalidOffset,
148
- extensionOffset: invalidOffset,
149
-
150
- fieldsByNumber: map[pref.FieldNumber]reflect.StructField{},
151
- oneofsByName: map[pref.Name]reflect.StructField{},
152
- oneofWrappersByType: map[reflect.Type]pref.FieldNumber{},
153
- oneofWrappersByNumber: map[pref.FieldNumber]reflect.Type{},
154
- }
155
-
156
- fieldLoop:
157
- for i := 0; i < t.NumField(); i++ {
158
- switch f := t.Field(i); f.Name {
159
- case genid.SizeCache_goname, genid.SizeCacheA_goname:
160
- if f.Type == sizecacheType {
161
- si.sizecacheOffset = offsetOf(f, mi.Exporter)
162
- si.sizecacheType = f.Type
163
- }
164
- case genid.WeakFields_goname, genid.WeakFieldsA_goname:
165
- if f.Type == weakFieldsType {
166
- si.weakOffset = offsetOf(f, mi.Exporter)
167
- si.weakType = f.Type
168
- }
169
- case genid.UnknownFields_goname, genid.UnknownFieldsA_goname:
170
- if f.Type == unknownFieldsAType || f.Type == unknownFieldsBType {
171
- si.unknownOffset = offsetOf(f, mi.Exporter)
172
- si.unknownType = f.Type
173
- }
174
- case genid.ExtensionFields_goname, genid.ExtensionFieldsA_goname, genid.ExtensionFieldsB_goname:
175
- if f.Type == extensionFieldsType {
176
- si.extensionOffset = offsetOf(f, mi.Exporter)
177
- si.extensionType = f.Type
178
- }
179
- default:
180
- for _, s := range strings.Split(f.Tag.Get("protobuf"), ",") {
181
- if len(s) > 0 && strings.Trim(s, "0123456789") == "" {
182
- n, _ := strconv.ParseUint(s, 10, 64)
183
- si.fieldsByNumber[pref.FieldNumber(n)] = f
184
- continue fieldLoop
185
- }
186
- }
187
- if s := f.Tag.Get("protobuf_oneof"); len(s) > 0 {
188
- si.oneofsByName[pref.Name(s)] = f
189
- continue fieldLoop
190
- }
191
- }
192
- }
193
-
194
- // Derive a mapping of oneof wrappers to fields.
195
- oneofWrappers := mi.OneofWrappers
196
- for _, method := range []string{"XXX_OneofFuncs", "XXX_OneofWrappers"} {
197
- if fn, ok := reflect.PtrTo(t).MethodByName(method); ok {
198
- for _, v := range fn.Func.Call([]reflect.Value{reflect.Zero(fn.Type.In(0))}) {
199
- if vs, ok := v.Interface().([]interface{}); ok {
200
- oneofWrappers = vs
201
- }
202
- }
203
- }
204
- }
205
- for _, v := range oneofWrappers {
206
- tf := reflect.TypeOf(v).Elem()
207
- f := tf.Field(0)
208
- for _, s := range strings.Split(f.Tag.Get("protobuf"), ",") {
209
- if len(s) > 0 && strings.Trim(s, "0123456789") == "" {
210
- n, _ := strconv.ParseUint(s, 10, 64)
211
- si.oneofWrappersByType[tf] = pref.FieldNumber(n)
212
- si.oneofWrappersByNumber[pref.FieldNumber(n)] = tf
213
- break
214
- }
215
- }
216
- }
217
-
218
- return si
219
- }
220
-
221
- func (mi *MessageInfo) New() protoreflect.Message {
222
- return mi.MessageOf(reflect.New(mi.GoReflectType.Elem()).Interface())
223
- }
224
- func (mi *MessageInfo) Zero() protoreflect.Message {
225
- return mi.MessageOf(reflect.Zero(mi.GoReflectType).Interface())
226
- }
227
- func (mi *MessageInfo) Descriptor() protoreflect.MessageDescriptor {
228
- return mi.Desc
229
- }
230
- func (mi *MessageInfo) Enum(i int) protoreflect.EnumType {
231
- mi.init()
232
- fd := mi.Desc.Fields().Get(i)
233
- return Export{}.EnumTypeOf(mi.fieldTypes[fd.Number()])
234
- }
235
- func (mi *MessageInfo) Message(i int) protoreflect.MessageType {
236
- mi.init()
237
- fd := mi.Desc.Fields().Get(i)
238
- switch {
239
- case fd.IsWeak():
240
- mt, _ := preg.GlobalTypes.FindMessageByName(fd.Message().FullName())
241
- return mt
242
- case fd.IsMap():
243
- return mapEntryType{fd.Message(), mi.fieldTypes[fd.Number()]}
244
- default:
245
- return Export{}.MessageTypeOf(mi.fieldTypes[fd.Number()])
246
- }
247
- }
248
-
249
- type mapEntryType struct {
250
- desc protoreflect.MessageDescriptor
251
- valType interface{} // zero value of enum or message type
252
- }
253
-
254
- func (mt mapEntryType) New() protoreflect.Message {
255
- return nil
256
- }
257
- func (mt mapEntryType) Zero() protoreflect.Message {
258
- return nil
259
- }
260
- func (mt mapEntryType) Descriptor() protoreflect.MessageDescriptor {
261
- return mt.desc
262
- }
263
- func (mt mapEntryType) Enum(i int) protoreflect.EnumType {
264
- fd := mt.desc.Fields().Get(i)
265
- if fd.Enum() == nil {
266
- return nil
267
- }
268
- return Export{}.EnumTypeOf(mt.valType)
269
- }
270
- func (mt mapEntryType) Message(i int) protoreflect.MessageType {
271
- fd := mt.desc.Fields().Get(i)
272
- if fd.Message() == nil {
273
- return nil
274
- }
275
- return Export{}.MessageTypeOf(mt.valType)
276
- }