All files / src/generator assignment-expression.js

100% Statements 8/8
100% Branches 2/2
100% Functions 1/1
100% Lines 8/8
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21  22x 22x 22x     22x 1x 1x   1x           1x        
// @flow
import mapSyntax from './map-syntax';
import mergeBlock from './merge-block';
import opcode from '../emitter/opcode';
import type { GeneratorType } from './flow/types';
 
const generateAssignment: GeneratorType = node => {
  const [target, value] = node.params;
  const block = [value].map(mapSyntax(null)).reduce(mergeBlock, []);
 
  block.push({
    kind: opcode.TeeLocal,
    params: [Number(target.meta.LOCAL_INDEX)],
    debug: `${target.value}<${String(target.meta.ALIAS || target.type)}>`,
  });
 
  return block;
};
 
export default generateAssignment;