mirror of
https://github.com/curioustorvald/tsvm.git
synced 2026-03-11 13:41:50 +09:00
inlining some func
This commit is contained in:
@@ -151,78 +151,57 @@ function resolve(variable) {
|
|||||||
}
|
}
|
||||||
function oneArgNonNull(lnum, args, predicate) {
|
function oneArgNonNull(lnum, args, predicate) {
|
||||||
if (args.length != 1) throw lang.syntaxfehler(lnum, args.length + " arguments were given");
|
if (args.length != 1) throw lang.syntaxfehler(lnum, args.length + " arguments were given");
|
||||||
var resolvedargs = args.map(function(it) { return resolve(it); });
|
var resolvedargs0 = resolve(args[0]);
|
||||||
resolvedargs.forEach(function(v) {
|
if (resolvedargs0 === undefined) throw lang.refError(lnum, resolvedargs0.value);
|
||||||
if (v === undefined) throw lang.refError(lnum, v.value);
|
return predicate(resolvedargs0);
|
||||||
});
|
|
||||||
var argum = resolvedargs.map(function(it) {
|
|
||||||
if (it === undefined) throw lang.refError(lnum, it.value);
|
|
||||||
return it;
|
|
||||||
});
|
|
||||||
return predicate(argum[0]);
|
|
||||||
}
|
}
|
||||||
function oneArgNonNullNumeric(lnum, args, predicate) {
|
function oneArgNonNullNumeric(lnum, args, predicate) {
|
||||||
if (args.length != 1) throw lang.syntaxfehler(lnum, args.length + " arguments were given");
|
if (args.length != 1) throw lang.syntaxfehler(lnum, args.length + " arguments were given");
|
||||||
var resolvedargs = args.map(function(it) { return resolve(it); });
|
var resolvedargs0 = resolve(args[0]);
|
||||||
resolvedargs.forEach(function(v) {
|
if (resolvedargs0 === undefined) throw lang.refError(lnum, resolvedargs0.value);
|
||||||
if (v === undefined) throw lang.refError(lnum, v.value);
|
if (isNaN(resolvedargs0)) throw lang.illegalType(lnum, resolvedargs0.value);
|
||||||
if (isNaN(v)) throw lang.illegalType(lnum, v.value);
|
return predicate(resolvedargs0);
|
||||||
});
|
|
||||||
var argum = resolvedargs.map(function(it) {
|
|
||||||
if (it === undefined) throw lang.refError(lnum, it.value);
|
|
||||||
return it;
|
|
||||||
});
|
|
||||||
return predicate(argum[0]);
|
|
||||||
}
|
}
|
||||||
function twoArgNonNull(lnum, args, predicate) {
|
function twoArgNonNull(lnum, args, predicate) {
|
||||||
if (args.length != 2) throw lang.syntaxfehler(lnum, args.length + " arguments were given");
|
if (args.length != 2) throw lang.syntaxfehler(lnum, args.length + " arguments were given");
|
||||||
var resolvedargs = args.map(function(it) { return resolve(it); });
|
var resolvedargs0 = resolve(args[0]);
|
||||||
resolvedargs.forEach(function(v) {
|
if (resolvedargs0 === undefined) throw lang.refError(lnum, resolvedargs0.value);
|
||||||
if (v === undefined) throw lang.refError(lnum, v.value);
|
var resolvedargs1 = resolve(args[1]);
|
||||||
});
|
if (resolvedargs1 === undefined) throw lang.refError(lnum, resolvedargs1.value);
|
||||||
var argum = resolvedargs.map(function(it) {
|
return predicate(resolvedargs0, resolvedargs1);
|
||||||
if (it === undefined) throw lang.refError(lnum, it.value);
|
|
||||||
return it;
|
|
||||||
});
|
|
||||||
return predicate(argum[0], argum[1]);
|
|
||||||
}
|
}
|
||||||
function twoArgNonNullNumeric(lnum, args, predicate) {
|
function twoArgNonNullNumeric(lnum, args, predicate) {
|
||||||
if (args.length != 2) throw lang.syntaxfehler(lnum, args.length + " arguments were given");
|
if (args.length != 2) throw lang.syntaxfehler(lnum, args.length + " arguments were given");
|
||||||
var resolvedargs = args.map(function(it) { return resolve(it); });
|
var resolvedargs0 = resolve(args[0]);
|
||||||
resolvedargs.forEach(function(v) {
|
if (resolvedargs0 === undefined) throw lang.refError(lnum, resolvedargs0.value);
|
||||||
if (v === undefined) throw lang.refError(lnum, v.value);
|
if (isNaN(resolvedargs0)) throw lang.illegalType(lnum, resolvedargs0.value);
|
||||||
if (isNaN(v)) throw lang.illegalType(lnum, v.value);
|
var resolvedargs1 = resolve(args[1]);
|
||||||
});
|
if (resolvedargs1 === undefined) throw lang.refError(lnum, resolvedargs1.value);
|
||||||
var argum = resolvedargs.map(function(it) {
|
if (isNaN(resolvedargs1)) throw lang.illegalType(lnum, resolvedargs1.value);
|
||||||
if (it === undefined) throw lang.refError(lnum, it.value);
|
return predicate(resolvedargs0, resolvedargs1);
|
||||||
return it;
|
|
||||||
});
|
|
||||||
return predicate(argum[0], argum[1]);
|
|
||||||
}
|
}
|
||||||
function threeArgNonNull(lnum, args, predicate) {
|
function threeArgNonNull(lnum, args, predicate) {
|
||||||
if (args.length != 3) throw lang.syntaxfehler(lnum, args.length + " arguments were given");
|
if (args.length != 3) throw lang.syntaxfehler(lnum, args.length + " arguments were given");
|
||||||
var resolvedargs = args.map(function(it) { return resolve(it); });
|
var resolvedargs0 = resolve(args[0]);
|
||||||
resolvedargs.forEach(function(v) {
|
if (resolvedargs0 === undefined) throw lang.refError(lnum, resolvedargs0.value);
|
||||||
if (v === undefined) throw lang.refError(lnum, v.value);
|
var resolvedargs1 = resolve(args[1]);
|
||||||
});
|
if (resolvedargs1 === undefined) throw lang.refError(lnum, resolvedargs1.value);
|
||||||
var argum = resolvedargs.map(function(it) {
|
var resolvedargs2 = resolve(args[2]);
|
||||||
if (it === undefined) throw lang.refError(lnum, it.value);
|
if (resolvedargs2 === undefined) throw lang.refError(lnum, resolvedargs2.value);
|
||||||
return it;
|
return predicate(resolvedargs0, resolvedargs1, resolvedargs2);
|
||||||
});
|
|
||||||
return predicate(argum[0], argum[1], argum[2]);
|
|
||||||
}
|
}
|
||||||
function threeArgNonNullNumeric(lnum, args, predicate) {
|
function threeArgNonNullNumeric(lnum, args, predicate) {
|
||||||
if (args.length != 3) throw lang.syntaxfehler(lnum, args.length + " arguments were given");
|
if (args.length != 3) throw lang.syntaxfehler(lnum, args.length + " arguments were given");
|
||||||
var resolvedargs = args.map(function(it) { return resolve(it); });
|
var resolvedargs0 = resolve(args[0]);
|
||||||
resolvedargs.forEach(function(v) {
|
if (resolvedargs0 === undefined) throw lang.refError(lnum, resolvedargs0.value);
|
||||||
if (v === undefined) throw lang.refError(lnum, v.value);
|
if (isNaN(resolvedargs0)) throw lang.illegalType(lnum, resolvedargs0.value);
|
||||||
if (isNaN(v)) throw lang.illegalType(lnum, v.value);
|
var resolvedargs1 = resolve(args[1]);
|
||||||
});
|
if (resolvedargs1 === undefined) throw lang.refError(lnum, resolvedargs1.value);
|
||||||
var argum = resolvedargs.map(function(it) {
|
if (isNaN(resolvedargs1)) throw lang.illegalType(lnum, resolvedargs1.value);
|
||||||
if (it === undefined) throw lang.refError(lnum, it.value);
|
var resolvedargs2 = resolve(args[2]);
|
||||||
return it;
|
if (resolvedargs2 === undefined) throw lang.refError(lnum, resolvedargs2.value);
|
||||||
});
|
if (isNaN(resolvedargs2)) throw lang.illegalType(lnum, resolvedargs2.value);
|
||||||
return predicate(argum[0], argum[1], argum[2]);
|
return predicate(resolvedargs0, resolvedargs1, resolvedargs2);
|
||||||
}
|
}
|
||||||
var basicInterpreterStatus = {};
|
var basicInterpreterStatus = {};
|
||||||
basicInterpreterStatus.gosubStack = [];
|
basicInterpreterStatus.gosubStack = [];
|
||||||
|
|||||||
Reference in New Issue
Block a user