options.go 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  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. package prototype
  5. import (
  6. pref "github.com/golang/protobuf/v2/reflect/protoreflect"
  7. )
  8. // X provides functionality internal to the protobuf module.
  9. //
  10. // WARNING: The compatibility agreement covers nothing except for functionality
  11. // needed to keep existing generated messages operational. The Go authors
  12. // are not responsible for breakages that occur due to unauthorized usages.
  13. var X internal
  14. type internal struct{}
  15. // optionTypes contains typed nil-pointers to each of the options types.
  16. // These are populated at init time by the descriptor package.
  17. var optionTypes struct {
  18. File pref.OptionsMessage
  19. Enum pref.OptionsMessage
  20. EnumValue pref.OptionsMessage
  21. Message pref.OptionsMessage
  22. Field pref.OptionsMessage
  23. Oneof pref.OptionsMessage
  24. ExtensionRange pref.OptionsMessage
  25. Service pref.OptionsMessage
  26. Method pref.OptionsMessage
  27. }
  28. func (internal) FileOptions() pref.OptionsMessage { return optionTypes.File }
  29. func (internal) EnumOptions() pref.OptionsMessage { return optionTypes.Enum }
  30. func (internal) EnumValueOptions() pref.OptionsMessage { return optionTypes.EnumValue }
  31. func (internal) MessageOptions() pref.OptionsMessage { return optionTypes.Message }
  32. func (internal) FieldOptions() pref.OptionsMessage { return optionTypes.Field }
  33. func (internal) OneofOptions() pref.OptionsMessage { return optionTypes.Oneof }
  34. func (internal) ExtensionRangeOptions() pref.OptionsMessage { return optionTypes.ExtensionRange }
  35. func (internal) ServiceOptions() pref.OptionsMessage { return optionTypes.Service }
  36. func (internal) MethodOptions() pref.OptionsMessage { return optionTypes.Method }
  37. func (internal) RegisterFileOptions(m pref.OptionsMessage) { optionTypes.File = m }
  38. func (internal) RegisterEnumOptions(m pref.OptionsMessage) { optionTypes.Enum = m }
  39. func (internal) RegisterEnumValueOptions(m pref.OptionsMessage) { optionTypes.EnumValue = m }
  40. func (internal) RegisterMessageOptions(m pref.OptionsMessage) { optionTypes.Message = m }
  41. func (internal) RegisterFieldOptions(m pref.OptionsMessage) { optionTypes.Field = m }
  42. func (internal) RegisterOneofOptions(m pref.OptionsMessage) { optionTypes.Oneof = m }
  43. func (internal) RegisterExtensionRangeOptions(m pref.OptionsMessage) { optionTypes.ExtensionRange = m }
  44. func (internal) RegisterServiceOptions(m pref.OptionsMessage) { optionTypes.Service = m }
  45. func (internal) RegisterMethodOptions(m pref.OptionsMessage) { optionTypes.Method = m }