v.js: fix for ..
parent
32ad33558d
commit
ecffa8e1d9
|
@ -235,6 +235,11 @@ fn (p mut Parser) gen_for_str_header(i, tmp, var_typ, val string) {
|
|||
p.genln('$var_typ $val = (($var_typ *) bytes_$tmp . data)[$i];')
|
||||
}
|
||||
|
||||
fn (p mut Parser) gen_for_range_header(i, range_end, tmp, var_type, val string) {
|
||||
p.genln(';\nfor (int $i = $tmp; $i < $range_end; $i++) {')
|
||||
p.genln('$var_type $val = $i;')
|
||||
}
|
||||
|
||||
fn (p mut Parser) gen_for_map_header(i, tmp, var_typ, val, typ string) {
|
||||
def := type_default(typ)
|
||||
p.genln('array_string keys_$tmp = map_keys(& $tmp ); ')
|
||||
|
|
|
@ -34,7 +34,6 @@ fn (p mut Parser) gen_fn_decl(f Fn, typ, _str_args string) {
|
|||
}
|
||||
|
||||
fn types_to_c(types []Type, table &Table) string {
|
||||
println('js typ to code ')
|
||||
mut sb := strings.new_builder(10)
|
||||
for t in types {
|
||||
if t.cat != .union_ && t.cat != .struct_ {
|
||||
|
@ -96,6 +95,11 @@ fn (p mut Parser) gen_for_header(i, tmp, var_typ, val string) {
|
|||
p.genln('var $val = $tmp [$i];')
|
||||
}
|
||||
|
||||
fn (p mut Parser) gen_for_range_header(i, range_end, tmp, var_type, val string) {
|
||||
p.genln(';\nfor (var $i = $tmp; $i < $range_end; $i++) {')
|
||||
p.genln('var /*$var_type*/ $val = $i;')
|
||||
}
|
||||
|
||||
fn (p mut Parser) gen_for_str_header(i, tmp, var_typ, val string) {
|
||||
p.genln('for (var $i = 0; $i < $tmp .length; $i ++) {')
|
||||
p.genln('var $val = $tmp[$i];')
|
||||
|
|
|
@ -2983,7 +2983,6 @@ fn (p mut Parser) for_st() {
|
|||
next_tok := p.peek()
|
||||
//debug := p.scanner.file_path.contains('r_draw')
|
||||
p.open_scope()
|
||||
i_type := if p.is_js { 'var' } else { 'int' }
|
||||
if p.tok == .lcbr {
|
||||
// Infinite loop
|
||||
p.gen('while (1) {')
|
||||
|
@ -3147,9 +3146,8 @@ fn (p mut Parser) for_st() {
|
|||
else if is_str {
|
||||
p.gen_for_str_header(i, tmp, var_type, val)
|
||||
}
|
||||
else if is_range && !p.is_js {
|
||||
p.genln(';\nfor ($i_type $i = $tmp; $i < $range_end; $i++) {')
|
||||
p.genln('$var_type $val = $i;')
|
||||
else if is_range {
|
||||
p.gen_for_range_header(i, range_end, tmp, var_type, val)
|
||||
}
|
||||
} else {
|
||||
// `for a < b {`
|
||||
|
|
Loading…
Reference in New Issue