ast

package
v0.10.2 Latest Latest
Warning

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

Go to latest
Published: Jul 31, 2019 License: MIT Imports: 6 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetFieldKey added in v0.7.0

func GetFieldKey(k Unique, fieldAddr interface{}) string

GetFieldKey получает ключ для поля данного k

func GetUnique added in v0.10.0

func GetUnique(k Unique) string

GetUnique получает ключ для данного k

func SetUnique added in v0.10.0

func SetUnique(k Unique, ctx UniqueContext)

SetUnique устанавливает уникальное в рамках UniqueContext значение для данного Unique

Types

type Any

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

Any представление типа golang.protobuf.Any

type Bool

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

Bool представление булевского типа

type Bytes

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

Bytes представление типа bytes

type Comment added in v0.7.0

type Comment struct {
	Value string
	// contains filtered or unexported fields
}

Comment представление комментария

type Enum

type Enum struct {
	File      *File
	ParentMsg *Message

	Name   string
	Values []*EnumValue
	// contains filtered or unexported fields
}

Enum представление типа enum

type EnumValue

type EnumValue struct {
	Name    string
	Integer int
	Options []*Option
	// contains filtered or unexported fields
}

EnumValue представление поля

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

func MessageToExtension(msg *Message) *Extension

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

	Imports    []*Import
	Types      []Type
	Extensions []*Extension
	Services   []*Service
	Options    []*Option
	// contains filtered or unexported fields
}

File представление для файла

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 Hashable

type Hashable interface {
	ScalarNode
	// contains filtered or unexported methods
}

Hashable типы могущие являться ключами словарей

type Import added in v0.7.0

type Import struct {
	Path string
	// contains filtered or unexported fields
}

Import представление для импортов

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 Map

type Map struct {
	KeyType   Hashable
	ValueType Type
	// contains filtered or unexported fields
}

Map представление типа map<KeyType, ValueType>

type Message

type Message struct {
	File      *File
	ParentMsg *Message

	Name   string
	Fields []*MessageField
	Types  []Type
	// 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
	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
	Sequence int
	Options  []*Option
	// contains filtered or unexported fields
}

OneOfBranch представление для ветви

type Option added in v0.7.0

type Option struct {
	Name  string
	Value string
	// contains filtered or unexported fields
}

Option опция поля

type Optional

type Optional struct {
	Type Type
	// contains filtered or unexported fields
}

Optional представление для опциональных полей

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 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 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 контекст для создания уникальных значений

Jump to

Keyboard shortcuts

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