// Copyright 2021 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package resolution func f /* =@fdecl */(n /* =@narg */ ast.Node) bool { if n /* =@ninit */, ok /* =@ok */ := n /* @narg */ .(*ast.SelectorExpr); ok /* @ok */ { sel = n /* @ninit */ } } type c /* =@cdecl */ map[token.Pos]resolvedObj func (v /* =@vdecl */ c /* @cdecl */) Visit(node /* =@nodearg */ ast.Node) (w /* =@w */ ast.Visitor) {} const ( basic /* =@basic */ = iota labelOk // =@labelOk ) type T /* =@T */ int func _(count /* =@count */ T /* @T */) { x /* =@x1 */ := c /* @cdecl */{} switch x /* =@x2 */ := x /* @x1 */; x /* =@x3 */ := x /* @x2 */.(type) { case c /* @cdecl */: default: } loop /* =@loop */: for { if true { break loop /* @loop */ } } select { case err /* =@err1 */ := <-_: return err /* @err1 */ case err /* =@err2 */ := <-_: return err /* @err2 */ } _ = func(p1 /* =@p1 */ int, p2 /* =@p2 */ p1) { closed /* =@closed */ := p1 // @p1 shadowed /* =@shadowed1 */ := p2 // @p2 _ = func(shadowed /* =@shadowed2 */ p2 /* @p2 */) { closed /* @closed */ = 1 shadowed /* @shadowed2 */ = 2 } } } func (r /* =@r */ c /* @cdecl */) m(_ r) c /* @cdecl */ { return r /* @r */ } var cycle /* =@cycle */ = cycle /* @cycle */ + 1 type chain /* =@chain */ struct { next /* =@next */ *chain /* @chain */ } func recursive /* =@recursive */() { recursive /* @recursive */ () }