func (n *VisibilityAttr) Children() []Node {
	return n.ChildNodes
}
Children returns the child nodes. If this node does not have any children or
this node does not support children it will always return an empty slice.
package ast
type VisibilityAttr struct {
	Addr        Address
	Pos         Position
	ChildNodes  []Node
	IsDefault   bool
	IsInherited bool
	IsHidden    bool
	IsImplicit  bool
}
func parseVisibilityAttr(line string) *VisibilityAttr {
	groups := groupsFromRegex(
		`<(?P<position>.*)>
		(?P<inherited> Inherited)?
		(?P<implicit> Implicit)?
		(?P<default> Default)?
		(?P<hidden> Hidden)?
		`,
		line,
	)
	return &VisibilityAttr{
		Addr:        ParseAddress(groups["address"]),
		Pos:         NewPositionFromString(groups["position"]),
		ChildNodes:  []Node{},
		IsDefault:   len(groups["default"]) > 0,
		IsInherited: len(groups["inherited"]) > 0,
		IsHidden:    len(groups["hidden"]) > 0,
		IsImplicit:  len(groups["implicit"]) > 0,
	}
}
func (n *VisibilityAttr) AddChild(node Node) {
	n.ChildNodes = append(n.ChildNodes, node)
}
func (n *VisibilityAttr) Address() Address {
	return n.Addr
}