cgen: fix array.last()
							parent
							
								
									3e70e5f2f1
								
							
						
					
					
						commit
						013fd5abfe
					
				|  | @ -748,7 +748,9 @@ fn (g mut Gen) expr(node ast.Expr) { | |||
| 			mut receiver_name := typ_sym.name | ||||
| 			if typ_sym.kind == .array && it.name in | ||||
| 			// TODO performance, detect `array` method differently
 | ||||
| 			['repeat', 'sort_with_compare', 'free', 'push_many', 'trim', 'first', 'clone'] { | ||||
| 			['repeat', 'sort_with_compare', 'free', 'push_many', 'trim', | ||||
| 			//
 | ||||
| 			'first', 'last', 'clone'] { | ||||
| 				// && rec_sym.name == 'array' {
 | ||||
| 				// && rec_sym.name == 'array' && receiver_name.starts_with('array') {
 | ||||
| 				// `array_byte_clone` => `array_clone`
 | ||||
|  | @ -1367,10 +1369,10 @@ fn (g mut Gen) const_decl(node ast.ConstDecl) { | |||
| 
 | ||||
| // { user | name: 'new name' }
 | ||||
| fn (g mut Gen) assoc(node ast.Assoc) { | ||||
| 	g.writeln('// assoc') | ||||
| 	if node.typ == 0 { | ||||
| 		return | ||||
| 	} | ||||
| 	g.writeln('// assoc') | ||||
| 	styp := g.typ(node.typ) | ||||
| 	g.writeln('($styp){') | ||||
| 	for i, field in node.fields { | ||||
|  |  | |||
|  | @ -794,6 +794,7 @@ pub fn (p mut Parser) expr(precedence int) ast.Expr { | |||
| 					p.error('unknown variable `$name`') | ||||
| 					return node | ||||
| 				} | ||||
| 				println('assoc var $name typ=$var.typ') | ||||
| 				mut fields := []string | ||||
| 				mut vals := []ast.Expr | ||||
| 				p.check(.pipe) | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue