File tree Expand file tree Collapse file tree 1 file changed +8
-2
lines changed Expand file tree Collapse file tree 1 file changed +8
-2
lines changed Original file line number Diff line number Diff line change @@ -1331,7 +1331,9 @@ class Eval {
1331
1331
return ptr == null ? AUndef (f .t ) : AAddr (ptr .offset (offset ), f .t );
1332
1332
}
1333
1333
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 );
1335
1337
// HMethod
1336
1338
var vt = readPointer (ptr );
1337
1339
var vobj = readPointer (vt .offset (align .ptr ));
@@ -1340,7 +1342,11 @@ class Eval {
1340
1342
return AMethod (v , readPointer (vmethods .offset (f .index * align .ptr )), f .t );
1341
1343
}
1342
1344
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 + " ()" ;
1344
1350
var f = readFieldAddress (v , " get_" + name );
1345
1351
switch ( f ) {
1346
1352
case AMethod (obj , ptr , HFun (ft )) if ( ft .args .length == 1 ):
You can’t perform that action at this time.
0 commit comments