// Copyright 2020 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. // This file implements the (temporary) plumbing to get importing to work. package types2_test import ( gcimporter "cmd/compile/internal/importer" "cmd/compile/internal/types2" "io" ) func defaultImporter() types2.Importer { return &gcimports{ packages: make(map[string]*types2.Package), } } type gcimports struct { packages map[string]*types2.Package lookup func(path string) (io.ReadCloser, error) } func (m *gcimports) Import(path string) (*types2.Package, error) { return m.ImportFrom(path, "" /* no vendoring */, 0) } func (m *gcimports) ImportFrom(path, srcDir string, mode types2.ImportMode) (*types2.Package, error) { if mode != 0 { panic("mode must be 0") } return gcimporter.Import(m.packages, path, srcDir, m.lookup) }