Skip to content

Commit ece6460

Browse files
committed
Unify error message when read method field
1 parent efd35a5 commit ece6460

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

hld/Eval.hx

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1331,7 +1331,9 @@ class Eval {
13311331
return ptr == null ? AUndef(f.t) : AAddr(ptr.offset(offset), f.t);
13321332
}
13331333
var f = p.methods.get(name);
1334-
if( f != null && ptr != null ) {
1334+
if( f != null ) {
1335+
if( ptr == null )
1336+
return AUndef(f.t);
13351337
// HMethod
13361338
var vt = readPointer(ptr);
13371339
var vobj = readPointer(vt.offset(align.ptr));
@@ -1340,7 +1342,11 @@ class Eval {
13401342
return AMethod(v, readPointer(vmethods.offset(f.index * align.ptr)), f.t);
13411343
}
13421344
var f = p.methods.get("get_"+name);
1343-
if( f != null && ptr != null && allowEvalGetters ) {
1345+
if( f != null ) {
1346+
if( ptr == null )
1347+
return AUndef(f.t);
1348+
if( !allowEvalGetters )
1349+
throw "Eval not allowed get_" + name + "()";
13441350
var f = readFieldAddress(v, "get_"+name);
13451351
switch( f ) {
13461352
case AMethod(obj, ptr, HFun(ft)) if( ft.args.length == 1 ):

0 commit comments

Comments
 (0)