HOME


Mini Shell 1.0
Redirecting to https://devs.lapieza.net/iniciar-sesion Redirecting to https://devs.lapieza.net/iniciar-sesion.
DIR: /proc/self/root/usr/share/nodejs/webassemblyjs/lib/interpreter/runtime/
Upload File :
Current File : //proc/self/root/usr/share/nodejs/webassemblyjs/lib/interpreter/runtime/castIntoStackLocalOfType.js
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.castIntoStackLocalOfType = castIntoStackLocalOfType;

var _require = require("../../errors"),
    RuntimeError = _require.RuntimeError;

var i32 = require("./values/i32");

var i64 = require("./values/i64");

var f32 = require("./values/f32");

var f64 = require("./values/f64");

function castIntoStackLocalOfType(type, v) {
  var nan = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
  var inf = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
  var castFn = {
    i32: i32.createValueFromAST,
    i64: i64.createValueFromAST,
    f32: f32.createValueFromAST,
    f64: f64.createValueFromAST
  };

  if (nan === true) {
    castFn.f32 = f32.createNanFromAST;
    castFn.f64 = f64.createNanFromAST;
  }

  if (inf === true) {
    castFn.f32 = f32.createInfFromAST;
    castFn.f64 = f64.createInfFromAST;
  }

  if (typeof castFn[type] === "undefined") {
    throw new RuntimeError("Cannot cast: unsupported type " + JSON.stringify(type));
  }

  return castFn[type](v);
}