Documentation ¶
Index ¶
- Variables
- func AddCheck(checkFuncs ...CheckFunc) options.Option
- func AddParseFunc(parseDocs ...ParseFunc) options.Option
- func AddParseStruct(parseTag ...ParseStruct) options.Option
- func GoTypeToPB(s string) string
- func IsMappingKey(key string) bool
- func ParseGo(filepath string, options ...options.Option) (gparser.Parser, error)
- type CheckFunc
- type File
- type GoParsePB
- func (g *GoParsePB) AddMessages(messages ...*Message)
- func (g *GoParsePB) AddNotes(notes ...*Note)
- func (g *GoParsePB) AddServers(servers ...*Server)
- func (g *GoParsePB) Generate() string
- func (g *GoParsePB) Messages() []*Message
- func (g *GoParsePB) Notes() []*Note
- func (g *GoParsePB) PackageName() string
- func (g *GoParsePB) PileDismantle(clearCode string) error
- func (g *GoParsePB) PileDriving(functionName string, startNotes, endNotes string, insertCode string) error
- func (g *GoParsePB) Servers() []*Server
- type Message
- type Note
- type ParseFunc
- type ParseStruct
- type Server
Constants ¶
This section is empty.
Variables ¶
View Source
var GoToPBMapping = map[string]string{
"int": "int64",
"float": "double",
"int16": "int32",
"float16": "double",
"float64": "double",
"float32": "float",
"int32": "int32",
"int64": "int64",
"uint32": "uint32",
"uint64": "uint64",
"bool": "bool",
"string": "string",
"[]byte": "bytes",
}
Functions ¶
func AddParseFunc ¶
AddParseFunc 添加自定义解析Func
func AddParseStruct ¶
func AddParseStruct(parseTag ...ParseStruct) options.Option
AddParseStruct 添加自定义解析struct内容
Types ¶
type File ¶
type File struct { Tag string // Tag: 字段的tag标记 Name string // Name: 字段名 TypeGo string // TypeGo: 字段的原始类型 TypePB string // TypePB: 字段在proto中的类型 }
File 字段信息
type GoParsePB ¶
type GoParsePB struct { PkgName string // PkgName: 包名 FilePath string // FilePath: 文件的路径 Server []*Server // Server: 解析出来function的信息 Message []*Message // Message: 解析出struct的信息 Note []*Note // Note: 其他注释 Metas map[string]string // Metas: 其他元信息 ParseStructs []ParseStruct ParseFuncS []ParseFunc CheckFuncS []CheckFunc }
GoParsePB .go 文件转成 pb文件
func CreateGoParsePB ¶
CreateGoParsePB 创建 GoParsePB Metas
func (*GoParsePB) AddMessages ¶
AddMessages 添加message信息
func (*GoParsePB) AddServers ¶
AddServers 添加server信息
func (*GoParsePB) PileDismantle ¶
type Message ¶
type Message struct { Pos int // Pos: struct的起始字节位置 End int // End: struct的结束字节为止 Name string // Name: struct name Files []*File // Files: 字段信息 Notes []*ast.Comment // Notes: struct的注释信息,用于埋点打桩 }
Message Message对应struct
type ParseStruct ¶
type ParseStruct func(file *File)
type Server ¶
type Server struct { Pos int // Pos: 函数的起始字节位置 End int // End: 函数的结束字节为止 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 []*ast.Comment // Notes: 函数中的注释信息,用于埋点打桩 }
Server Server对应Go func
Click to show internal directories.
Click to hide internal directories.