github.com/shogo82148/std@v1.22.1-0.20240327122250-4e474527810c/go/importer/importer.go (about) 1 // Copyright 2015 The Go Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 // パッケージインポーターは、エクスポートデータのインポートを提供します。 6 package importer 7 8 import ( 9 "github.com/shogo82148/std/go/token" 10 "github.com/shogo82148/std/go/types" 11 "github.com/shogo82148/std/io" 12 ) 13 14 // Lookup 関数は、与えられたインポートパスに対してパッケージデータにアクセスするためのリーダー、または一致するパッケージが見つからない場合はエラーを返します。 15 type Lookup func(path string) (io.ReadCloser, error) 16 17 // ForCompilerは、インストールされたパッケージからインポートするためのImporterを返します。 18 // コンパイラの引数が「gc」または「gccgo」の場合、またはコンパイラの引数が「source」の場合はソースから直接インポートするためのものです。 19 // この後者の場合、純粋なGoソースコードに完全に定義されていない場合には、インポートが失敗することがあります 20 // (パッケージAPIがcgoで定義されたエンティティに依存する場合、型チェッカはそれにアクセスできません)。 21 // 結果のImporterがインポートパスの解決に必要な場合、lookup関数が呼び出されます。 22 // このモードでは、インポータには正規のインポートパス(相対的または絶対のものではない)でのみ呼び出されるものとします。 23 // 正規のインポートパスへの変換は、インポータのクライアントによって行われているものとします。 24 // 正しいモジュール対応動作のためには、lookup関数を提供する必要があります。 25 // Deprecated: もしlookupがnilの場合、後方互換性のためにインポータは$GOPATHワークスペースでインポートを解決しようとします。 26 func ForCompiler(fset *token.FileSet, compiler string, lookup Lookup) types.Importer 27 28 // 新しいFileSetで [ForCompiler] を呼び出します。 29 // 30 // Deprecated: importerによって作成されたオブジェクトの位置を 31 // FileSetで設定するために [ForCompiler] を使用してください。 32 func For(compiler string, lookup Lookup) types.Importer 33 34 // Defaultは実行バイナリをビルドしたコンパイラのためのImporterを返します。 35 // もし利用可能であれば、結果は [types.ImporterFrom] を実装します。 36 func Default() types.Importer