runtime: print raw values for console handle shims (#135)
This commit is contained in:
@ -2386,50 +2386,66 @@ pub extern "C" fn nyash_console_log_export(ptr: *const i8) -> i64 {
|
|||||||
0
|
0
|
||||||
}
|
}
|
||||||
|
|
||||||
// Exported as: nyash.console.log_handle(i64 handle) -> i64
|
// Exported as: nyash.console.log_handle(i64 handle) -> i64
|
||||||
#[export_name = "nyash.console.log_handle"]
|
#[export_name = "nyash.console.log_handle"]
|
||||||
pub extern "C" fn nyash_console_log_handle(handle: i64) -> i64 {
|
pub extern "C" fn nyash_console_log_handle(handle: i64) -> i64 {
|
||||||
if handle <= 0 { return 0; }
|
if handle <= 0 {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
if let Some(obj) = nyash_rust::jit::rt::handles::get(handle as u64) {
|
if let Some(obj) = nyash_rust::jit::rt::handles::get(handle as u64) {
|
||||||
let s = obj.to_string_box().value; // 既存の統一文字列変換メソッド
|
let s = obj.to_string_box().value; // 既存の統一文字列変換メソッド
|
||||||
println!("{}", s);
|
println!("{}", s);
|
||||||
|
} else {
|
||||||
|
println!("{}", handle);
|
||||||
}
|
}
|
||||||
0
|
0
|
||||||
}
|
}
|
||||||
|
|
||||||
// Exported as: nyash.console.warn_handle(i64 handle) -> i64
|
// Exported as: nyash.console.warn_handle(i64 handle) -> i64
|
||||||
#[export_name = "nyash.console.warn_handle"]
|
#[export_name = "nyash.console.warn_handle"]
|
||||||
pub extern "C" fn nyash_console_warn_handle(handle: i64) -> i64 {
|
pub extern "C" fn nyash_console_warn_handle(handle: i64) -> i64 {
|
||||||
if handle <= 0 { return 0; }
|
if handle <= 0 {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
if let Some(obj) = nyash_rust::jit::rt::handles::get(handle as u64) {
|
if let Some(obj) = nyash_rust::jit::rt::handles::get(handle as u64) {
|
||||||
let s = obj.to_string_box().value;
|
let s = obj.to_string_box().value;
|
||||||
eprintln!("WARN: {}", s);
|
eprintln!("WARN: {}", s);
|
||||||
|
} else {
|
||||||
|
eprintln!("WARN: {}", handle);
|
||||||
}
|
}
|
||||||
0
|
0
|
||||||
}
|
}
|
||||||
|
|
||||||
// Exported as: nyash.console.error_handle(i64 handle) -> i64
|
// Exported as: nyash.console.error_handle(i64 handle) -> i64
|
||||||
#[export_name = "nyash.console.error_handle"]
|
#[export_name = "nyash.console.error_handle"]
|
||||||
pub extern "C" fn nyash_console_error_handle(handle: i64) -> i64 {
|
pub extern "C" fn nyash_console_error_handle(handle: i64) -> i64 {
|
||||||
if handle <= 0 { return 0; }
|
if handle <= 0 {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
if let Some(obj) = nyash_rust::jit::rt::handles::get(handle as u64) {
|
if let Some(obj) = nyash_rust::jit::rt::handles::get(handle as u64) {
|
||||||
let s = obj.to_string_box().value;
|
let s = obj.to_string_box().value;
|
||||||
eprintln!("ERROR: {}", s);
|
eprintln!("ERROR: {}", s);
|
||||||
|
} else {
|
||||||
|
eprintln!("ERROR: {}", handle);
|
||||||
}
|
}
|
||||||
0
|
0
|
||||||
}
|
}
|
||||||
|
|
||||||
// Exported as: nyash.debug.trace_handle(i64 handle) -> i64
|
// Exported as: nyash.debug.trace_handle(i64 handle) -> i64
|
||||||
#[export_name = "nyash.debug.trace_handle"]
|
#[export_name = "nyash.debug.trace_handle"]
|
||||||
pub extern "C" fn nyash_debug_trace_handle(handle: i64) -> i64 {
|
pub extern "C" fn nyash_debug_trace_handle(handle: i64) -> i64 {
|
||||||
if handle <= 0 { return 0; }
|
if handle <= 0 {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
if let Some(obj) = nyash_rust::jit::rt::handles::get(handle as u64) {
|
if let Some(obj) = nyash_rust::jit::rt::handles::get(handle as u64) {
|
||||||
let s = obj.to_string_box().value;
|
let s = obj.to_string_box().value;
|
||||||
eprintln!("TRACE: {}", s);
|
eprintln!("TRACE: {}", s);
|
||||||
|
} else {
|
||||||
|
eprintln!("TRACE: {}", handle);
|
||||||
}
|
}
|
||||||
0
|
0
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user