func (pp *primitiveParser) visitStruct(reachable map[string]*data, k string, visible bool) {
	if _, ok := reachable[k]; ok { // already included
		return
	}

	s := pp.structmap[k]

	d := data{
		Name: k,
		Byte: pp.typedecls[pp.fset.Position(s.Pos()).Line],
	}
	d.Immutable, d.Version, d.Fields = pp.gatherFields(reachable, s, visible)
	d.Visible = visible || d.Immutable

	sort.Sort(sortFields(d.Fields))
	reachable[k] = &d
}
// visitStruct inspects the struct with the given name, parsing out its
// field definitions and mutability state.
visitStruct inspects the struct with the given name, parsing out its
field definitions and mutability state.
// visitStruct inspects the struct with the given name parsing out its // field definitions and mutability state .
func (pp *primitiveParser) visitStruct(reachable map[string]*data, k string, visible bool) {
	if _, ok := reachable[k]; ok { 
		return
	}
	s := pp.structmap[k]
	d := data{
		Name: k,
		Byte: pp.typedecls[pp.fset.Position(s.Pos()).Line],
	}
	d.Immutable, d.Version, d.Fields = pp.gatherFields(reachable, s, visible)
	d.Visible = visible || d.Immutable
	sort.Sort(sortFields(d.Fields))
	reachable[k] = &d
}
func ( pp * primitiveParser ) visitStruct ( reachable map [ string ] * data , k string , visible bool ) { if _ , ok := reachable [ k ] ; ok { return } s := pp . structmap [ k ] d := data { Name : k , Byte : pp . typedecls [ pp . fset . Position ( s . Pos ( ) ) . Line ] , } d . Immutable , d . Version , d . Fields = pp . gatherFields ( reachable , s , visible ) d . Visible = visible || d . Immutable sort . Sort ( sortFields ( d . Fields ) ) reachable [ k ] = & d }
visitStruct inspects the struct with the given name, parsing out its
field definitions and mutability state.
visitStruct inspects the struct with the given name parsing out its field definitions and mutability state .
// already included