Documentation ¶
Index ¶
- func GetFieldKey(k Unique, fieldAddr interface{}) string
- func GetUnique(k Unique) string
- func SetUnique(k Unique, ctx UniqueContext)
- type Any
- type ArrayOption
- type Bool
- type BoolOption
- type Bytes
- type Comment
- type EmbeddedOption
- type Enum
- type EnumOption
- type EnumValue
- type Extension
- type ExtensionField
- type File
- type FileManager
- type Fixed32
- type Fixed64
- type Float32
- type Float64
- type FloatOption
- type Hashable
- type Import
- type Int32
- type Int64
- type IntOption
- type Map
- type MapOption
- type Message
- type MessageField
- type Method
- type MethodOption
- type MethodOptionValue
- type Node
- type OneOf
- type OneOfBranch
- type Option
- type OptionValue
- type Optional
- type Printer
- type Repeated
- type ScalarNode
- type Service
- type Sfixed32
- type Sfixed64
- type Sint32
- type Sint64
- type Stream
- type String
- type StringOption
- type Type
- type Uint32
- type Uint64
- type UintOption
- type Unique
- type UniqueContext
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetFieldKey ¶ added in v0.7.0
GetFieldKey получает ключ для поля данного k
func SetUnique ¶ added in v0.10.0
func SetUnique(k Unique, ctx UniqueContext)
SetUnique устанавливает уникальное в рамках UniqueContext значение для данного Unique
Types ¶
type Any ¶
type Any struct { File *File // contains filtered or unexported fields }
Any представление типа golang.protobuf.Any
type ArrayOption ¶ added in v0.15.0
type ArrayOption struct { Value []OptionValue // contains filtered or unexported fields }
ArrayOption branch of OptionValue
type Bool ¶
type Bool struct {
// contains filtered or unexported fields
}
Bool представление булевского типа
type BoolOption ¶ added in v0.15.0
type BoolOption struct { Value bool // contains filtered or unexported fields }
BoolOption branch of OptionValue
func (*BoolOption) String ¶ added in v0.15.0
func (o *BoolOption) String() string
type Bytes ¶
type Bytes struct {
// contains filtered or unexported fields
}
Bytes представление типа bytes
type EmbeddedOption ¶ added in v0.15.0
type EmbeddedOption struct { Value string // contains filtered or unexported fields }
EmbeddedOption представление встроенной опции
type Enum ¶
type Enum struct { File *File ParentMsg *Message Name string Values []*EnumValue // contains filtered or unexported fields }
Enum представление типа enum
type EnumOption ¶ added in v0.15.0
type EnumOption struct { Value *EnumValue // contains filtered or unexported fields }
EnumOption представление опций типа Enum
type EnumValue ¶
type EnumValue struct { Name string Integer int Options []*Option // contains filtered or unexported fields }
EnumValue представление поля для Enum-а
type Extension ¶ added in v0.10.0
type Extension struct { File *File ParentMsg *Message Name string Fields []*ExtensionField Types []Type // contains filtered or unexported fields }
Extension представление extension
func MessageToExtension ¶ added in v0.10.0
MessageToExtension копирует Message в Extension с сохранением всей информации
type ExtensionField ¶ added in v0.10.0
type ExtensionField struct { Name string Sequence int Type Type Options []*Option // contains filtered or unexported fields }
ExtensionField представление поля extension-а
type File ¶
type File struct { Name string Package string Syntax string Imports []*Import Types []Type Extensions []*Extension Services []*Service Options []*Option // contains filtered or unexported fields }
File представление для файла
type FileManager ¶ added in v0.13.2
type FileManager interface { // Create возвращаем пару writer и функцию закрытия файла вместо одного io.WriteClose для удобства в тестах // Плюс, этот интерфейс будет использоваться только внутри приложения Create(name string) (writer io.Writer, closer func() error, err error) }
FileManager работа с записываемыми файлами
func NewFileManager ¶ added in v0.13.2
func NewFileManager(root string) FileManager
NewFileManager реализация управления файлами на уровне файловой системы
type Fixed32 ¶
type Fixed32 struct {
// contains filtered or unexported fields
}
Fixed32 представление типа fixed32
type Fixed64 ¶
type Fixed64 struct {
// contains filtered or unexported fields
}
Fixed64 представление типа fixed64
type Float32 ¶
type Float32 struct {
// contains filtered or unexported fields
}
Float32 представление типа float
type Float64 ¶
type Float64 struct {
// contains filtered or unexported fields
}
Float64 представление типа double
type FloatOption ¶ added in v0.15.0
type FloatOption struct { Value float64 // contains filtered or unexported fields }
FloatOption branch of OptionValue
func (*FloatOption) String ¶ added in v0.15.0
func (o *FloatOption) String() string
type Hashable ¶
type Hashable interface { ScalarNode // contains filtered or unexported methods }
Hashable типы могущие являться ключами словарей
type Int32 ¶
type Int32 struct {
// contains filtered or unexported fields
}
Int32 представление типа int32
type Int64 ¶
type Int64 struct {
// contains filtered or unexported fields
}
Int64 представление типа int64
type IntOption ¶ added in v0.15.0
type IntOption struct { Value int64 // contains filtered or unexported fields }
IntOption branch of OptionValue
type MapOption ¶ added in v0.15.0
type MapOption struct { Value map[string]OptionValue // contains filtered or unexported fields }
MapOption branch of OptionValue
type Message ¶
type Message struct { File *File ParentMsg *Message Name string Fields []*MessageField Types []Type Options []*Option // contains filtered or unexported fields }
Message представление message
type MessageField ¶
type MessageField struct { Name string Sequence int Type Type Options []*Option // contains filtered or unexported fields }
MessageField представление поля message-а
type Method ¶
type Method struct { File *File Service *Service Name string Input Type Output Type Options []*MethodOption // contains filtered or unexported fields }
Method представление для метода
type MethodOption ¶
type MethodOption struct { Name string Extension *Extension Values []*MethodOptionValue // contains filtered or unexported fields }
MethodOption представление для опции метода
type MethodOptionValue ¶ added in v0.7.0
type MethodOptionValue struct { Name string Value string // contains filtered or unexported fields }
MethodOptionValue представление для значения опции метода
type Node ¶
type Node interface { Unique // contains filtered or unexported methods }
Node представление базовой ноды
type OneOf ¶
type OneOf struct { ParentMsg *Message Name string Branches []*OneOfBranch // contains filtered or unexported fields }
OneOf представление для oneof поля message-а
type OneOfBranch ¶
type OneOfBranch struct { Name string Type Type ParentOO *OneOf Sequence int Options []*Option // contains filtered or unexported fields }
OneOfBranch представление для ветви
type Option ¶ added in v0.7.0
type Option struct { Name string Value OptionValue Extension *Extension // contains filtered or unexported fields }
Option опция
type OptionValue ¶
type OptionValue interface { Unique // contains filtered or unexported methods }
OptionValue значение опции
type Optional ¶
type Optional struct { Type Type // contains filtered or unexported fields }
Optional представление для опциональных полей
type Printer ¶ added in v0.13.2
type Printer struct {
// contains filtered or unexported fields
}
Printer печать файлов
func NewPrinter ¶ added in v0.13.2
func NewPrinter(fm FileManager) *Printer
NewPrinter конструктор принтера файлов
type Repeated ¶
type Repeated struct { Type Type // contains filtered or unexported fields }
Repeated представление для полей с repeeated
type ScalarNode ¶
type ScalarNode interface { Type // contains filtered or unexported methods }
ScalarNode скалярные типы
type Service ¶
type Service struct { File *File Name string Methods []*Method // contains filtered or unexported fields }
Service представление для сервисов
type Sfixed32 ¶
type Sfixed32 struct {
// contains filtered or unexported fields
}
Sfixed32 представление для типа sfixed32
type Sfixed64 ¶
type Sfixed64 struct {
// contains filtered or unexported fields
}
Sfixed64 представление для типа sfixed64
type Sint32 ¶
type Sint32 struct {
// contains filtered or unexported fields
}
Sint32 представление для типа sint32
type Sint64 ¶
type Sint64 struct {
// contains filtered or unexported fields
}
Sint64 представление типа sint64
type Stream ¶
type Stream struct { Type Type // contains filtered or unexported fields }
Stream представление для stream-аргументов и возвращаемых значений метода
type String ¶
type String struct {
// contains filtered or unexported fields
}
String представление для стрового типа
type StringOption ¶ added in v0.15.0
type StringOption struct { Value string // contains filtered or unexported fields }
StringOption branch of OptionValue
func (*StringOption) String ¶ added in v0.15.0
func (o *StringOption) String() string
type Type ¶
type Type interface { Node // contains filtered or unexported methods }
Type представление типа
type Uint32 ¶
type Uint32 struct {
// contains filtered or unexported fields
}
Uint32 представление для типа uint32
type Uint64 ¶
type Uint64 struct {
// contains filtered or unexported fields
}
Uint64 представление для типа uint64
type UintOption ¶ added in v0.15.0
type UintOption struct { Value uint64 // contains filtered or unexported fields }
UintOption branch of OptionValue
func (*UintOption) String ¶ added in v0.15.0
func (o *UintOption) String() string
type Unique ¶ added in v0.7.0
type Unique interface {
// contains filtered or unexported methods
}
Unique интерфейс для уникализации инстансов в AST привязывающий к данному объекту некое уникальное для контекстного множества значение
type UniqueContext ¶ added in v0.7.0
type UniqueContext map[string]struct{}
UniqueContext контекст для создания уникальных значений
Source Files ¶
- any.go
- ast.go
- bool.go
- bytes.go
- comment.go
- enum.go
- extension.go
- file.go
- fixed32.go
- fixed64.go
- float32.go
- float64.go
- import.go
- int32.go
- int64.go
- map.go
- message.go
- method.go
- oneof.go
- option.go
- optional.go
- printer.go
- repeated.go
- service.go
- sfixed32.go
- sfixed64.go
- sint32.go
- sint64.go
- stream.go
- string.go
- uint32.go
- uint64.go
- unique.go