// 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. package ir import "cmd/compile/internal/types" // A Package holds information about the package being compiled. type Package struct { // Imports, listed in source order. // See golang.org/issue/31636. Imports []*types.Pkg // Init functions, listed in source order. Inits []*Func // Funcs contains all (instantiated) functions, methods, and // function literals to be compiled. Funcs []*Func // Externs holds constants, (non-generic) types, and variables // declared at package scope. Externs []*Name // AsmHdrDecls holds declared constants and struct types that should // be included in -asmhdr output. It's only populated when -asmhdr // is set. AsmHdrDecls []*Name // Cgo directives. CgoPragmas [][]string // Variables with //go:embed lines. Embeds []*Name // PluginExports holds exported functions and variables that are // accessible through the package plugin API. It's only populated // for -buildmode=plugin (i.e., compiling package main and -dynlink // is set). PluginExports []*Name }