null access

This commit is contained in:
2025-12-28 22:56:15 -06:00
parent 1833a3c74c
commit dca1963b5d
3 changed files with 10 additions and 28 deletions

View File

@@ -158,31 +158,4 @@ for (var i = 0; i < n; i++)
advance(0.01);
log.console(energy().toFixed(9))
var js = use('js')
// Get function metadata
var fn_info = js.fn_info(advance)
log.console(`${fn_info.filename}:${fn_info.line}:${fn_info.column}: function: ${fn_info.name}`)
// Display arguments
if (fn_info.args && fn_info.args.length > 0) {
log.console(` args: ${fn_info.args.join(' ')}`)
}
// Display local variables
if (fn_info.locals && fn_info.locals.length > 0) {
log.console(' locals:')
for (var i = 0; i < fn_info.locals.length; i++) {
var local = fn_info.locals[i]
log.console(` ${local.index}: ${local.type} ${local.name}`)
}
}
// Display stack size
log.console(` stack_size: ${fn_info.stack_size}`)
// Display disassembly
log.console(js.disassemble(advance))
log.console(js.disassemble(advance).length)
$stop()

View File

@@ -6780,7 +6780,7 @@ JSValue JS_GetPropertyInternal(JSContext *ctx, JSValueConst obj,
if (unlikely(tag != JS_TAG_OBJECT)) {
switch(tag) {
case JS_TAG_NULL:
return JS_ThrowTypeErrorAtom(ctx, "cannot read property '%s' of null", prop);
return JS_NULL;
case JS_TAG_EXCEPTION:
return JS_EXCEPTION;
case JS_TAG_STRING:

View File

@@ -1529,5 +1529,14 @@ return {
if (!hasNumbers) throw "string match with regex failed"
},
test_string_plus_string_works: function() {
var x = "hello" + " world"
if (x != "hello world") throw "string + string should work"
},
null_access: function() {
var val = {}
var nn = val.a
if (nn != null) throw "val.a should return null"
},
}