github.com/bir3/gocompiler@v0.9.2202/src/cmd/gocmd/internal/list/context.go (about)

     1  // Copyright 2014 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  package list
     6  
     7  import (
     8  	"github.com/bir3/gocompiler/src/go/build"
     9  )
    10  
    11  type Context struct {
    12  	GOARCH		string		`json:",omitempty"`	// target architecture
    13  	GOOS		string		`json:",omitempty"`	// target operating system
    14  	GOROOT		string		`json:",omitempty"`	// Go root
    15  	GOPATH		string		`json:",omitempty"`	// Go path
    16  	CgoEnabled	bool		`json:",omitempty"`	// whether cgo can be used
    17  	UseAllFiles	bool		`json:",omitempty"`	// use files regardless of //go:build lines, file names
    18  	Compiler	string		`json:",omitempty"`	// compiler to assume when computing target paths
    19  	BuildTags	[]string	`json:",omitempty"`	// build constraints to match in +build lines
    20  	ToolTags	[]string	`json:",omitempty"`	// toolchain-specific build constraints
    21  	ReleaseTags	[]string	`json:",omitempty"`	// releases the current release is compatible with
    22  	InstallSuffix	string		`json:",omitempty"`	// suffix to use in the name of the install dir
    23  }
    24  
    25  func newContext(c *build.Context) *Context {
    26  	return &Context{
    27  		GOARCH:		c.GOARCH,
    28  		GOOS:		c.GOOS,
    29  		GOROOT:		c.GOROOT,
    30  		GOPATH:		c.GOPATH,
    31  		CgoEnabled:	c.CgoEnabled,
    32  		UseAllFiles:	c.UseAllFiles,
    33  		Compiler:	c.Compiler,
    34  		BuildTags:	c.BuildTags,
    35  		ToolTags:	c.ToolTags,
    36  		ReleaseTags:	c.ReleaseTags,
    37  		InstallSuffix:	c.InstallSuffix,
    38  	}
    39  }