enum: make .str() print the name instead of the value
							parent
							
								
									97fbc3dd61
								
							
						
					
					
						commit
						561b7a0ea5
					
				|  | @ -1167,6 +1167,17 @@ fn (g mut Gen) typeof_expr(node ast.TypeOf) { | |||
| 	} | ||||
| } | ||||
| 
 | ||||
| fn (g mut Gen) enum_expr(node ast.Expr) { | ||||
| 	match node { | ||||
| 		ast.EnumVal { | ||||
| 			g.write('$it.val.capitalize()') | ||||
| 		} | ||||
| 		else { | ||||
| 			println(term.red('cgen.enum_expr(): bad node ' + typeof(node))) | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| fn (g mut Gen) assign_expr(node ast.AssignExpr) { | ||||
| 	// g.write('/*assign_expr*/')
 | ||||
| 	mut is_call := false | ||||
|  | @ -2395,9 +2406,9 @@ fn (g mut Gen) fn_call(node ast.CallExpr) { | |||
| 			g.writeln('); println($tmp); string_free($tmp); //MEM2 $styp') | ||||
| 		} | ||||
| 		else if sym.kind == .enum_ { | ||||
| 			g.write('println(int_str(') | ||||
| 			g.expr(node.args[0].expr) | ||||
| 			g.write('))') | ||||
| 			g.write('println(tos3("') | ||||
| 			g.enum_expr(node.args[0].expr) | ||||
| 			g.write('"))') | ||||
| 		} | ||||
| 		else { | ||||
| 			// `println(int_str(10))`
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue