pas2js: range check int:=

git-svn-id: trunk@38011 -
This commit is contained in:
Mattias Gaertner 2018-01-19 17:00:20 +00:00
parent a3fa160934
commit 32f4d9e3a5

View File

@ -385,6 +385,28 @@ var rtl = {
rtl.raiseEInvalidCast();
},
raiseRangeCheck: function(){
var m = pas.sysutils || pas.SysUtils;
if (m){
var t = m.ERangeError || m.erangeerror;
if (rtl.isPasClass(t)){
var f = 'Create';
if (rtl.isFunction(t[f])){
throw t.$create(f);
} else {
throw t.$create('create');
}
}
}
throw 'range error';
},
rc: function(i,minval,maxval){
// range check integer
if ((Math.floor(i)===i) && (i>=minval) && (i<=maxval)) return i;
rtl.raiseRangeCheck();
},
length: function(arr){
return (arr == null) ? 0 : arr.length;
},