cutego/internal/binding/parser/function.go
2016-12-11 21:03:06 +01:00

51 lines
1.4 KiB
Go
Executable file

package parser
import "strings"
type Function struct {
Name string `xml:"name,attr"`
Fullname string `xml:"fullname,attr"`
Href string `xml:"href,attr"`
Status string `xml:"status,attr"`
Access string `xml:"access,attr"`
Filepath string `xml:"filepath,attr"`
Virtual string `xml:"virtual,attr"`
Meta string `xml:"meta,attr"`
Static bool `xml:"static,attr"`
Overload bool `xml:"overload,attr"`
OverloadNumber string `xml:"overload-number,attr"`
Output string `xml:"type,attr"`
Signature string `xml:"signature,attr"`
Parameters []*Parameter `xml:"parameter"`
Brief string `xml:"brief,attr"`
SignalMode string
TemplateModeJNI string
Default bool
TmpName string
Export bool
NeedsFinalizer bool
Container string
TemplateModeGo string
Child *Function
NonMember bool
NoMocDeduce bool
PureBaseFunction bool
}
type Parameter struct {
Name string `xml:"name,attr"`
Value string `xml:"left,attr"`
}
func (f *Function) Class() (*Class, bool) {
var class, exist = CurrentState.ClassMap[f.ClassName()]
return class, exist
}
func (f *Function) ClassName() string {
var s = strings.Split(f.Fullname, "::")
if len(s) == 3 {
return s[1]
}
return s[0]
}