Improved "null" handling
This commit is contained in:
@@ -45,7 +45,7 @@ class CustomClass implements IHScriptCustomAccessBehaviour {
|
||||
private var __cachedVarDecls:Map<String, VarDecl> = [];
|
||||
|
||||
public var __allowSetGet:Bool = false;
|
||||
public var __allowInnerAccess:Bool = false;
|
||||
public var __allowPrivateAccess:Bool = false;
|
||||
|
||||
private var isInline(default, null):Bool = false;
|
||||
private var ogVariables(default, null):Map<String, Dynamic>;
|
||||
@@ -326,7 +326,7 @@ class CustomClass implements IHScriptCustomAccessBehaviour {
|
||||
|
||||
var value:Dynamic = null;
|
||||
|
||||
if(getter == ANever || getter == ANull && !__allowInnerAccess)
|
||||
if(getter == ANever || getter == ANull && !__allowPrivateAccess)
|
||||
throw 'field $name cannot be accessed for reading';
|
||||
|
||||
if (__allowSetGet && getter == AGet) {
|
||||
@@ -382,7 +382,7 @@ class CustomClass implements IHScriptCustomAccessBehaviour {
|
||||
var v = getVar(name);
|
||||
var setter = v.set;
|
||||
|
||||
if (setter == ANever || setter == ANull && !__allowInnerAccess || (v.isFinal && !initializing))
|
||||
if (setter == ANever || setter == ANull && !__allowPrivateAccess || (v.isFinal && !initializing))
|
||||
throw 'field $name cannot be accessed for writing';
|
||||
|
||||
if (__allowSetGet && setter == ASet) {
|
||||
|
||||
@@ -31,7 +31,7 @@ class CustomClassDecl implements IHScriptCustomAccessBehaviour {
|
||||
|
||||
public var __allowSetGet:Bool = true;
|
||||
|
||||
public var __allowInnerAccess:Bool = false;
|
||||
public var __allowPrivateAccess:Bool = false;
|
||||
|
||||
public function new(classDecl:Expr.ClassDecl, imports:Map<String, CustomClassImport>, usings:Array<String>, ?pkg:Array<String>, ?ogInterp:Interp, ?isInline:Bool) {
|
||||
this.classDecl = classDecl;
|
||||
@@ -192,7 +192,7 @@ class CustomClassDecl implements IHScriptCustomAccessBehaviour {
|
||||
|
||||
var r:Dynamic = null;
|
||||
|
||||
if (getter == ANever || getter == ANull && !__allowInnerAccess)
|
||||
if (getter == ANever || getter == ANull && !__allowPrivateAccess)
|
||||
throw 'field $name cannot be accessed for reading';
|
||||
|
||||
if(__allowSetGet && getter == AGet){
|
||||
@@ -227,7 +227,7 @@ class CustomClassDecl implements IHScriptCustomAccessBehaviour {
|
||||
var v = getVar(name);
|
||||
var setter = v.set;
|
||||
|
||||
if (setter == ANever || setter == ANull && !__allowInnerAccess || v.isFinal)
|
||||
if (setter == ANever || setter == ANull && !__allowPrivateAccess || v.isFinal)
|
||||
throw 'field $name cannot be accessed for writing';
|
||||
|
||||
if (__allowSetGet && setter == ASet) {
|
||||
|
||||
Reference in New Issue
Block a user