private Context translateAssign ( WyilFile . LVal [ ] lval , Expr [ ] rval , Context context ) { Expr [ ] ls = new Expr [ lval . length ] ; for ( int i = 0 ; i != ls . length ; ++ i ) { WyilFile . LVal lhs = lval [ i ] ; generateTypeInvariantCheck ( lhs . getType ( ) , rval [ i ] , context ) ; context = translateSingleAssignment ( lval [ i ] , rval [ i ] , context ) ; } return context ; }
Translate an individual assignment from one rval to one or more lvals . If there are multiple lvals then a tuple is created to represent the left - hand side .