generator

package
v0.2.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 16, 2021 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetIsClientExtension

func GetIsClientExtension(m proto.Message) bool

func GetIsEndpointExtension

func GetIsEndpointExtension(m proto.Message) bool

func GetIsRASServiceExtension

func GetIsRASServiceExtension(m proto.Message) bool

func GetIsRequestServiceExtension

func GetIsRequestServiceExtension(m proto.Message) bool

func IsWellKnownType

func IsWellKnownType(fullname string) bool

Types

type ClientMessageOptions

type ClientMessageOptions struct {
	IsImpl bool
}

func GetClientMessageExtension

func GetClientMessageExtension(m proto.Message) ClientMessageOptions

type ClientMethodOptions

type ClientMethodOptions struct {
	MethodParams    map[string]string
	IgnoreEmpty     bool
	NoPacketPack    bool
	NewEndpointFunc bool
	ProxyName       string
}

func GetClientMethodExtension

func GetClientMethodExtension(m proto.Message) ClientMethodOptions

type EnumExtension

type EnumExtension struct {
	MessageOption string
}

func GetEnumExtension

func GetEnumExtension(m proto.Message) *EnumExtension

type Fields

type Fields []field

func (Fields) FindByName

func (f Fields) FindByName(name string) field

func (Fields) FindByNumber

func (f Fields) FindByNumber(n int32) field

func (Fields) Range

func (f Fields) Range(fn func(f field) bool)

type FileImplOptions

type FileImplOptions struct {
	// contains filtered or unexported fields
}

func GetFileImplExtension

func GetFileImplExtension(m proto.Message) FileImplOptions

type Generator

type Generator struct {
	KnownTypes KnownTypes
	// contains filtered or unexported fields
}

func NewGenerator

func NewGenerator(plugin *protogen.Plugin) *Generator

func (*Generator) AddImpl

func (gen *Generator) AddImpl(name string, path protogen.GoImportPath)

func (*Generator) EnumNamed

func (gen *Generator) EnumNamed(typeName string) *protogen.EnumValue

func (*Generator) Error

func (gen *Generator) Error(err error, msgs ...string)

Error reports a problem, including an error, and exits the program.

func (*Generator) Fail

func (gen *Generator) Fail(msgs ...string)

Fail reports a problem and exits the program.

func (*Generator) Generate

func (gen *Generator) Generate()

func (*Generator) GenerateOnce

func (gen *Generator) GenerateOnce()

func (*Generator) GetImpl

func (gen *Generator) GetImpl(name string) protogen.GoIdent

func (*Generator) ObjectNamed

func (gen *Generator) ObjectNamed(typeName string) Object

type KnownTypes

type KnownTypes struct {
	EnumPacketType            *protogen.Enum
	EnumEndpointDataType      *protogen.Enum
	EnumMessageType           *protogen.Enum
	PacketEndpointMessageType *protogen.Message

	EndpointType               *protogen.Message
	EndpointImplSuffix         string
	EndpointDataMessageType    *protogen.Message
	EndpointVoidMessageType    *protogen.Message
	EndpointFailureMessageType *protogen.Message
}

func (KnownTypes) EndpointImpl

func (t KnownTypes) EndpointImpl() protogen.GoIdent

type KnownTypesOptions

type KnownTypesOptions struct {
	EnumPacketTypeName            string
	EnumEndpointDataTypeName      string
	EnumMessageTypeName           string
	EndpointMessagePacketTypeName string

	FormatterImplSuffix string
	ParseImplSuffix     string
	EndpointImplSuffix  string

	EndpointDataMessageTypeName    string
	EndpointVoidMessageTypeName    string
	EndpointFailureMessageTypeName string
}

type MessageExtension

type MessageExtension struct {
	GenerateEmpty                  bool
	GeneratePacketHelpers          bool
	GenerateEndpointMessageHelpers bool
	GenerateMessageHelpers         bool
	PacketType                     string
	EndpointDataType               string
	MessageType                    string
	GenerateErrorFn                bool
	GenerateEndpointHelpers        bool
	GenerateIoWriteTo              bool
	IsNegotiate                    bool
}

func GetMessageExtension

func GetMessageExtension(m proto.Message) MessageExtension

func (*MessageExtension) GetTypeOption

func (e *MessageExtension) GetTypeOption(gen *Generator) *protogen.EnumValue

type MessageFieldExtension

type MessageFieldExtension struct {
	*encoding.EncodingFieldOptions
}

func GetMessageFieldExtensionFor

func GetMessageFieldExtensionFor(m proto.Message) *MessageFieldExtension

type Object

type Object struct {
	protogen.GoIdent
	Desc      protoreflect.Descriptor
	TypeIdent protogen.GoIdent
}

Object is an interface abstracting the abilities shared by enums, messages, extensions and imported objects.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL