Documentation ¶
Index ¶
- func RunPlugin(plugin Plugin)
- func RunPluginFunc(fn func(input *Input) Output)
- func TypeName(scope, name string) string
- type Context
- type EnumType
- type FieldType
- type FileDependency
- type FileType
- type Input
- type MessageType
- type MethodType
- type Output
- type OutputFile
- type Plugin
- type PluginFunc
- type ProtosVisitor
- type ServiceType
- type SilentVisitor
- func (s *SilentVisitor) VisitAllBegin(c *Context)
- func (s *SilentVisitor) VisitAllEnd(c *Context) error
- func (s *SilentVisitor) VisitEnum(c *Context, enum *EnumType) error
- func (s *SilentVisitor) VisitField(c *Context, field *FieldType) error
- func (s *SilentVisitor) VisitFileBegin(c *Context, file *FileType) (bool, error)
- func (s *SilentVisitor) VisitFileEnd(c *Context, file *FileType) error
- func (s *SilentVisitor) VisitMessageBegin(c *Context, message *MessageType) error
- func (s *SilentVisitor) VisitMessageEnd(c *Context, message *MessageType) error
- func (s *SilentVisitor) VisitMethod(c *Context, method *MethodType) error
- func (s *SilentVisitor) VisitServiceBegin(c *Context, service *ServiceType) error
- func (s *SilentVisitor) VisitServiceEnd(c *Context, service *ServiceType) error
- type Visitor
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RunPluginFunc ¶
Types ¶
type Context ¶
type Context struct { Data interface{} // contains filtered or unexported fields }
func (*Context) Message ¶
func (c *Context) Message(name string) *MessageType
type EnumType ¶
type EnumType struct { File *FileType Parent *MessageType Proto *descriptor.EnumDescriptorProto Name string }
type FieldType ¶
type FieldType struct { File *FileType Message *MessageType OneofGroup string Proto *descriptor.FieldDescriptorProto Name string }
func (*FieldType) IsRepeated ¶
type FileDependency ¶
type FileType ¶
type FileType struct { Name string Package string Syntax string Dependencies []*FileDependency Messages []*MessageType Services []*ServiceType Enums []*EnumType Proto *descriptor.FileDescriptorProto }
func (*FileType) HasDependency ¶
func (*FileType) HasService ¶
func (*FileType) HasTopEnum ¶
func (*FileType) HasTopMessage ¶
type Input ¶
type Input struct { FileToGenerate []string ProtosVisitor Arguments []string }
type MessageType ¶
type MessageType struct { File *FileType Parent *MessageType Proto *descriptor.DescriptorProto Name string OneofGroups map[string][]*FieldType Fields []*FieldType EmbedMessage []*MessageType EmbedEnums []*EnumType }
func (*MessageType) BaseName ¶
func (mt *MessageType) BaseName() string
func (*MessageType) IsMapEntry ¶
func (mt *MessageType) IsMapEntry() bool
func (*MessageType) IsTop ¶
func (mt *MessageType) IsTop() bool
type MethodType ¶
type MethodType struct { File *FileType Service *ServiceType Proto *descriptor.MethodDescriptorProto Name string InType string OutType string }
type Output ¶
type Output []*OutputFile
type OutputFile ¶
type PluginFunc ¶
func (PluginFunc) Main ¶
func (f PluginFunc) Main(input *Input) Output
type ProtosVisitor ¶
type ProtosVisitor []*descriptor.FileDescriptorProto
func SingleProtoVisitor ¶
func SingleProtoVisitor(desc *descriptor.FileDescriptorProto) ProtosVisitor
func (ProtosVisitor) Visiting ¶
func (w ProtosVisitor) Visiting(v Visitor) error
type ServiceType ¶
type ServiceType struct { File *FileType Proto *descriptor.ServiceDescriptorProto Name string Methods []*MethodType }
type SilentVisitor ¶
type SilentVisitor struct{}
func (*SilentVisitor) VisitAllBegin ¶
func (s *SilentVisitor) VisitAllBegin(c *Context)
func (*SilentVisitor) VisitAllEnd ¶
func (s *SilentVisitor) VisitAllEnd(c *Context) error
func (*SilentVisitor) VisitEnum ¶
func (s *SilentVisitor) VisitEnum(c *Context, enum *EnumType) error
func (*SilentVisitor) VisitField ¶
func (s *SilentVisitor) VisitField(c *Context, field *FieldType) error
func (*SilentVisitor) VisitFileBegin ¶
func (s *SilentVisitor) VisitFileBegin(c *Context, file *FileType) (bool, error)
func (*SilentVisitor) VisitFileEnd ¶
func (s *SilentVisitor) VisitFileEnd(c *Context, file *FileType) error
func (*SilentVisitor) VisitMessageBegin ¶
func (s *SilentVisitor) VisitMessageBegin(c *Context, message *MessageType) error
func (*SilentVisitor) VisitMessageEnd ¶
func (s *SilentVisitor) VisitMessageEnd(c *Context, message *MessageType) error
func (*SilentVisitor) VisitMethod ¶
func (s *SilentVisitor) VisitMethod(c *Context, method *MethodType) error
func (*SilentVisitor) VisitServiceBegin ¶
func (s *SilentVisitor) VisitServiceBegin(c *Context, service *ServiceType) error
func (*SilentVisitor) VisitServiceEnd ¶
func (s *SilentVisitor) VisitServiceEnd(c *Context, service *ServiceType) error
type Visitor ¶
type Visitor interface { VisitAllBegin(c *Context) VisitFileBegin(c *Context, file *FileType) (bool, error) VisitMessageBegin(c *Context, message *MessageType) error VisitField(c *Context, field *FieldType) error VisitMessageEnd(c *Context, message *MessageType) error VisitEnum(c *Context, enum *EnumType) error VisitServiceBegin(c *Context, service *ServiceType) error VisitServiceEnd(c *Context, service *ServiceType) error VisitMethod(c *Context, method *MethodType) error VisitFileEnd(c *Context, file *FileType) error VisitAllEnd(c *Context) error }
Click to show internal directories.
Click to hide internal directories.