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) {
|
fn (g mut Gen) assign_expr(node ast.AssignExpr) {
|
||||||
// g.write('/*assign_expr*/')
|
// g.write('/*assign_expr*/')
|
||||||
mut is_call := false
|
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')
|
g.writeln('); println($tmp); string_free($tmp); //MEM2 $styp')
|
||||||
}
|
}
|
||||||
else if sym.kind == .enum_ {
|
else if sym.kind == .enum_ {
|
||||||
g.write('println(int_str(')
|
g.write('println(tos3("')
|
||||||
g.expr(node.args[0].expr)
|
g.enum_expr(node.args[0].expr)
|
||||||
g.write('))')
|
g.write('"))')
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
// `println(int_str(10))`
|
// `println(int_str(10))`
|
||||||
|
|
Loading…
Reference in New Issue