cgen: fix enum print (#11218)
parent
2bf1015ae1
commit
881510e7ce
|
@ -92,11 +92,7 @@ fn (mut g Gen) gen_expr_to_string(expr ast.Expr, etype ast.Type) {
|
||||||
} else if sym.kind == .none_ {
|
} else if sym.kind == .none_ {
|
||||||
g.write('_SLIT("<none>")')
|
g.write('_SLIT("<none>")')
|
||||||
} else if sym.kind == .enum_ {
|
} else if sym.kind == .enum_ {
|
||||||
is_var := match expr {
|
if expr !is ast.EnumVal {
|
||||||
ast.SelectorExpr, ast.Ident, ast.CTempVar { true }
|
|
||||||
else { false }
|
|
||||||
}
|
|
||||||
if is_var {
|
|
||||||
str_fn_name := g.gen_str_for_type(typ)
|
str_fn_name := g.gen_str_for_type(typ)
|
||||||
g.write('${str_fn_name}(')
|
g.write('${str_fn_name}(')
|
||||||
g.enum_expr(expr)
|
g.enum_expr(expr)
|
||||||
|
|
|
@ -3,4 +3,6 @@ yellow
|
||||||
green
|
green
|
||||||
green
|
green
|
||||||
interp: green
|
interp: green
|
||||||
interp: green
|
interp: green
|
||||||
|
orange
|
||||||
|
orange
|
|
@ -7,7 +7,7 @@ enum Color {
|
||||||
yellow = 3
|
yellow = 3
|
||||||
}
|
}
|
||||||
|
|
||||||
struct Aaa{
|
struct Aaa {
|
||||||
color Color
|
color Color
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -21,4 +21,6 @@ fn main() {
|
||||||
println(a.color)
|
println(a.color)
|
||||||
println('interp: ${col}')
|
println('interp: ${col}')
|
||||||
println('interp: ${a.color}')
|
println('interp: ${a.color}')
|
||||||
|
println((Color.orange))
|
||||||
|
println([Color.orange, Color.green][0])
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue