// Copyright 2015 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 ssa type ID int32 // idAlloc provides an allocator for unique integers. type idAlloc struct { last ID } // get allocates an ID and returns it. IDs are always > 0. func (a *idAlloc) get() ID { x := a.last x++ if x == 1<<31-1 { panic("too many ids for this function") } a.last = x return x } // num returns the maximum ID ever returned + 1. func (a *idAlloc) num() int { return int(a.last + 1) }