func (p *parser) parseImportSpec(n *parse.Node) *ast.ImportSpec { spec := ast.ImportSpec{} if n.Child(0).Is(importPath) { spec.Path = p.parseBasicLit(n.Child(0)) } else { name := n.Child(0) switch name.Rule() { case identifier: spec.Name = p.parseIdent(name) case term("."): spec.Name = &ast.Ident{ NamePos: token.Pos(name.Pos()), Name: ".", } } spec.Path = p.parseBasicLit(n.Child(1)) } return &spec }