Source file src/go/types/chan.go

     1  // Code generated by "go test -run=Generate -write=all"; DO NOT EDIT.
     2  // Source: ../../cmd/compile/internal/types2/chan.go
     3  
     4  // Copyright 2011 The Go Authors. All rights reserved.
     5  // Use of this source code is governed by a BSD-style
     6  // license that can be found in the LICENSE file.
     7  
     8  package types
     9  
    10  // A Chan represents a channel type.
    11  type Chan struct {
    12  	dir  ChanDir
    13  	elem Type
    14  }
    15  
    16  // A ChanDir value indicates a channel direction.
    17  type ChanDir int
    18  
    19  // The direction of a channel is indicated by one of these constants.
    20  const (
    21  	SendRecv ChanDir = iota
    22  	SendOnly
    23  	RecvOnly
    24  )
    25  
    26  // NewChan returns a new channel type for the given direction and element type.
    27  func NewChan(dir ChanDir, elem Type) *Chan {
    28  	return &Chan{dir: dir, elem: elem}
    29  }
    30  
    31  // Dir returns the direction of channel c.
    32  func (c *Chan) Dir() ChanDir { return c.dir }
    33  
    34  // Elem returns the element type of channel c.
    35  func (c *Chan) Elem() Type { return c.elem }
    36  
    37  func (c *Chan) Underlying() Type { return c }
    38  func (c *Chan) String() string   { return TypeString(c, nil) }
    39  

View as plain text