v/vlib/builtin/bare/builtin_bare.v

60 lines
987 B
V

module builtin
// called by the generated main/init
fn init() {
}
pub fn isnil(p voidptr) bool {
return p == 0
}
pub fn print(s string) {
sys_write(1, s.str, u64(s.len))
}
pub fn println(s string) {
print(s)
print("\n")
}
pub fn panic(s string) {
print('V panic: ')
println(s)
sys_exit(1)
}
// replaces panic when -debug arg is passed
fn panic_debug(line_no int, file, mod, fn_name, s string) {
println('================ V panic ================')
print(' module: ')
println('mod')
print(' function: ')
print(fn_name)
println('()')
println(' file: ')
println(file)
//println(' line: ${line_no}')
print(' message: ')
println(s)
println('=========================================')
sys_exit(1)
}
pub fn eprint(s string) {
if isnil(s.str) {
panic('eprint(NIL)')
}
sys_write(2, s.str, u64(s.len))
}
pub fn eprint_ln(s string) {
eprint(s)
eprint("\n")
}
pub fn eprintln(s string) {
if isnil(s.str) {
panic('eprintln(NIL)')
}
eprint_ln(s)
}