Files
bux-lang/examples/enums.bux
T
dimgigov 52608d5601 feat: add enum path expression support in codegen
- Support ekPath in lowerExpr for enum variants (Color::Red → Color_Red)
- Support module paths (Std::Io::PrintLine → Std_Io_PrintLine)
- Add enums.bux example demonstrating enum usage
- Enums now compile and run correctly
2026-05-30 23:11:03 +03:00

35 lines
647 B
Plaintext

// Enums - Enumeration types
extern func Std_Io_PrintLine(s: String);
extern func Std_Io_PrintInt(n: int);
enum Color {
Red,
Green,
Blue
}
func ColorName(c: Color) -> String {
if c == Color::Red {
return "Red";
}
if c == Color::Green {
return "Green";
}
if c == Color::Blue {
return "Blue";
}
return "Unknown";
}
func Main() -> int {
let myColor: Color = Color::Green;
Std_Io_PrintLine("My color is:");
Std_Io_PrintLine(ColorName(myColor));
Std_Io_PrintLine("Color value:");
Std_Io_PrintInt(myColor as int);
Std_Io_PrintLine("");
return 0;
}