// run

// Copyright 2009 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 main

var gen = 'a'

func f(n int) string {
	s := string(gen) + string(n+'A'-1)
	gen++
	return s
}

func g(x, y string) string { return x + y }

var v1 = f(1) + f(2)
var v2 = g(f(3), f(4))
var v3 = f(5) + f(6) + f(7) + f(8) + f(9)

func main() {
	gen = 'a'

	if v1 != "aAbB" {
		panic("BUG: bug236a")
	}
	if v2 != "cCdD" {
		panic("BUG: bug236b")
	}
	if v3 != "eEfFgGhHiI" {
		panic("BUG: bug236c")
	}

	switch "aAbB" {
	case f(1) + f(2):
	default:
		panic("BUG: bug236d")
	}

	switch "cCdD" {
	case g(f(3), f(4)):
	default:
		panic("BUG: bug236e")
	}

	switch "eEfFgGhHiI" {
	case f(5) + f(6) + f(7) + f(8) + f(9):
	default:
		panic("BUG: bug236f")
	}
}
