Reverting getter/setter to remake
"clean this up, it sucks, i hate it" - ne_eo
This commit is contained in:
+4
-41
@@ -308,10 +308,7 @@ class Interp {
|
||||
if (_inCustomClass) {
|
||||
if (_proxy.__class.hasField(id)) {
|
||||
var v = expr(e2);
|
||||
var oldPrivate = _proxy.__class.__allowPrivateAccess;
|
||||
_proxy.__class.__allowPrivateAccess = true;
|
||||
_proxy.__class.hset(id, v);
|
||||
_proxy.__class.__allowPrivateAccess = oldPrivate;
|
||||
return v;
|
||||
}
|
||||
|
||||
@@ -322,18 +319,12 @@ class Interp {
|
||||
return v;
|
||||
}
|
||||
else if(_proxy.hasField(id) || _proxy.superHasField(id)){
|
||||
var oldPrivate = _proxy.__allowPrivateAccess;
|
||||
try {
|
||||
var v = expr(e2);
|
||||
_proxy.__allowPrivateAccess = true;
|
||||
_proxy.hset(id, v); // superClass check already handled in Custom Class
|
||||
_proxy.__allowPrivateAccess = oldPrivate;
|
||||
return v;
|
||||
}
|
||||
catch(e) {
|
||||
_proxy.__allowPrivateAccess = oldPrivate;
|
||||
// TODO: throw an error
|
||||
}
|
||||
catch(e) {}
|
||||
}
|
||||
}
|
||||
// Fallback, which calls set()
|
||||
@@ -403,17 +394,12 @@ class Interp {
|
||||
return v;
|
||||
}
|
||||
else if (_proxy.hasField(f) || _proxy.superHasField(f)) {
|
||||
var oldPrivate = _proxy.__allowPrivateAccess;
|
||||
try {
|
||||
var v = expr(e2);
|
||||
_proxy.__allowPrivateAccess = true;
|
||||
_proxy.hset(f, v);
|
||||
_proxy.__allowPrivateAccess = oldPrivate;
|
||||
return v;
|
||||
}
|
||||
catch(e){
|
||||
_proxy.__allowPrivateAccess = oldPrivate;
|
||||
}
|
||||
catch(e){}
|
||||
}
|
||||
}
|
||||
default:
|
||||
@@ -453,10 +439,7 @@ class Interp {
|
||||
// Also ensures property functions are accounted for.
|
||||
if(_inCustomClass) {
|
||||
if (_proxy.__class.hasField(id)) {
|
||||
var oldPrivate = _proxy.__class.__allowPrivateAccess;
|
||||
_proxy.__class.__allowPrivateAccess = true;
|
||||
_proxy.__class.hset(id, v);
|
||||
_proxy.__class.__allowPrivateAccess = oldPrivate;
|
||||
return v;
|
||||
}
|
||||
|
||||
@@ -465,16 +448,11 @@ class Interp {
|
||||
return v;
|
||||
}
|
||||
else if (_proxy.hasField(id) || _proxy.superHasField(id)) {
|
||||
var oldPrivate = _proxy.__allowPrivateAccess;
|
||||
try {
|
||||
_proxy.__allowPrivateAccess = true;
|
||||
_proxy.hset(id, v); // superClass check already handled in Custom Class
|
||||
_proxy.__allowPrivateAccess = oldPrivate;
|
||||
return v;
|
||||
}
|
||||
catch(e) {
|
||||
_proxy.__allowPrivateAccess = oldPrivate;
|
||||
}
|
||||
catch(e) {}
|
||||
}
|
||||
}
|
||||
var l = locals.get(id);
|
||||
@@ -548,17 +526,12 @@ class Interp {
|
||||
return v;
|
||||
}
|
||||
else if (_proxy.hasField(f) || _proxy.superHasField(f)) {
|
||||
var oldPrivate = _proxy.__allowPrivateAccess;
|
||||
try {
|
||||
v = fop(get(obj, f), expr(e2));
|
||||
_proxy.__allowPrivateAccess = true;
|
||||
_proxy.hset(f, v); // superClass check already handled in Custom Class
|
||||
_proxy.__allowPrivateAccess = oldPrivate;
|
||||
return v;
|
||||
}
|
||||
catch(e) {
|
||||
_proxy.__allowPrivateAccess = oldPrivate;
|
||||
}
|
||||
catch(e) {}
|
||||
}
|
||||
}
|
||||
default:
|
||||
@@ -766,19 +739,13 @@ class Interp {
|
||||
if (_inCustomClass) {
|
||||
// Static access
|
||||
if (_proxy.__class.hasField(id)) {
|
||||
var oldPrivate = _proxy.__class.__allowPrivateAccess;
|
||||
_proxy.__class.__allowPrivateAccess = true;
|
||||
var r = _proxy.__class.hget(id);
|
||||
_proxy.__class.__allowPrivateAccess = oldPrivate;
|
||||
return r;
|
||||
}
|
||||
|
||||
|
||||
if (_proxy.hasVar(id)) {
|
||||
var oldPrivate = _proxy.__allowPrivateAccess;
|
||||
_proxy.__allowPrivateAccess = true;
|
||||
var r = _proxy.hget(id);
|
||||
_proxy.__allowPrivateAccess = oldPrivate;
|
||||
return r;
|
||||
}
|
||||
// We are calling a LOCAL function from the same module.
|
||||
@@ -791,15 +758,11 @@ class Interp {
|
||||
_nextCallObject = _proxy.superClass;
|
||||
return !_proxy.superIsCustomClass ? Reflect.getProperty(_proxy.superClass, id) : _proxy.hget(id);
|
||||
} else {
|
||||
var oldPrivate = _proxy.__allowPrivateAccess;
|
||||
try {
|
||||
_proxy.__allowPrivateAccess = true;
|
||||
var r = _proxy.hget(id);
|
||||
_nextCallObject = _proxy;
|
||||
_proxy.__allowPrivateAccess = oldPrivate;
|
||||
return r;
|
||||
} catch (e:Dynamic) {
|
||||
_proxy.__allowPrivateAccess = oldPrivate;
|
||||
if(doException)
|
||||
error(EUnknownVariable(id));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user