mirror of https://go.googlesource.com/go
38 lines
1.0 KiB
Go
38 lines
1.0 KiB
Go
// Code generated by "go test -run=Generate -write=all"; DO NOT EDIT.
|
|
// Source: ../../cmd/compile/internal/types2/tuple.go
|
|
|
|
// 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 Tuple represents an ordered list of variables; a nil *Tuple is a valid (empty) tuple.
|
|
// Tuples are used as components of signatures and to represent the type of multiple
|
|
// assignments; they are not first class types of Go.
|
|
type Tuple struct {
|
|
vars []*Var
|
|
}
|
|
|
|
// NewTuple returns a new tuple for the given variables.
|
|
func NewTuple(x ...*Var) *Tuple {
|
|
if len(x) > 0 {
|
|
return &Tuple{vars: x}
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Len returns the number variables of tuple t.
|
|
func (t *Tuple) Len() int {
|
|
if t != nil {
|
|
return len(t.vars)
|
|
}
|
|
return 0
|
|
}
|
|
|
|
// At returns the i'th variable of tuple t.
|
|
func (t *Tuple) At(i int) *Var { return t.vars[i] }
|
|
|
|
func (t *Tuple) Underlying() Type { return t }
|
|
func (t *Tuple) String() string { return TypeString(t, nil) }
|