removed emitAssignment from generic codegen