mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-16 17:19:19 +02:00
pas2js: rtl.js: set functions: remove hasOwnProperty - other properties are not enumerable, added rtl.checkMethodCall
git-svn-id: trunk@37999 -
This commit is contained in:
parent
5bccc69f6a
commit
b54ca867b1
47
utils/pas2js/dist/rtl.js
vendored
47
utils/pas2js/dist/rtl.js
vendored
@ -340,14 +340,31 @@ var rtl = {
|
|||||||
|
|
||||||
EInvalidCast: null,
|
EInvalidCast: null,
|
||||||
|
|
||||||
|
raiseEInvalidCast: function(){
|
||||||
|
if (rtl.EInvalidCast){
|
||||||
|
if (rtl.EInvalidCast.Create){
|
||||||
|
throw rtl.EInvalidCast.$create("Create");
|
||||||
|
} else {
|
||||||
|
throw rtl.EInvalidCast.$create("create");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
throw "invalid type cast";
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
as: function(instance,type){
|
as: function(instance,type){
|
||||||
if(rtl.is(instance,type)) return instance;
|
if((instance === null) || rtl.is(instance,type)) return instance;
|
||||||
throw rtl.EInvalidCast.$create("create");
|
rtl.raiseEInvalidCast();
|
||||||
},
|
},
|
||||||
|
|
||||||
asExt: function(instance,type){
|
asExt: function(instance,type){
|
||||||
if(rtl.isExt(instance,type)) return instance;
|
if((instance === null) || rtl.isExt(instance,type)) return instance;
|
||||||
throw rtl.EInvalidCast.$create("create");
|
rtl.raiseEInvalidCast();
|
||||||
|
},
|
||||||
|
|
||||||
|
checkMethodCall: function(obj,type){
|
||||||
|
if (rtl.isObject(obj) && rtl.is(obj,type)) return;
|
||||||
|
rtl.raiseEInvalidCast();
|
||||||
},
|
},
|
||||||
|
|
||||||
length: function(arr){
|
length: function(arr){
|
||||||
@ -459,7 +476,7 @@ var rtl = {
|
|||||||
|
|
||||||
cloneSet: function(s){
|
cloneSet: function(s){
|
||||||
var r = {};
|
var r = {};
|
||||||
for (var key in s) if (s.hasOwnProperty(key)) r[key]=true;
|
for (var key in s) r[key]=true;
|
||||||
return r;
|
return r;
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -482,37 +499,37 @@ var rtl = {
|
|||||||
|
|
||||||
diffSet: function(s,t){
|
diffSet: function(s,t){
|
||||||
var r = {};
|
var r = {};
|
||||||
for (var key in s) if (s.hasOwnProperty(key) && !t[key]) r[key]=true;
|
for (var key in s) if (!t[key]) r[key]=true;
|
||||||
delete r.$shared;
|
delete r.$shared;
|
||||||
return r;
|
return r;
|
||||||
},
|
},
|
||||||
|
|
||||||
unionSet: function(s,t){
|
unionSet: function(s,t){
|
||||||
var r = {};
|
var r = {};
|
||||||
for (var key in s) if (s.hasOwnProperty(key)) r[key]=true;
|
for (var key in s) r[key]=true;
|
||||||
for (var key in t) if (t.hasOwnProperty(key)) r[key]=true;
|
for (var key in t) r[key]=true;
|
||||||
delete r.$shared;
|
delete r.$shared;
|
||||||
return r;
|
return r;
|
||||||
},
|
},
|
||||||
|
|
||||||
intersectSet: function(s,t){
|
intersectSet: function(s,t){
|
||||||
var r = {};
|
var r = {};
|
||||||
for (var key in s) if (s.hasOwnProperty(key) && t[key]) r[key]=true;
|
for (var key in s) if (t[key]) r[key]=true;
|
||||||
delete r.$shared;
|
delete r.$shared;
|
||||||
return r;
|
return r;
|
||||||
},
|
},
|
||||||
|
|
||||||
symDiffSet: function(s,t){
|
symDiffSet: function(s,t){
|
||||||
var r = {};
|
var r = {};
|
||||||
for (var key in s) if (s.hasOwnProperty(key) && !t[key]) r[key]=true;
|
for (var key in s) if (!t[key]) r[key]=true;
|
||||||
for (var key in t) if (t.hasOwnProperty(key) && !s[key]) r[key]=true;
|
for (var key in t) if (!s[key]) r[key]=true;
|
||||||
delete r.$shared;
|
delete r.$shared;
|
||||||
return r;
|
return r;
|
||||||
},
|
},
|
||||||
|
|
||||||
eqSet: function(s,t){
|
eqSet: function(s,t){
|
||||||
for (var key in s) if (s.hasOwnProperty(key) && !t[key] && (key!='$shared')) return false;
|
for (var key in s) if (!t[key] && (key!='$shared')) return false;
|
||||||
for (var key in t) if (t.hasOwnProperty(key) && !s[key] && (key!='$shared')) return false;
|
for (var key in t) if (!s[key] && (key!='$shared')) return false;
|
||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -521,12 +538,12 @@ var rtl = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
leSet: function(s,t){
|
leSet: function(s,t){
|
||||||
for (var key in s) if (s.hasOwnProperty(key) && !t[key] && (key!='$shared')) return false;
|
for (var key in s) if (!t[key] && (key!='$shared')) return false;
|
||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
|
|
||||||
geSet: function(s,t){
|
geSet: function(s,t){
|
||||||
for (var key in t) if (t.hasOwnProperty(key) && !s[key] && (key!='$shared')) return false;
|
for (var key in t) if (!s[key] && (key!='$shared')) return false;
|
||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user