diff options
Diffstat (limited to 'src/pkg/go/token/token.go')
| -rw-r--r-- | src/pkg/go/token/token.go | 15 | 
1 files changed, 8 insertions, 7 deletions
| diff --git a/src/pkg/go/token/token.go b/src/pkg/go/token/token.go index 2a2d3ecc4..a5f21df16 100644 --- a/src/pkg/go/token/token.go +++ b/src/pkg/go/token/token.go @@ -126,10 +126,7 @@ const (  ) -// At the moment we have no array literal syntax that lets us describe -// the index for each element - use a map for now to make sure they are -// in sync. -var tokens = map[Token]string{ +var tokens = [...]string{  	ILLEGAL: "ILLEGAL",  	EOF:     "EOF", @@ -237,10 +234,14 @@ var tokens = map[Token]string{  // constant name (e.g. for the token IDENT, the string is "IDENT").  //  func (tok Token) String() string { -	if str, exists := tokens[tok]; exists { -		return str +	s := "" +	if 0 <= tok && tok < Token(len(tokens)) { +		s = tokens[tok]  	} -	return "token(" + strconv.Itoa(int(tok)) + ")" +	if s == "" { +		s = "token(" + strconv.Itoa(int(tok)) + ")" +	} +	return s  } | 
