func (p *Program) newPackage(pkg *build.Package) *Package {
	return &Package{
		Program: p,
		Package: pkg,
		Imports: make(map[string]*Package, len(pkg.Imports)),
		Info: types.Info{
			Types:      make(map[ast.Expr]types.TypeAndValue),
			Defs:       make(map[*ast.Ident]types.Object),
			Uses:       make(map[*ast.Ident]types.Object),
			Implicits:  make(map[ast.Node]types.Object),
			Scopes:     make(map[ast.Node]*types.Scope),
			Selections: make(map[*ast.SelectorExpr]*types.Selection),
		},
	}
}
// newPackage instantiates a new *Package object with initialized members.
newPackage instantiates a new *Package object with initialized members.
// newPackage instantiates a new * Package object with initialized members .
func (p *Program) newPackage(pkg *build.Package) *Package {
	return &Package{
		Program: p,
		Package: pkg,
		Imports: make(map[string]*Package, len(pkg.Imports)),
		Info: types.Info{
			Types:      make(map[ast.Expr]types.TypeAndValue),
			Defs:       make(map[*ast.Ident]types.Object),
			Uses:       make(map[*ast.Ident]types.Object),
			Implicits:  make(map[ast.Node]types.Object),
			Scopes:     make(map[ast.Node]*types.Scope),
			Selections: make(map[*ast.SelectorExpr]*types.Selection),
		},
	}
}
func ( p * Program ) newPackage ( pkg * build . Package ) * Package { return & Package { Program : p , Package : pkg , Imports : make ( map [ string ] * Package , len ( pkg . Imports ) ) , Info : types . Info { Types : make ( map [ ast . Expr ] types . TypeAndValue ) , Defs : make ( map [ * ast . Ident ] types . Object ) , Uses : make ( map [ * ast . Ident ] types . Object ) , Implicits : make ( map [ ast . Node ] types . Object ) , Scopes : make ( map [ ast . Node ] * types . Scope ) , Selections : make ( map [ * ast . SelectorExpr ] * types . Selection ) , } , } }
newPackage instantiates a new *Package object with initialized members.
newPackage instantiates a new * Package object with initialized members .