visitDeclare()

in lib/generator.js [1215:1235]


  visitDeclare(ast, level, env) {
    var id = _name(ast.id);
    this.emit(``, level);
    if (ast.expr.left && ast.expr.left.id && ast.expr.left.id.type === 'builtin_module' &&
      ast.expr.left.id.lexeme === '$Number' && ast.expr.left.propertyPath[0]) {
      if (ast.expr.left.propertyPath[0].lexeme === 'random') {
        this.emit('double');
      } else if (ast.expr.left.propertyPath[0].lexeme === 'min' || ast.expr.left.propertyPath[0].lexeme === 'max') {
        if (ast.expr.args[0].inferred.name !== ast.expr.args[1].inferred.name) {
          this.emit('double');
        } else {
          this.emit(this._type(ast.expr.args[0].inferred.name));
        }
      }
    } else {
      this.visitType(ast.expr.inferred, undefined, { ...env, variable: true });
    }
    this.emit(` ${_avoidReserveName(id)} = `);
    this.visitExpr(ast.expr, level, env);
    this.emit(';\n');
  }