// Code generated by "go test -run=Generate -write=all"; DO NOT EDIT.

// Copyright 2011 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 types

// A Map represents a map type.
type Map struct {
	key, elem Type
}

// NewMap returns a new map for the given key and element types.
func (,  Type) *Map {
	return &Map{key: , elem: }
}

// Key returns the key type of map m.
func ( *Map) () Type { return .key }

// Elem returns the element type of map m.
func ( *Map) () Type { return .elem }

func ( *Map) () Type { return  }
func ( *Map) () string   { return TypeString(, nil) }