...

Source file src/pkg/cmd/compile/internal/gc/bimport.go

     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	package gc
     6	
     7	import (
     8		"cmd/compile/internal/types"
     9		"cmd/internal/src"
    10	)
    11	
    12	// numImport tracks how often a package with a given name is imported.
    13	// It is used to provide a better error message (by using the package
    14	// path to disambiguate) if a package that appears multiple times with
    15	// the same name appears in an error message.
    16	var numImport = make(map[string]int)
    17	
    18	func idealType(typ *types.Type) *types.Type {
    19		switch typ {
    20		case types.Idealint, types.Idealrune, types.Idealfloat, types.Idealcomplex:
    21			// canonicalize ideal types
    22			typ = types.Types[TIDEAL]
    23		}
    24		return typ
    25	}
    26	
    27	func npos(pos src.XPos, n *Node) *Node {
    28		n.Pos = pos
    29		return n
    30	}
    31	
    32	func builtinCall(op Op) *Node {
    33		return nod(OCALL, mkname(builtinpkg.Lookup(goopnames[op])), nil)
    34	}
    35	

View as plain text