func (b *builder) assignOp(fn *Function, loc lvalue, incr Value, op token.Token, pos token.Pos) {
	oldv := loc.load(fn)
	loc.store(fn, emitArith(fn, op, oldv, emitConv(fn, incr, oldv.Type()), loc.typ(), pos))
}
func (b *builder) assignOp(fn *Function, loc lvalue, incr Value, op token.Token, pos token.Pos) {
	oldv := loc.load(fn)
	loc.store(fn, emitArith(fn, op, oldv, emitConv(fn, incr, oldv.Type()), loc.typ(), pos))
}
func ( b * builder ) assignOp ( fn * Function , loc lvalue , incr Value , op token . Token , pos token . Pos ) { oldv := loc . load ( fn ) loc . store ( fn , emitArith ( fn , op , oldv , emitConv ( fn , incr , oldv . Type ( ) ) , loc . typ ( ) , pos ) ) }
// assignOp emits to fn code to perform loc += incr or loc -= incr.
assignOp emits to fn code to perform loc + = incr or loc - = incr .