Documentation ¶
Index ¶
- Variables
- func AddParseMessage(parseMessages ...ParseMessage) options.Option
- func AddParseService(parseServices ...ParseService) options.Option
- func ParsePb(filepath string, options ...options.Option) (parser.Parser, error)
- func PbTypeToGo(s string) string
- type Enum
- type EnumElement
- type File
- type Message
- type Note
- type ParseMessage
- type ParseService
- type PbParseGo
- type Server
Constants ¶
This section is empty.
Variables ¶
View Source
var PbToGoMapping = map[string]string{
"double": "float64",
"float": "float32",
"int32": "int32",
"uint32": "uint32",
"uint64": "uint64",
"sint32": "int32",
"sint64": "int64",
"fixed32": "uint32",
"fixed64": "uint64",
"sfixed32": "int32",
"sfixed64": "int64",
"bool": "bool",
"string": "string",
"bytes": "[]byte",
}
Functions ¶
func AddParseMessage ¶
func AddParseMessage(parseMessages ...ParseMessage) options.Option
AddParseMessage 添加自定义解析message
func AddParseService ¶
func AddParseService(parseServices ...ParseService) options.Option
AddParseService 添加自定义解析service
Types ¶
type Enum ¶
type Enum struct { Offset int // Offset: 函数起始位置 Name string // Name: 类型名称 Elements map[string]*EnumElement }
type EnumElement ¶
type File ¶
type File struct { Name string // Name: 字段名 TypeGo string // TypeGo: 字段的原始类型 TypePB string // TypePB: 字段在proto中的类型 }
File 字段信息
type Message ¶
type Message struct { Offset int // Offset: message起始点 Name string // Name: struct name Files []*File // Files: 字段信息 Notes []*proto.Comment // Notes: struct的注释信息,用于埋点打桩 }
Message Message对应struct
func CreateMessage ¶
type ParseMessage ¶
type ParseMessage func(m *Message)
type ParseService ¶
type ParseService func(server *Server)
type PbParseGo ¶
type PbParseGo struct { PkgName string // PkgName: 包名 FilePath string // FilePath: 文件的路径 Server map[string]*Server // Server: 服务器信息 Message map[string]*Message // Message: 消息信息 Note map[string]*Note // Note: 注释信息 Enums map[string]*Enum // Enums: 枚举类型 //Server []*Server // Server: 解析出来function的信息 //Message []*Message // Message: 解析出struct的信息 //Note []*Note // Note: 其他注释 //Enums []*Enum // Enum: 解析出enum的信息 Metas map[string]string // Metas: 其他元信息 ParseMessages []ParseMessage ParseServices []ParseService }
func (*PbParseGo) AddMessages ¶
AddMessages 添加message信息
func (*PbParseGo) AddServers ¶
AddServers 添加server信息
func (*PbParseGo) PackageName ¶
type Server ¶
type Server struct { Offset int // Offset: 函数起始位置 Name string // Name: 函数名 ServerName string // ServerName: server name 通过 parseFunc 绑定 Method string // Method: method 通过 parseFunc 绑定 Router string // Router: router 通过 parseFunc 绑定 InputParameter string // InputParameter: 入参 OutputParameter string // OutputParameter: 出参 Doc []string // Doc: 函数注释信息,可以通过自定义的 parseFunc 去进行解析 Notes []*proto.Comment // Notes: 函数中的注释信息,用于埋点打桩 }
Click to show internal directories.
Click to hide internal directories.