ast.go
func (ps *printState) printOneInner(save *[]AST) {
	if len(ps.inner) == 0 {
		panic("printOneInner called with no inner types")
	}
	ln := len(ps.inner)
	a := ps.inner[ln-1]
	ps.inner = ps.inner[:ln-1]

	if save != nil {
		if _, ok := a.(*MethodWithQualifiers); ok {
			*save = append(*save, a)
			return
		}
	}

	if ip, ok := a.(innerPrinter); ok {
		ip.printInner(ps)
	} else {
		ps.print(a)
	}
}
func (ps *printState) printOneInner(save *[]AST) {
	if len(ps.inner) == 0 {
		panic("printOneInner called with no inner types")
	}
	ln := len(ps.inner)
	a := ps.inner[ln-1]
	ps.inner = ps.inner[:ln-1]

	if save != nil {
		if _, ok := a.(*MethodWithQualifiers); ok {
			*save = append(*save, a)
			return
		}
	}

	if ip, ok := a.(innerPrinter); ok {
		ip.printInner(ps)
	} else {
		ps.print(a)
	}
}
func ( ps * printState ) printOneInner ( save * [ ] AST ) { if len ( ps . inner ) == 0 { panic ( " " ) } ln := len ( ps . inner ) a := ps . inner [ ln - 1 ] ps . inner = ps . inner [ : ln - 1 ] if save != nil { if _ , ok := a . ( * MethodWithQualifiers ) ; ok { * save = append ( * save , a ) return } } if ip , ok := a . ( innerPrinter ) ; ok { ip . printInner ( ps ) } else { ps . print ( a ) } }
// Print the most recent inner type.  If save is not nil, only print
// prefixes.
Print the most recent inner type . If save is not nil only print prefixes .