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