make V.js compile

pull/2014/head
Alexander Medvednikov 2019-09-16 18:29:04 +03:00
parent 3e52984e88
commit c76d09f9a5
3 changed files with 9 additions and 8 deletions

View File

@ -46,6 +46,11 @@ fn types_to_c(types []Type, table &Table) string {
sb.write(field.name)
sb.writeln('; // $field.typ')
}
sb.writeln('
constructor(obj) {
obj && Object.assign(this, obj);
}
')
sb.writeln('}\n')
}
return sb.str()

View File

@ -258,8 +258,9 @@ fn (v mut V) compile() {
// TODO
//cgen.genln('i64 total_m = 0; // For counting total RAM allocated')
//if v.pref.is_test {
$if !js {
cgen.genln('int g_test_ok = 1; ')
//}
}
if 'json' in v.table.imports {
cgen.genln('
#define js_get(object, key) cJSON_GetObjectItemCaseSensitive((object), (key))
@ -474,7 +475,7 @@ fn (v &V) v_files_from_dir(dir string) []string {
if file.ends_with('_mac.v') && v.os != .mac {
continue
}
if file.ends_with('_js.v') {
if file.ends_with('_js.v') && v.os != .js {
continue
}
if file.ends_with('_nix.v') && (v.os == .windows || v.os == .msvc) {

View File

@ -309,10 +309,5 @@ pub fn (s string) hash() int {
}
pub fn (s string) bytes() []byte {
if s.len == 0 {
return []byte
}
mut buf := [byte(0)].repeat2(s.len)
C.memcpy(buf.data, s.str, s.len)
return buf
return []byte
}