Implement parsing methods
This commit is contained in:
20
main.go
20
main.go
@@ -138,6 +138,24 @@ func ParseFile(filename string) (*Class, error) {
|
|||||||
res.Fields = append(res.Fields, property)
|
res.Fields = append(res.Fields, property)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
codeblocks.ChildrenFiltered("div.function").Each(func(i int, s *goquery.Selection) {
|
||||||
|
method := Method{}
|
||||||
|
method.Name = strings.TrimSpace(s.AttrOr("id", ""))
|
||||||
|
method.Comment = strings.TrimSpace(s.Find("span.comment").Text())
|
||||||
|
|
||||||
|
types := s.Find("span.type")
|
||||||
|
parameters := s.Find("span.parameter")
|
||||||
|
types.Each(func(i int, s *goquery.Selection) {
|
||||||
|
param := Param{}
|
||||||
|
param.Name = strings.TrimSpace(parameters.Eq(i).Text())
|
||||||
|
param.Type = strings.TrimSpace(types.Eq(i).Text())
|
||||||
|
param.Type = MapType(param.Type)
|
||||||
|
method.Params = append(method.Params, param)
|
||||||
|
})
|
||||||
|
|
||||||
|
res.Methods = append(res.Methods, method)
|
||||||
|
})
|
||||||
|
|
||||||
spew.Dump(res)
|
spew.Dump(res)
|
||||||
|
|
||||||
return &res, nil
|
return &res, nil
|
||||||
@@ -151,6 +169,8 @@ func MapType(t string) string {
|
|||||||
return "number"
|
return "number"
|
||||||
case "float":
|
case "float":
|
||||||
return "number"
|
return "number"
|
||||||
|
case "double":
|
||||||
|
return "number"
|
||||||
case "bool":
|
case "bool":
|
||||||
return "boolean"
|
return "boolean"
|
||||||
case "table_t":
|
case "table_t":
|
||||||
|
|||||||
Reference in New Issue
Block a user