aboutsummaryrefslogtreecommitdiff
path: root/src/go/types/map.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/go/types/map.go')
-rw-r--r--src/go/types/map.go24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/go/types/map.go b/src/go/types/map.go
new file mode 100644
index 0000000000..01e13b214e
--- /dev/null
+++ b/src/go/types/map.go
@@ -0,0 +1,24 @@
+// 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 NewMap(key, elem Type) *Map {
+ return &Map{key: key, elem: elem}
+}
+
+// Key returns the key type of map m.
+func (m *Map) Key() Type { return m.key }
+
+// Elem returns the element type of map m.
+func (m *Map) Elem() Type { return m.elem }
+
+func (t *Map) Underlying() Type { return t }
+func (t *Map) String() string { return TypeString(t, nil) }