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