visitYield()

in lib/generator.js [1855:1875]


  visitYield(ast, level) {
    assert.equal(ast.type, 'yield');
    this.emit('yield ', level);
    if (!ast.expr) {
      this.emit(';\n');
      return;
    }

    if (ast.needCast) {
      this.visitType(ast.expectedType);
      this.emit('::fromMap(');
    }

    this.visitExpr(ast.expr, level);

    if (ast.needCast) {
      this.emit(')');
    }

    this.emit(';\n');
  }